如何使用psexec在远程计算机上运行exe文件

15

在远程计算机(SYSDES208)中有一个exe文件(D:\TestFile.exe),运行该文件会创建一个包含一些文本的文本文件。当手动运行时,它能正常工作。
我正在尝试从另一台计算机以命令提示符方式执行此操作。

D:\PsTools>cmdkey.exe /add:SYSDES208 /user:admin /pass:admin123
//Message - CMDKEY: Credential added successfully

D:\PsTools>psexec \\SYSDES208 D:\TestFile.exe
//Message - D:\TestFile.exe exited on SYSDES208 with error code 0.

没有错误,也没有创建文本文件。

命令中传递的凭据是远程计算机的凭据。

更新: 想使用批处理文件来运行exe。因此,我创建了一个包含以下代码的批处理文件,并将其放置在远程计算机上(D:\Test.bat):

start /d "D:\" TestFile.exe

以下是从本地PC运行的命令:

D:\PsTools>cmdkey.exe /add:SYSDES208 /user:admin /pass:admin123
//Message - CMDKEY: Credential added successfully

D:\PsTools>psexec \\SYSDES208 D:\Test.bat
//Message - c:\windows\system32>start /d "D:\" TestFile.exe
            D:\Test.bat exited on SYSDES208 with error code 0

正如消息中所见,批处理文件已被执行,但exe文件未被执行。我在这里缺少什么?

2个回答

1

我的网络管理员会使用Powershell来完成这个任务。不确定您是否只能使用CMD。

invoke-command -computername SYSDES208 -scriptblock { D:\TestFile.exe }

如果您正在使用域帐户或在远程计算机上有完全相同的帐户,则不需要输入凭据,因为powershell将使用本地用户的凭据。


0

你需要添加凭证才能运行该exe。(在PSEXEC命令中传递凭证)确保您的帐户在生成文件的位置上也具有写入和修改权限


第一个命令中传递的凭据是远程计算机的。当我对第二个命令执行相同操作时,它会显示“登录失败,未知用户名或密码错误”。 - sukesh
请确保您的帐户具有在该文件夹中编写和修改文件的权限。 - amit dayama
我修改了TestFile.exe。现在它只是打开记事本。但是甚至这也没有发生。这是否需要权限?我不确定如何检查。 - sukesh

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