2014-03-12 44 views
0

我正在使用vbscript在遠程系統上運行exe。首先我連接到遠程系統。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的地方創建文件。任何幫助?

回答

1

你可以嘗試輸出重定向到一個UNC路徑:

Set net = CreateObject("WScript.Network") 

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

份額必須存在於本地計算機上並運行遠程進程的用戶必須被授予寫入權限。

雖然未經測試,所以我不確定它會起作用。

相關問題