0

我正在使用 vbscript 在远程系统上运行 exe。首先我连接到远程系统。

Set objSWbemServices = objSWbemLocator.ConnectServer _
    (strComputer, "root\cimv2", _
    strUser, strPassword)

然后我在远程系统上创建一个进程。

Set Process = objSWbemServices.Get("Win32_Process")
result = Process.Create("cmd /C ""cd " & somedir & " && " & "Collector.exe -v", , , intProcessID)

现在这段代码工作正常。但是,exe 在控制台上提供了一些输出,我想将其重定向到本地系统上的文件

我尝试了以下选项

result = Process.Create("cmd &1>abc.txt /C ""cd " & somedir & " && " & "Collector.exe -v", , , intProcessID)

虽然上述选项根本不起作用,

或者

result = Process.Create("cmd /C ""cd " & somedir & " && " & "Collector.exe -v > abc.txt", , , intProcessID)

此代码在远程系统中创建了该文件。但是,我希望在运行 vbscript 的本地系统中创建文件。有什么帮助吗??

4

1 回答 1

1

您可以尝试将输出重定向到 UNC 路径:

Set net = CreateObject("WScript.Network")

result = Process.Create("cmd /C ""cd " & somedir & " && " _
         & "Collector.exe -v > \\" & net.ComputerName & "\share\abc.txt" _
         , , , intProcessID)

共享必须存在于本地计算机上,并且运行远程进程的用户必须被授予对它的写访问权。

不过,未经测试,所以我不确定它是否会起作用。

于 2014-03-12T09:42:46.273 回答