问题
There is an exe (D:\TestFile.exe) in remote pc(SYSDES208). When run, it just creates a text file with some text. It works fine when run manually.
I'm trying to execute this from another PC this way, in command prompt.
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.
There is no error and also no text file created.
The credentials passed in the command are of the remote PC's.
UPDATE: Thought of using a batch file instead, to run the exe. So, I created a batch file with this code and placed it in the remote pc (D:\Test.bat):
start /d "D:\" TestFile.exe
Here are the commands run from the local 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
As seen in the message, the batch file is executed but the exe is not. What am i missing here
回答1:
My network admins would use Powershell for this. Not sure if you are restricted to only CMD.
invoke-command -computername SYSDES208 -scriptblock { D:\TestFile.exe }
If you are using a domain account or have the exact same account on the remote machine you shouldn't need to enter credentials as powershell will use the cred of the local user.
回答2:
you need to add credential as well to run that exe.(Pass the credential in PSEXEC command) Make sure that your account also has the write and modify permission at the location at which file is being generated
来源:https://stackoverflow.com/questions/32353566/how-to-run-exe-on-remote-pc-using-psexec