运行将在每台计算机上运行的命令

时间:2011-05-13 20:00:49

标签: vb.net

我有这个代码,它给了我关于任务,信息等所需的所有信息。我把它全部归入VB程序,我希望能够从一台计算机上运行它并让它返回来自域上的所有计算机。

我很遗憾接下来要添加什么。

      Dim sCommand As String
      'all processes here, ipconfig, java info, etc etc
      sCommand = "java.exe -version2 > C:\Info.txt && ipconfig >> C:\INfo.txt"         
      Shell("cmd.exe /c" & sCommand)

我的脚本会列出域中的所有用户,我可以实现它还是有更简单的方法?

编辑:如果我可以在整个域中搜索也可以使用的特定文件。

目前我只需要将所有数据返回到文本文件中,我并不担心它会被排序,或者像这样的过程需要多长时间。

感谢一堆

1 个答案:

答案 0 :(得分:1)

你可以做两件事之一。

1)您可以使用WMI从远程计算机上获取网络配置并在远程计算机上执行进程。

或者

2)您可以使用PsExec启动远程计算机上的命令并将其输出。我个人不会使用shell来执行命令,因为它真的很差。如果我要在本地启动一个进程,我会使用this,并使用StdOut从shell中获取输出,解析它以提供一些可以使用的东西,而不是管道输出到本地文件,然后再阅读。

修改的 所以你想从一个中心位置做这一切?如果您不想使用PSExec,则必须使用WMI to create a process on a remote machine来运行java.exe,但是您无法重定向输出,您必须通过管道传输文件并读取文件在另一个步骤。