Use nbtstat para retornar a lista de nomes de host no intervalo de IPs?

1

No Windows 7, estou usando o comando for /l %i in (1,1,254) do nbtstat -a xxx.xxx.xxx.%i para retornar nomes de host com base em um determinado intervalo de IPs. Mas a saída é tão longa e hostil. Como eu poderia melhorar isso para retornar uma lista que se parece mais com uma planilha como:

IP address Host name MAC address xxx.xxx.xxx.1 host-name-01 xx-xx-xx-xx-xx-x1 xxx.xxx.xxx.2 host-name-02 xx-xx-xx-xx-xx-x2 xxx.xxx.xxx.3 host-name-03 xx-xx-xx-xx-xx-x3 ?

Já vi comandos que têm algo como | list xxx no final, mas não estou familiarizado com essa sintaxe específica.

    
por adhoclobster 11.12.2014 / 19:19

1 resposta

0

Pode ser necessário alterar "UNIQUE" para o equivalente local na saída.

@echo off
set PREFIX=127.0.0
setlocal enabledelayedexpansion

for /l %%i in (1,1,254) do ( 
nbtstat -a %PREFIX%.%%i > %TEMP%\info.txt 
for /F "tokens=4" %%a in ('findstr "MAC" %TEMP%\info.txt') do set MAC=%%a
for /F "tokens=1" %%a in ('findstr /R /C:"<00>  UNIQUE " %TEMP%\info.txt' ) do set HOSTNAME=%%a
echo %PREFIX%.%%i;%MAC%;%HOSTNAME%
)
    
por 11.12.2014 / 23:17