Start en proces forhøjet fra PowerShell
PowerShell er en avanceret form for kommandoprompt. Det er udvidet med et enormt sæt af klar-til-brug cmdlets og kommer med evnen til at bruge .NET framework/C# i forskellige scenarier. I dag vil jeg vise dig, hvordan du starter en proces, der er forhøjet fra PowerShell-prompten.
Tidligere dækkede jeg, hvordan det samme kan være udført fra en batch-fil. Men med Windows 10 Creators Update vil Microsoft nedtone kommandoprompten og fremme PowerShell overalt. Se disse artikler for reference:
- Windows 10 build 14986 erstatter kommandoprompt med PowerShell overalt
- Tilføj kommandoprompt tilbage til Win+X Menu i Windows 10 Creators Update
- Tilføj kommandoprompt til kontekstmenuen i Windows 10 Creators Update
- Fjern Åbn PowerShell-vinduet her fra kontekstmenuen i Windows 10
Så det er en god idé at lære dette nyttige trick, som kan udføres fra PowerShell-konsollen og spare din tid.
Start en proces forhøjet fra PowerShell
Til denne opgave bruger vi Start-Process cmdlet'en. Den understøtter en antal muligheder
, en af dem er -Verb. Hvis du angiver -Verb som "RunAs", vil den proces, du vil starte, blive åbnet forhøjet.Lad os prøve at starte Notesblok-appen forhøjet.
- Åbn PowerShell.
- Indtast eller copy-paste følgende kommando:
Start-Process "notepad.exe" -Verb RunAs
- En UAC-prompt vises. Bekræft det:
- Notesblok-appen åbnes forhøjet.
Du kan sikre dette ved at bruge Task Manager. Se artiklen: Sådan kontrollerer du, om en proces kører som administrator (forhøjet) i Windows
Bemærk: Hvis du trykker på knappen "Nej" ved UAC-prompten, udskriver PowerShell-konsollen en fejlmeddelelse "Handlingen blev annulleret af brugeren." Dette forventes.
Tip: Du kan køre en app forhøjet ved hjælp af PowerShell direkte uden at åbne dens konsol først. For eksempel kan du oprette en genvej eller skrive følgende kommando i dialogboksen Kør:
powershell.exe -Kommando "Start-Process Notepad.exe -Verb RunAs"
Resultatet bliver det samme. Powershell-vinduet blinker et øjeblik, og derefter åbnes appen forhøjet.
Start en proces forhøjet med argumenter fra PowerShell
Hvis du har brug for at videregive nogle argumenter (også kendt som switches eller parametre) til en proces, som du vil starte forhøjet fra PowerShell, skal du bruge -Argument-kontakten i Start-Process cmdlet'en. Argumentet angivet dér vil blive videregivet til den eksekverbare målfil. Her er modificerede eksempler med Notepad.exe, jeg brugte ovenfor.
Til PowerShell-konsollen skal du bruge følgende kommando:
Start-Process "notepad.exe" -Argument "C:\My Stuff\my file.txt" -Verb RunAs
Indsæt stierne, der har mellemrum i anførselstegn. Hvis du har brug for at sende mere end flere argumenter, skal du adskille dem med kommaer og bruge ArgumentList:
Start-proces "file.exe" -ArgumentList "argument1, argument2, argument3" -Verb RunAs
Inde fra PowerShell kan du bruge følgende kommando:
powershell.exe -Kommando "Start-Process 'Notepad.exe' -Argument 'C:\My Stuff\my file.txt' -Verb RunAs"
Endnu et eksempel:
powershell -Kommando "Start-Process powershell.exe -ArgumentList '-ExecutionPolicy Bypass -NoExit -Command \`"Checkpoint-Computer -Beskrivelse \"RestorePoint1\" -RestorePointType \"MODIFY_SETTINGS\"\`"' -Verb Løb som"
Se artiklen for mere information: Opret et gendannelsespunkt i Windows 10 med PowerShell
Indsæt stierne med mellemrum i enkelte anførselstegn som vist ovenfor.
Det er det.