如何从命令行枚举networking计算机?

我在Windows XP上,并希望从命令行枚举我的networking上存在的计算机。 我想枚举它们,以便我可以在另一个命令pslist中使用主机名。 我怀疑我可以使用PowerShell和“networking视图”命令来做到这一点,但不能解决具体问题。

在“净视图”的格式是非常糟糕的parsing,因为它显示的NetBIOS名称,他们可以包含空格。 (为什么任何人实际上使用空间超出了我,虽然…)

如果您确定您的计算机名称没有空格,请执行以下操作:

@echo off for /f "usebackq delims= " %%i in (`net view ^| find "\\"`) do echo %%i 

显然,将一个调用replace为另一个batch file或“echo”命令。

枚举系统有很多种方法。 事实上,我有一个完整的wiki页面专门讨论这一点。

但是一个非常好的方法是使用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