Porniți un proces elevat din PowerShell
PowerShell este o formă avansată de prompt de comandă. Este extins cu un set imens de cmdleturi gata de utilizare și vine cu capacitatea de a utiliza .NET framework/C# în diferite scenarii. Astăzi, vă voi arăta cum să începeți un proces ridicat din promptul PowerShell.
Mai devreme, am explicat cum poate fi același lucru realizat dintr-un fișier batch. Cu toate acestea, cu Windows 10 Creators Update, Microsoft va reduce accentul pe promptul de comandă și va promova PowerShell peste tot. Consultați aceste articole pentru referință:
- Windows 10 build 14986 înlocuiește Command Prompt cu PowerShell peste tot
- Adăugați promptul de comandă înapoi la meniul Win+X în Windows 10 Creators Update
- Adăugați promptul de comandă în meniul contextual în Windows 10 Creators Update
- Eliminați fereastra Open PowerShell aici din meniul contextual în Windows 10
Deci, este o idee bună să învățați acest truc util care poate fi efectuat din consola PowerShell și să vă economisiți timp.
Porniți un proces elevat din PowerShell
Pentru această sarcină, vom folosi cmdletul Start-Process. Susține a număr de opțiuni, una dintre ele este -Verb. Dacă specificați -Verb ca „RunAs”, procesul pe care urmează să-l începeți va fi deschis la nivel ridicat.
Să încercăm să lansăm aplicația Notepad la nivel ridicat.
- Deschideți PowerShell.
- Tastați sau copiați-lipiți următoarea comandă:
Start-Process "notepad.exe" -Verb RunAs
- Va apărea o solicitare UAC. Confirmați:
- Aplicația Notepad va fi deschisă la nivel ridicat.
Puteți asigura acest lucru utilizând Managerul de activități. Vezi articolul: Cum să verificați dacă un proces rulează ca administrator (elevat) în Windows
Notă: Dacă apăsați butonul „Nu” la promptul UAC, consola PowerShell va tipări un mesaj de eroare „Operația a fost anulată de utilizator”. Acest lucru este de așteptat.
Sfat: Puteți rula o aplicație elevată cu ajutorul PowerShell direct, fără a deschide mai întâi consola. De exemplu, puteți crea o comandă rapidă sau puteți tasta următoarea comandă în dialogul Run:
powershell.exe -Comandă „Start-Process Notepad.exe -Verb RunAs”
Rezultatul va fi același. Fereastra Powershell va clipi pentru un moment, apoi aplicația va fi deschisă la nivel ridicat.
Porniți un proces crescut cu argumente din PowerShell
Dacă trebuie să transmiteți unele argumente (cunoscute și sub numele de comutatoare sau parametri) unui proces pe care îl veți porni cu privilegii ridicate din PowerShell, utilizați comutatorul -Argument al cmdlet-ului Start-Process. Argumentul specificat acolo va fi transmis fișierului executabil țintă. Iată exemple modificate cu Notepad.exe pe care l-am folosit mai sus.
Pentru consola PowerShell, utilizați următoarea comandă:
Start-Procesează „notepad.exe” -Argument „C:\Lucrurile mele\fișierul meu.txt” -Verb RunAs
Închideți căile care au spații între ghilimele. Dacă trebuie să treceți mai mult decât mai multe argumente, separați-le cu virgule și utilizați ArgumentList:
Start-Process „file.exe” -ArgumentList „argument1, argument2, argument3” -Verb RunAs
Din PowerShell, puteți utiliza următoarea comandă:
powershell.exe -Comandă „Start-Procesează „Notepad.exe” -Argument „C:\Lucrurile mele\fișierul meu.txt” -Verb RunAs”
Inca un exemplu:
powershell -Comandă "Start-Procesează powershell.exe -ArgumentList '-ExecutionPolicy Bypass -NoExit -Command \`"Checkpoint-Computer -Descriere \"RestorePoint1\" -RestorePointType \"MODIFY_SETTINGS\"\`"' -Verb RunAs"
Consultați articolul pentru mai multe informații: Creați un punct de restaurare în Windows 10 cu PowerShell
Închideți căile cu spații între ghilimele simple, așa cum se arată mai sus.
Asta e.