3

我想运行一个名为“systemInfo.vbs”的脚本,它将系统名称和服务包输出到日志文件。

在命令提示符下,我正在执行“PsExec.exe \REMOTECOMPUTER -c systemInfo.vbs”。

我从本地系统上只有 PsExec.exe 和 systemInfo.vbs 的目录运行它

我得到错误

PsExec 无法在 REMOTESERVER 上启动 systemInfo.vbs:“系统找不到指定的文件。

知道为什么会这样吗?我想我可以这样做来运行远程脚本,就好像它在远程服务器上一样?

4

2 回答 2

3

您需要在远程 pc 上或通过您的 pc 或网络驱动器上的共享上的 UNC 路径提供脚本的路径。因此,如果脚本在远程 c:\

PsExec.exe \\REMOTECOMPUTER -c c:\systemInfo.vbs

或者如果它在共享 \\mypc\shared

PsExec.exe \\REMOTECOMPUTER -c \\mypc\shared\systemInfo.vbs

此外,您需要确保您在启动脚本的 pc 上具有管理员权限,并且取决于您的脚本在远程 pc 上可能执行的操作。

于 2012-07-17T15:13:49.387 回答
0

对于将来可能遇到这种情况的任何人,该-c标志确实允许您复制文件以执行;文档没有指定,但是您需要使用本地计算机上的路径跟随它到要复制和执行的二进制文件。(我已经向文档提交了拉取请求。)

例如,这可用于将“Blend for Visual Studio SDK for .NET”添加到 Visual Studio 2017 Professional 的远程安装中,方法是将 Web 安装程序vs_professional.exe\\TargetMachine名为仅当您使用域而不是本地用户时),并使用适当的参数执行它。

D:\PSTools\PsExec64.exe "\\TargetMachine" -u "DOMAIN\user" -p "pass" -h -c "D:\deploy\vs_professional.exe" vs_professional.exe modify --installPath "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional" --add Microsoft.Component.Blend.SDK.WPF --passive

另一个人为的例子:

PsExec64.exe \\Target -u user -p password -h -c "filetoremoteexec.exe" filetoremoteexec.exe --flag param1 param2
于 2018-01-11T16:30:21.963 回答