psexec -d选项会破坏vbscripts

时间:2014-02-13 20:04:20

标签: vbscript psexec

出于某种原因,当我使用带有-d选项的PSEXEC时,我的脚本将开始执行,然后在远程计算机上失败。如果我不使用-d选项,脚本将在远程计算机上正确执行。此外,如果我在远程计算机上手动启动脚本,它将正确执行。

psexec正在从一个vbscript启动,而psexec的实例在远程机器上启动了另一个vbscript。这是我的启动字符串:

returnError = runCommandLine(psexecPath & " \\" & machine & " -d -u " & username & " -p " & password & " cscript \\servername\DHCPEnabler$\DHCPEnabler.vbs" & " /machineip:" & machine)

使用-d选项时,脚本DHCPEnabler.vbs会在远程计算机上执行但在运行中途失败

这是我的DHCPEnabler.vbs脚本http://www.pastebin.ca/2640148 似乎失败的地方就在附近

errdns = myshell.run("netsh interface ip set dns " & chr(34) & wmiItem.NetConnectionID & chr(34) & " dhcp" , 0, true)
errwins = myshell.run("netsh interface ip set wins " & chr(34) & wmiItem.NetConnectionID & chr(34) & " dhcp" , 0, true)
errdhcp = myshell.run("netsh interface ip set address " & chr(34) & wmiItem.NetConnectionID & chr(34) & " dhcp" , 0, true)

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

我会尝试将%COMSPEC%/ C添加到命令行的开头。像这样:

returnError = runCommandLine(psexecPath & " \\" & machine & " -d -u " &_
              username & " -p " & password &_
              " %COMSPEC% /C cscript \\servername\DHCPEnabler$\DHCPEnabler.vbs" &_
              " /machineip:" & machine)