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 de ajuns pentru a sperie majoritatea utilizatorilor, 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:
Politica de executare implicită 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ă primiț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ă schimbați politica de execuție la liber, să rulați scriptul și apoi schimbați-l înapoi la restricționat.
Pentru a o 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ă vreți să schimbați Politica de Executare prin apăsarea din nou a butonului enter.
Acum puteți rula scripturile descărcate fără probleme. 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 retrimiteți la Restricted, dar incase nu puteți:
Set-ExecutionPolicy Restricted
Din nou, veți fi întrebat dacă sunteți sigur (ă) că doriți să schimbați modul de execuție, mergeți mai departe și apăsați Enter.