Cum se permite executarea scripturilor PowerShell pe Windows 7
Când descărcați un script de pe Internet și încercați să îl rulați, dacă nu ați configurat anterior PowerShell, acesta va arunca o eroare urâtă în fontul roșu. Acest lucru este suficient pentru a sparge majoritatea utilizatorilor off, dar există o rezolvare ușoară.
PowerShell are un număr de moduri de execuție care definesc ce tip de cod este permis să ruleze, aceasta este guvernată de o cheie de registru care trăiește în unitatea HKLM. Există 4 moduri de execuție diferite, acestea fiind:
- restricționat: Politica de execuție implicită nu rulează numai scripturi, comenzi interactive.
- Toți semnat: Rulează scripturi; toate script-urile și fișierele de configurare trebuie să fie semnate de un editor în care aveți încredere; vă deschide riscul de a rula scripturi semnate (dar rău intenționate), după ce ați confirmat că aveți încredere în editor.
- La distanță semnată: Scripturile locale rulează fără semnătură. Orice scenarii descărcate au nevoie de o semnătură digitală, chiar și de o cale UNC.
- nerestricţionat: Rulează scripturi; toate scripturile și fișierele de configurare descărcate din aplicații de comunicații precum Microsoft Outlook, Internet Explorer, Outlook Express și Windows Messenger se execută după ce confirmați că ați înțeles fișierul provenit de pe Internet; nu este necesară semnarea digitală; vă deschide riscul de a rula scripturi nesemnate, malware descărcate din aceste aplicații
Politica implicită de executare a PowerShell se numește Restricționat. În acest mod, PowerShell funcționează numai ca o coajă interactivă. Nu rulează scripturi și încarcă numai fișiere de configurare semnate de un editor în care aveți încredere. Dacă obțineți eroarea roșie urâtă, cea mai probabilă cauză este că încercați să rulați un script nesemnat. Cel mai sigur lucru pe care trebuie să-l faceți este să modificați politica de execuție la liber, să rulați scriptul și apoi schimbați-l înapoi la restricționat.
Pentru a le schimba în mod nelimitat, executați următoarea comandă de la un PowerShell administrativ:
Set-ExecutionPolicy Nerestricționat
Veți fi întrebat dacă sunteți sigur (ă) că doriți să schimbați politica de execuție, iar din nou tastați butonul Enter.
Acum puteți rula scripturile descărcate fără nici o problemă. Cu toate acestea, este un risc serios de securitate dacă uitați să setați Politica de Execuție înapoi în modul Restricționat. Probabil ați putea ghici cum să-l puneți înapoi la Restricted, dar incase nu:
Set-ExecutionPolicy Restricted
Din nou, vi se va cere dacă sunteți sigur că doriți să schimbați modul de execuție, mergeți mai departe și apăsați Enter.