I am trying to run a batch file (to install some software) on a remote computer. To do this, I am using PSExec.

psexec.exe \\COMPUTER C:\swsetup\install.bat

This works fine, apart from some of the installs fail due to the script not running as an administrator (if I log on, right-click and select "Run as Administrator" the script runs and installs successfully.

I have tried running as administrator with the /runas command, with no luck

psexec.exe \\computer cmd

and then

runas /user:computer\administrator C:\swsetup\install.bat

The system flicks up with "Enter password for account" and then jumps back to the cmd prompt without letting me type the password in. The same issue happens if I try and do

runas /user:myaccount@domain.int C:\swsetup\install.bat

Is there a way around this, or am I going to have to visit the machine, log on, and then run the script on each machine?

  • Is the \install.bat located on the remote pc? Jul 11, 2014 at 14:14
  • @IvanViktorovic, yes. It was copied to the C:\swsetup folder on the remote machine.
    – tombull89
    Jul 11, 2014 at 14:19
  • 2
    Try entering a remote PowerShell session instead? Enter-PSSession COMPUTER -Credential (Get-Credential)
    – rtf
    Jul 11, 2014 at 14:33

2 Answers 2


Create a task schedule on remote computer that runs the batch file you want at highest privilege on demand. You might be able to add new task to remote computer with schtasks /Create /? (search add task schedule to remote computer)
create a shortcut to run task
run shortcut with psexec.exe

I use this method to bypass UAC when running select programs as admin. I created a new task scheduler folder "bypass UAC" and inside it new task "installer".

General tab: check "run with highest privilege".
Action tab:start a program yourbatchfile
Conditions tab: uncheck power restrictions and check wake computer if you have wake timers enabled and want to wake the computer to run the task.
Settings tab:check "allow task to be run on command"

For the shortcut use pattern: C:\Windows\System32\schtasks.exe /RUN /TN "foldername\taskname"

so for example "bypass UAC\installer"

If my instructions are confusing, search "bypass UAC with task scheduler"

  • Is it possible to make it generic? like %1?
    – barlop
    Jul 6, 2015 at 8:38
  • yes, i think so if you make a batch file and before schtasks.exe /RUN ... you do schtasks.exe /change /tr %1 /TN "foldername\taskname". and remember you can run schtasks on remote computers by specifying /S system /U user /P password
    – Siavash
    Jul 15, 2015 at 20:58

Have you tried adding the PSExec password switch with the account name you're running the batch with?

 -p         Specifies optional password for user name. If you omit this
            you will be prompted to enter a hidden password.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.