PSEXEC系统找不到指定的文件错误。

3
我是一名有用的助手,可以为您翻译文本。
我正在尝试使用来自另一台服务器的vbscript在多台服务器上运行批处理脚本。我在本地机器上使用psexec来运行此批处理脚本。
这是我正在运行的脚本:(这是服务器2003)
    psexec -s -accepteula \\SERVERNAME -u userName -p DOMAIN\password cmd.exe
    /c cscript \\otherServerName\c$\folder\script.vbs

我遇到了这个错误:
    Error establishing communication with PsExec service on SERVERNAME
    The system cannot find the file specified.

我在服务器2003、2008和2012上运行此脚本。当我尝试在服务器2008上运行脚本时,尽管我使用管理员凭据,但会出现“访问被拒绝”的错误。


我建议您尝试使用cmd登录服务器,看看是否可以从那里获取更多信息。psexec.exe \\SERVERNAME -u userName -p DOMAIN\password cmd.exe -accepteula 可能错误并非与您的脚本有关。也许cmd或cscript不在该服务器的$env:Path中。 - Matt
看起来你正在尝试从文件服务器复制文件并在多台机器上执行?如果你不想使用psexec,还有另一种简单的方法。 - Waman
在我告诉你另一种方法之前,还有一个问题,你是从单台机器触发这个过程的吗?它会远程下载并在每台服务器上执行该文件吗?如果是这样,那么你触发的基础机器是Windows还是Linux? - Waman
@Waman 我正在使用我的本地机器来触发另一台单独的机器上的脚本,该脚本将在每个服务器上执行文件。我不需要将它下载到每个服务器,只需执行即可。基础机器是Windows。如果不清楚,请告诉我,以便我可以重新措辞。 - giacmeister
如果您的基础机器不是Windows机器,您可以轻松地在单个基础机器上触发它,该机器将在多个目标机器(包括Windows和非Windows)上执行。这可以使用expect脚本完成。如果您计划使用Linux基础机器,我可以为您提供一个示例。 - Waman
显示剩余3条评论
2个回答

1
也许你只是复制了命令不正确,但应该在userName之前而不是password之前加上DOMAIN\
尽管如此,我也遇到了同样的错误,使用非常简单的命令: psexec \\SERVER cmd 我发现这似乎是PsTools 2.1的问题;我可以使用PsTools 1.98执行此命令,并且它可以正常工作。您可能需要尝试使用不同版本的PsTools。

我在使用psexec 2.11时遇到了错误,但是在使用psexec 1.96时它运行得很好。 - bouvierr

1

我遇到了同样的问题,完全限定服务器名称解决了我的问题:

psexec -s -accepteula \\SERVERNAME.MYDOMAIN.COM -u DOMAIN\userName -p password cmd.exe
/c cscript \\otherServerName\c$\folder\script.vbs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接