Microsoft a integrat Windows PowerShell ca consolă de administrare implicită în sistemele de operare de acasă (Windows 10) și corporate (Windows Server) pentru a efectua sute de sarcini într-un mod simplu, sigur și complet funcțional.
Acum, printre sarcinile pe care le putem executa cu Windows PowerShell se află executarea de scripturi care au sarcina de a automatiza sarcinile de rutină sau de a executa una în special facilitând acțiunile administrative și, deși acest lucru este ceva cu adevărat util, poate avea anumite riscuri, deoarece un script cu conținutul rău intenționat poate afecta diferite componente ale sistemului, cum ar fi registrele sau serviciile sale, creând un impact negativ asupra performanței și funcționării acestuia.
Din acest motiv, Microsoft oferă diverse opțiuni pe care, în calitate de utilizatori, le putem selecta pentru executarea scripturilor, de la activarea tuturor, indiferent de sursa lor (nimic recomandat), până la restricționarea tuturor.
1. Vizualizați politicile de execuție Windows PowerShell
Microsoft ne oferă o serie de directive de execuție Windows PowerShell în tot ceea ce privește scripturile, care sunt.
RestricționatEste regula implicită și odată cu aceasta este permisă executarea comenzilor individuale, dar nu vor fi executate scripturi, în plus față de aceasta, împiedică executarea tuturor fișierelor script, inclusiv a fișierelor de configurare și format (.ps1xml), a modulului fișiere script (.psm1) și profiluri Windows PowerShell (.ps1).
Alocat (numai semnături)Cu acest tip de directive se pot executa scripturi, pentru aceasta este necesar ca toate scripturile și fișierele de configurare să fie semnate de un editor de încredere, inclusiv scripturile care sunt scrise pe computerul local, este necesară o confirmare suplimentară înainte de a executa scripturile editorilor neclasificați care sunt sau nu au încredere.
TelecomandatAceastă directivă permite executarea scripturilor, pentru aceasta necesită o semnătură digitală de la un editor de încredere în scripturile și fișierele de configurare care sunt descărcate de pe Internet (inclusiv programele de e-mail și mesagerie instantanee), nu necesită semnături digitale în scripturile care au au fost scrise pe computerul local, adică nu au fost descărcate de pe Internet și puteți rula scripturi care sunt descărcate de pe Internet și nu sunt semnate, dacă sunt deblocate, de exemplu folosind cmdletul Deblocare-Fișier.
NelimitatAceastă directivă ne oferă posibilitatea de a rula scripturi nesemnate, ceea ce reprezintă un risc ridicat de securitate și avertizează utilizatorul înainte de a executa fișiere de configurare și scripturi descărcate de pe Internet pentru a adăuga securitate.
OcolireCu această directivă, nimic nu este blocat și nu vor fi afișate nici avertismente și nici mesaje de securitate, această directivă de execuție a fost concepută pentru configurații în care un script Windows PowerShell este integrat într-o aplicație mai mare sau în configurații în care Windows PowerShell este baza unui program care are propriul model de securitate.
NedefinitAceastă opțiune indică faptul că nu există o politică de execuție setată în domeniul de aplicare curent, deci dacă politica de execuție din toate domeniile este Nedefinită, politica de execuție automată va fi restricționată, care este politica de execuție implicită în Windows 10.
Pentru a vedea toate directivele Windows PowerShell putem executa următoarele. Acum vom vedea cum să stabilim o nouă directivă pentru a executa corect un script în Windows PowerShell.
Get-ExecutionPolicy -List
MARI
2. Rulați scriptul cu comanda ExecutionPolicy Windows PowerShell
Pasul 1
Pentru a utiliza această opțiune avem două opțiuni pentru a rula în Windows PowerShell ca administratori, care sunt:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned Set-ExecutionPolicy RemoteSigned -ForcePasul 2
Odată ce oricare dintre aceste linii au fost executate putem valida rezultatul folosind următorul cmdlet:
Get-ExecutionPolicy -List
MARI
3. Rulați scriptul în Windows PowerShell cu Registry Editor
Pasul 1
Pentru această metodă se recomandă să creați o copie de rezervă a fișierelor sau să creați un punct de restaurare în caz de eșec, atunci vom folosi următoarele chei și vom executa următoarele:
+ R
RegeditPasul 2
În fereastra care va fi afișată mergem la următorul traseu.
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ PowerShell \ 1 \ ShellIds \ Microsoft.PowerShellPasul 3
Acolo vom face clic dreapta pe „Microsoft.PowerShell” și vom selecta opțiunea „New / String value”:
Pasul 4
Această nouă valoare se va numi „ExecutionPolicy”:
MARI
Pasul 5
Vom face dublu clic pe această valoare și în câmpul „Informații despre valoare” introducem „RemoteSigned”:
Pasul 6
Faceți clic pe Accept și vom vedea că se aplică această directivă:
MARI
4. Rulați scriptul în Windows PowerShell cu politica de grup
Pasul 1
Această opțiune este disponibilă pentru edițiile Pro și Enterprise ale Windows 10 și pentru a le accesa vom folosi următoarele taste și vom executa următoarele:
+ R
gpedit.mscPasul 2
Când apăsați Enter, va fi afișată următoarea fereastră și acolo vom merge la următorul traseu:
- Configurarea echipamentului
- Șabloane administrative
- Componente Windows
- Windows PowerShell
Pasul 2
Acolo selectăm și deschidem politica numită „Activează executarea scripturilor”:
MARI
Pasul 3
În fereastra afișată activăm caseta „Enabled” și în câmpul „Directive de execuție” putem selecta oricare dintre următoarele opțiuni. Odată ce directiva este definită, faceți clic pe Aplicare și OK pentru a salva modificările.
- Permiteți numai scripturi semnate
- Permiteți scripturi locale și scripturi semnate la distanță
- Permiteți toate scripturile
Cu oricare dintre aceste metode va fi posibil să se utilizeze corect scripturile în mediile Windows.