Aqui está um arquivo em lotes para você:
@echo off
rem Loop thru list of computer names specified on command-line
for /f %%i in (%1) do call :check_machine %%i
goto end
:check_machine
rem Check to see if machine is up.
ping -n 2 %1 >NUL 2>NUL
if errorlevel 1 goto down
rem Reverse-lookup machine name and report
for /f "usebackq tokens=2" %%d in ('ping -n 1 -a %1 ^| find "Pinging"') do echo %1:Up:%%d
goto end
:down
rem Report machine down
echo %1:Down
:end
Passe um arquivo de texto com uma lista de nomes de computador nele e ele vai PING-los (2 tenta-- você pode aumentar isso, aumentando o número após "-n" na primeira linha de comando PING), e se obtiver uma resposta, execute uma pesquisa inversa do nome. Ele retorna resultados como:
computer-name-1:Up:name-it-resolved-to
computer-name-2:Down
computer-name-3:Up:name-it-resolved-to
...
Para executar múltiplos em paralelo, basta criar vários arquivos de texto com diferentes listas de nomes de máquinas e iniciar algumas cópias em paralelo.
Rápido e sujo economiza o dia.