I'm trying to execute a command prompt as administrator by using powershell. (like when you press right click on cmd icon and choose run as administrator). what should I add to the following in order to do so?
& cmd.exe /c $VAR
I'm trying to execute a command prompt as administrator by using powershell. (like when you press right click on cmd icon and choose run as administrator). what should I add to the following in order to do so?
& cmd.exe /c $VAR
Somewhat obscurely, you must use Start-Process
with argument -Verb RunAs
in order to launch an elevated process (a process with administrative privileges) in PowerShell:
# The command to pass to cmd.exe /c
$var = 'echo hello world & pause'
# Start the process asynchronously, in a new window,
# as the current user with elevation (administrative rights).
# Note the need to pass the arguments to cmd.exe as an *array*.
Start-Process -Verb RunAs cmd.exe -Args '/c', $var
Note:
To make the invocation - which invariably executes in a new window - synchronous, add
-Wait
.
Unless the process you're calling from is itself already elevated, you'll get an interactive UAC (User Account Control) prompt.
Start-Process -Verb RunAs
. –
Macadam @Roei Givati - I just solved this one myself for Jenkins, in fact! From a task scheduler set this command below (you get it from the nodes page on your jenkins dashboard), directly with the whole path, and give it the /K for the option in task scheduler. I also set the path as well, to be sure. Then you can use a non-interactive svc account to launch the process as a cmd file:
java -jar agent.jar -jnlpUrl https://jenkins-path/nts4/computer//slave-agent.jnlp -secret f7351fa6d6774765432111b704cfd777931144bb32c42 -workDir "driveletter:path\nts4"
Type this command:
runas /noprofile /user:Administrator cmd
Then enter the Administrator password.
Adminstrator
account, which is typically disabled for security reasons. Otherwise, runas.exe
doesn't support on-demand elevation from a non-elevated process for other accounts. For instance, if your own account does have administrative privileges in principle, but your current shell is not elevated, runas
offers no way launch another process as you with elevation. –
Macadam © 2022 - 2024 — McMap. All rights reserved.