远程调用VBScript失败,但在本地运行时可以正常工作

时间:2015-05-11 17:37:51

标签: vbscript ado psexec

我一直在使用 PSExec.exe 在几百个远程虚拟机上运行 vbscript 。这通常有效。但是,在一小组VM上,我收到了这个错误:

  

MyScriptName.vbs(24,5)WScript.CreateObject:无法创建对象   命名为“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"

奇怪的是,如果我登录远程VM,我可以手动运行vbscript文件。它成功,没有脚本错误。什么可能导致vbscript错误?

1 个答案:

答案 0 :(得分:0)

您应该包含cmd.exe /c来执行带有 cscript 的vbs文件而不是psexec。

只要帐户可以访问该UNC路径,您就不需要复制脚本文件。

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