Назад | Перейти на главную страницу

Как перечислить сетевые компьютеры из командной строки?

Я использую 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