Я использую Windows XP и хочу перечислить компьютеры, которые существуют в моей сети, из командной строки. Я хотел бы перечислить их так, чтобы я мог использовать имена хостов в другой команде, pslist. Я подозреваю, что могу использовать PowerShell и команду net view для этого, но не могу сгладить детали.
Форматирование в "сетевом представлении" довольно дрянно для синтаксического анализа, поскольку оно отображает имена NetBIOS, и они жестяная банка содержать пробелы. (Почему кто-то на самом деле использует пробелы, я не понимаю ...)
Если вы уверены, что в именах ваших компьютеров нет пробелов, сделайте:
@echo off
for /f "usebackq delims= " %%i in (`net view ^| find "\\"`) do echo %%i
Очевидно, заменить "эхо" вызовом другого командного файла или командой.
Есть много способов перечислить системы; на самом деле у меня есть целое страница вики посвящен именно этому.
Но есть один неплохой способ nbtscan, что даст вам следующий список:
C:\> nbtscan 192.168.1.0/24
192.168.1.3 MTNDEW\WINDEV SHARING DC
192.168.1.5 MTNDEW\TESTING
192.168.1.9 MTNDEW\WIZ SHARING U=STEVE
192.168.1.99 MTNDEW\XPDEV SHARING