如何使用psexec在远程PC上运行exe

时间:2015-09-02 12:45:48

标签: command-prompt psexec

远程PC(SYSDES208)中有一个exe(D:\ TestFile.exe)。运行时,它只是创建一个带有一些文本的文本文件。手动运行时效果很好 我试图在命令提示符下以这种方式从另一台PC执行此操作。

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.

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

命令中传递的凭据属于远程PC的。

更新 想到使用批处理文件,运行exe。因此,我使用此代码创建了一个批处理文件并将其放在远程PC中(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 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

我的网络管理员将为此使用Powershell。不知道是否只限于CMD。

调用命令-计算机名SYSDES208 -scriptblock {D:\ TestFile.exe}

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