2015-05-11 110 views
-1

我一直在使用PSExec.exe在幾百個遠程虛擬機上運行vbscript。這通常工作。然而,在一小羣VM的,我得到這個錯誤:遠程調用VBScript失敗,但在本地運行時工作

MyScriptName.vbs(24, 5) WScript.CreateObject: Could not create object named "ADODB.Connection"

這裏是代碼在VBScript文件出錯行:

Set oConn = WScript.CreateObject("ADODB.Connection") 

我曾經嘗試這樣做(64位CSCRIPT.EXE):

PsExec.exe \\RemoteVMName -c -h -u MyDomain\MyWinLogin -p MyPwd cscript.exe "\\UncPath\To\My\Script.vbs" 

我想這(對於32位的Cscript.exe):

PsExec.exe \\RemoteVMName -c -h -u MyDomain\MyWinLogin -p MyPwd C:\Windows\SysWOW64\cscript.exe "\\UncPath\To\My\Script.vbs" 

奇怪的是,如果我登錄到遠程虛擬機,我可以手動運行vbscript文件。它成功,沒有腳本錯誤。什麼可能導致該VBScript錯誤?

+0

爲什麼你認爲你的第一行將運行64位cscript。我的Psexec是32位的,所以對'system32'的引用將被重定向到'SysWoW64'。使用'C:\ Windows \ SysNative'在32位程序中引用System32。 –

回答

0

您應該包含cmd.exe /c用於在psexec上執行包含cscript的vbs文件。

只要帳戶可以訪問該UNC路徑,就不需要複製腳本文件。

PsExec.exe \\RemoteVMName -e -h -u MyDomain\MyWinLogin -p MyPwd cmd.exe /c cscript.exe "\\UncPath\To\My\Script.vbs" 
相關問題