我正在使用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。任何帮助?
答案 0 :(得分:1)
您可以尝试将输出重定向到UNC路径:
Set net = CreateObject("WScript.Network")
result = Process.Create("cmd /C ""cd " & somedir & " && " _
& "Collector.exe -v > \\" & net.ComputerName & "\share\abc.txt" _
, , , intProcessID)
共享必须存在于本地计算机上,并且必须授予运行远程进程的用户对其的写访问权。
但是,未经测试,所以我不确定它是否会起作用。