2011-05-13 100 views

回答

0

您可以使用VBScript中的LDAP查询从域中获取计算机对象列表,然后使用For Each遍历计算机列表,然后依次在每台计算机上执行dir/s命令,从命令中读取输出并解析结果以查看是否获得了命中。

它不会很漂亮,但它会工作。

编辑 它会使用当时正在运行可执行文件的凭据。使用WinNT是可以的,但是如果你想正确地做到这一点,可以使用DirectoryServices(我知道它是C#,但你可以从那里得到漂移,并且可以使用this来转换)命名空间。

一旦你有你的计算机列表,你需要遍历它们并运行你的命令/进程对每台计算机。

+0

我使用WinNT来获取计算机的列表是否没有问题?我不知道如何去做我的输出和搜索远程计算机?我不需要通过凭证检查吗? – sealz 2011-05-19 16:48:58

+0

你在做什么? VB.Net? – 2011-05-19 16:53:21

+0

在Visual Studio 2010中是的 – sealz 2011-05-19 16:55:36

0

一个简单的方法是获取一个计算机列表,然后使用UNC路径和管理共享([driveletter] $)访问它们。您必须从所有计算机上具有管理访问权限的帐户执行此操作。

\\computer01\c$\windows

这将使你COMPUTER01 Windows文件夹。把它放在for-each循环中,然后像平常一样进行搜索。

也取决于您正在查看的计算机的数量和网络条件,如果您生成了几个工作线程,则可能会加快速度。

相关问题