Spusťte proces Elevated z PowerShellu
PowerShell je pokročilá forma příkazového řádku. Je rozšířena o obrovskou sadu rutin připravených k použití a přichází s možností používat .NET framework/C# v různých scénářích. Dnes vám ukážu, jak spustit proces zvýšený z výzvy PowerShellu.
Dříve jsem popsal, jak totéž může být provedené z dávkového souboru. S aktualizací Windows 10 Creators Update se však Microsoft chystá snížit důraz na příkazový řádek a všude propagovat PowerShell. Pro referenci viz tyto články:
- Windows 10 sestavení 14986 všude nahrazuje příkazový řádek prostředím PowerShell
- Přidejte příkazový řádek zpět do nabídky Win+X v aktualizaci Windows 10 Creators Update
- Přidejte příkazový řádek do kontextové nabídky v aktualizaci Windows 10 Creators Update
- Odebrat Otevřít okno PowerShell zde z kontextové nabídky ve Windows 10
Je tedy dobré se naučit tento užitečný trik, který lze provádět z konzole PowerShell a ušetřit tak váš čas.
Spusťte proces Elevated z PowerShellu
Pro tento úkol použijeme rutinu Start-Process. Podporuje a počet možností
, jedním z nich je -Sloves. Pokud zadáte -Verb jako "RunAs", proces, který se chystáte spustit, se otevře se zvýšeným oprávněním.Zkusme spustit aplikaci Poznámkový blok zvýšenou.
- Otevřete PowerShell.
- Zadejte nebo zkopírujte a vložte následující příkaz:
Start-Process "notepad.exe" -Verb RunAs
- Zobrazí se výzva UAC. Potvrď to:
- Aplikace Poznámkový blok se otevře s vyšší úrovní.
Můžete to zajistit pomocí Správce úloh. Viz článek: Jak zkontrolovat, zda proces běží jako správce (zvýšený) ve Windows
Poznámka: Pokud na výzvu UAC stisknete tlačítko "Ne", konzola PowerShell vytiskne chybovou zprávu "Operace byla zrušena uživatelem.". To se očekává.
Tip: Aplikaci povýšenou pomocí PowerShellu můžete spustit přímo, aniž byste museli nejprve otevřít její konzolu. Můžete například vytvořit zástupce nebo zadat následující příkaz v dialogovém okně Spustit:
powershell.exe -Příkaz "Start-Process Notepad.exe -Verb RunAs"
Výsledek bude stejný. Okno Powershell na chvíli zabliká a poté se aplikace otevře s vyvýšenou pozicí.
Spusťte proces Elevated s argumenty z PowerShellu
Pokud potřebujete předat některé argumenty (známé také jako přepínače nebo parametry) procesu, který se chystáte spustit, zvýšené z prostředí PowerShell, použijte přepínač -Argument v rutině Start-Process. Zadaný argument bude předán do cílového spustitelného souboru. Zde jsou upravené příklady s Notepad.exe, které jsem použil výše.
Pro konzolu PowerShell použijte následující příkaz:
Start-Process "notepad.exe" -Argument "C:\My Stuff\můj soubor.txt" -Slovo RunAs
Cesty s mezerami uzavřete do uvozovek. Pokud potřebujete předat více než více argumentů, oddělte je čárkami a použijte ArgumentList:
Start-Process "file.exe" -ArgumentList "argument1, argument2, argument3" -Verb RunAs
V prostředí PowerShell můžete použít následující příkaz:
powershell.exe -Příkaz "Start-Process 'Notepad.exe' -Argument 'C:\My Stuff\my file.txt' -Sloves RunAs"
Ještě další příklad:
powershell -Command "Start-Process powershell.exe -ArgumentList '-ExecutionPolicy Bypass -NoExit -Command \`"Checkpoint-Computer -Description \"RestorePoint1\" -RestorePointType \"MODIFY_SETTINGS\"\`"' -Sloves Utíkat jako"
Další informace naleznete v článku: Vytvořte bod obnovení ve Windows 10 pomocí PowerShellu
Uzavřete cesty mezerami v jednoduchých uvozovkách, jak je znázorněno výše.
A je to.