Starta en process förhöjd från PowerShell
PowerShell är en avancerad form av kommandotolk. Den är utökad med en enorm uppsättning färdiga cmdlets och kommer med möjligheten att använda .NET framework/C# i olika scenarier. Idag kommer jag att visa dig hur du startar en process förhöjd från PowerShell-prompten.
Tidigare har jag diskuterat hur samma kan vara gjort från en batchfil. Men med Windows 10 Creators Update kommer Microsoft att tona ner kommandotolken och marknadsföra PowerShell överallt. Se dessa artiklar för referens:
- Windows 10 build 14986 ersätter kommandotolken med PowerShell överallt
- Lägg till kommandotolken tillbaka till Win+X Menu i Windows 10 Creators Update
- Lägg till kommandotolken till snabbmenyn i Windows 10 Creators Update
- Ta bort Open PowerShell-fönstret här från kontextmenyn i Windows 10
Så det är en bra idé att lära sig detta användbara trick som kan utföras från PowerShell-konsolen och spara tid.
Starta en process förhöjd från PowerShell
För den här uppgiften kommer vi att använda Start-Process cmdleten. Den stöder en
antal alternativ, en av dem är -Verb. Om du anger -Verb som "RunAs", kommer processen du ska starta att öppnas förhöjt.Låt oss försöka starta Notepad-appen förhöjd.
- Öppna PowerShell.
- Skriv eller kopiera och klistra in följande kommando:
Start-Process "notepad.exe" -Verb RunAs
- En UAC-prompt visas. Bekräfta det:
- Anteckningar-appen kommer att öppnas upphöjd.
Du kan säkerställa detta med hjälp av Aktivitetshanteraren. Se artikeln: Hur man kontrollerar om en process körs som administratör (förhöjd) i Windows
Obs: Om du trycker på "Nej"-knappen vid UAC-prompten kommer PowerShell-konsolen att skriva ut ett felmeddelande "Åtgärden avbröts av användaren.". Detta förväntas.
Tips: Du kan köra en app förhöjd med hjälp av PowerShell direkt utan att öppna dess konsol först. Du kan till exempel skapa en genväg eller skriva följande kommando i dialogrutan Kör:
powershell.exe -Kommando "Start-Process Notepad.exe -Verb RunAs"
Resultatet blir detsamma. Powershell-fönstret blinkar ett ögonblick och sedan öppnas appen upphöjd.
Starta en process förhöjd med argument från PowerShell
Om du behöver skicka några argument (även kända som switchar eller parametrar) till en process som du ska starta upphöjt från PowerShell, använd -Argument-omkopplaren i Start-Process-cmdleten. Argument som anges där kommer att skickas till den körbara målfilen. Här är modifierade exempel med Notepad.exe som jag använde ovan.
För PowerShell-konsolen, använd följande kommando:
Start-process "notepad.exe" -Argument "C:\My Stuff\my file.txt" -Verb RunAs
Bifoga banorna som har mellanslag inom citattecken. Om du behöver skicka mer än fler argument, separera dem med kommatecken och använd ArgumentList:
Starta process "file.exe" -ArgumentList "argument1, argument2, argument3" -Verb RunAs
Inifrån PowerShell kan du använda följande kommando:
powershell.exe -Kommando "Start-Process 'Notepad.exe' -Argument 'C:\My Stuff\my file.txt' -Verb RunAs"
Ännu ett exempel:
powershell -Kommando "Start-Process powershell.exe -ArgumentList '-ExecutionPolicy Bypass -NoExit -Command \`"Checkpoint-Computer -Beskrivning \"RestorePoint1\" -RestorePointType \"MODIFY_SETTINGS\"\`"' -Verb Spring som"
Se artikeln för mer information: Skapa en återställningspunkt i Windows 10 med PowerShell
Bifoga banorna med mellanslag i enkla citattecken som visas ovan.
Det är allt.