Você sabe, para tornar isso REALMENTE útil, adicionei /node:%1
(para obter o IP do computador remoto)
Poupa algum trabalho para os administradores do sistema & administradores de rede vs. ping ou nslookup.
Eu tenho certeza que a outra coisa que eu vou adicionar é 'verificação de erros' para que, se o sistema não estiver disponível, o script possa "registrar essa informação" - como System %1 not available
- e então seguir em frente para pegar o ip do próximo sistema.
Muitas vezes, eu faço um 'bastão' para 'chamar um morcego'
Então, eu criaria um arquivo de lote como "getall.bat" abaixo:
Em seguida, basta executá-lo assim: getall > getall-log.txt 2>&1
(Acima irá enviar todas as informações para um arquivo de texto, incluindo erros encontrados)
getall.bat
rem getall.bat
call getnic.bat workstation1
call getnic.bat workstation2
call getnic.bat server1
call getnic.bat server2
rem end of getall.bat
getnic.bat
rem - getnic.bat
@echo off
setlocal
set varcounter=0
set wmicmd="wmic /node:%1 NICCONFIG WHERE IPEnabled=true GET IPAddress"
for /f "tokens=1 delims={, skip=1" %%a in ('%wmicmd%') do call :SETVAR %%a
endlocal
goto :eof
:SETVAR
set /a varcounter=%varcounter% + 1
if not {%1}=={} (
echo NIC %varcounter% address is {%1}
set NIC%varcounter%=%1
)
goto :eof
rem end of getnic.bat