Windows – Run a batch file on a remote computer as administrator

batch filescriptwindows 7

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 / 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?

Best Answer

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"