【发布时间】:2015-07-16 15:25:51
【问题描述】:
我正在更新现有的 HTA 应用程序。该页面显示公司中每台机器在过去 3 天内未执行备份(通过 ibm tsm)的记录。我为每条记录制作了一个按钮,当按下该按钮时,应该使用 PSEXEC 执行一个 cscript 进程,该进程在目标机器上运行一个 exe 并传递一个参数。 (dsmc.exe INCREMENTAL) 现在我可以手动打开 cmd 提示符,使用 \Remote cmd 命令创建远程 cmd,然后运行应用程序就好了。但是没有创建远程 cmd 提示符的额外步骤,并尝试
PSEXEC \\RemoteMachine cscript.exe "C:\Program Files\tivoli\tsm\baclient\dsmc.exe" INCREMENTAL
只会导致错误。我知道应该可以远程执行这个程序并仍然传递一个参数,但它只是没有运行。当我使用
创建远程 cmd 提示符时PSEXEC \\RemoteMachine cmd
在我退出远程 cmd 提示符之前,执行脚本中的任何其他行都不会执行。
是否有我不理解的 PSEXEC 的秘密或获取现有 cmd 提示符(我刚刚创建的远程提示符)并将其传递给执行命令的方法?请帮忙
*注意,这不是我第一个使用 PSEXEC 的脚本。我通常使用我的 VBScript 在本地创建一个包含 PSEXEC 脚本的批处理文件,然后执行它。永远无法让 wsshell.run 与 PSEXEC 一起工作。
【问题讨论】:
-
1.
cscript的第一个参数是可执行文件可以吗? 2.通过临时文件psexec \\pc @tmpfile传递命令是否幸运? -
您是否尝试在
PSEXEC命令上使用-d开关,这样它就不会等待退出?另外,您看到的错误是什么? -
wOxxOm - 这对我有用,但不是每个运行该应用程序的人都是域管理员,对他们不起作用。我之前在某些只有管理员才会使用的应用程序上使用过这种方法。
-
langstrom - 如果我没记错的话,这是一个错误代码 12。我会再试一次,但我今天忙于工作,现在无法进入代码。
标签: windows batch-file vbscript cmd tivoli