Batch file: Drop elevated privileges (run a command as original user)
batch-file, elevated-privileges
Solution
You can run a command with restricted privileges with:
runas /trustlevel:0x20000 "YourCommandHere"
You should provide the absolute path to your command including any arguments in double quotes as an argument to `runas`.
If you would like to run more than one command with restricted privileges, you can put them in a separate batch file and run it with:
runas /trustlevel:0x20000 "cmd /C PathToYourBatchFile"
Anyway, this will open a new console with restricted privileges. You also have to use this syntax whenever you wish to run with restricted privileges an internal command (like `copy`, `del`, etc.) as these are provided by the command line interpreter and do not have an associated path.
Note that `0x20000` is the trust level of standard users. You can list other available trust levels by running
runas /showtrustlevels
Problem
I have a batch file that starts with elevated privileges (my installer spawns it), but at a certain point I need to run a command as the original user who started my installer (i.e. drop from the elevated privileges). Is it possible to do so?