Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 570
  • Last Modified:

Another question about PSExec

Hi another question,

I am trying to use PSEcec to copy files from a Remote Server to a Remote PC (client pc).  I'm running PSExec from my local machine here in St. John's, NL and the remote Server and remote Desktop pc is located hundreds of miles away in Calgary, Alberta.  All i want to do is initiate a copy command from here to the remote site.  Here's the syntax that i'm using:

psexec.exe -d \\gwcg-iqware "c:\windows\system32\cmd.exe copy c:\test.txt c:\test2.txt"

I've tried it with the above command using double quotes around the command to be executed on the remote server and i've also tried it without the double quotes.  The output or return values displayed in my dos window says that the command successfully started with process ID 4268 for example....but the copy didn't happen.  When i log onto the server and check the C:\ drive, there's still only 1 test.txt file - but there should now be 2 files: a test.txt and a test2.txt.

Also, to test that psexec is working or able to connect to that server, i tried the following command to simply start command prompt on the remote server and it worked fine.  I can see the process start in Task Manager....here's the syntax that i used for that (which did work)

psexec.exe -d \\gwcg-iqware "cmd.exe"

I thought you could pass parameters to the cmd.exe call to tell it to copy for example when it runs.  Like you see several lines up.  And finally i've tried creating a .bat file on the remote server that contains the copy command.  I use the following command for that:

psexec.exe -d \\gwcg-iqware "c:\test.bat"

Again i get a return code saying that the batch file executed successfully, but when i check the server there's no new file created like there should be and there's no new process starting in taskmgr either like i see when i tried the cmd.exe call above.  

Any help would be greatly appreciated.


Am I using the proper syntax?
1 Solution
All you are doing in the line

psexec.exe -d \\gwcg-iqware "c:\windows\system32\cmd.exe copy c:\test.txt c:\test2.txt"

is getting your remote pc gwcg-iqware to copy c:\test.txt c:\test2.txt. Psexec only executes the line you feed it on a remote computer so effectivly you are running this command on the remote pc.

copy c:\test.txt c:\test2.txt

which only copies one file to another file on the same disk.

You need to copy those files from your remote client to your remote server, this means that the remote client will have to have access to a share on the remote server or access to the admin$ account. Also for thinkgs like this try using Robocopy, it comes with the windows resouce kit.

Assuming you have a share on the server accessable by the client the commabnd would be something like this

psexec.exe -d \\client_hostname "c:\windows\system32\cmd.exe copy c:\test.txt \\server_hostname\shared_folder\test2.txt"

Assuming the client has a access to the Admin$ account on the server the commabnd would be something like this

psexec.exe -d \\client_hostname "c:\windows\system32\cmd.exe copy c:\test.txt \\server_hostname\c$\test2.txt"

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now