远程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不是。我在这里缺少什么
答案 0 :(得分:0)
您还需要添加凭据以运行该exe。(在PSEXEC命令中传递凭据)确保您的帐户在生成文件的位置也具有写入和修改权限
答案 1 :(得分:0)
我的网络管理员将为此使用Powershell。不知道是否只限于CMD。
调用命令-计算机名SYSDES208 -scriptblock {D:\ TestFile.exe}
如果您正在使用域帐户,或者在远程计算机上具有完全相同的帐户,则不需要输入凭据,因为powershell将使用本地用户的凭据。