Politica de execuție PowerShell explicată
Răsfoiți subiectele postărilor
- Ce este PowerShell ExecutionPolicy?
- Politici de execuție disponibile
- ExecutionPolicy Domeniul de aplicare și prioritate
- Cum să obțineți Politica de execuție PowerShell actuală
- Cum să setați PowerShell ExecutionPolicy
- Concluzie
- Alte ghiduri utile
- Resurse și referințe suplimentare
Ce este PowerShell ExecutionPolicy?
ExecutionPolicy din PowerShell este o caracteristică de securitate care controlează modul în care PowerShell încarcă fișierele de configurare și rulează scripturi. Caracteristicile ExecutionPolicy ajută la prevenirea rulării de scripturi rău intenționate de către PowerShell.
Puteți seta Politica de execuție pentru un computer, un utilizator sau o sesiune. The Set-ExecutionPolicy cmdlet-ul poate fi folosit pentru a seta ExecutionPolicy. Comanda PowerShell.exe are, de asemenea, un parametru ExecutionPolicy pe care îl puteți utiliza pentru a seta Powershell ExecutionPolicy.
În acest ghid veți afla despre diferitele tipuri de politici de execuție PowerShell. De asemenea, veți învăța cum să utilizați comenzile Set-ExecutionPolicy și PowerShell.exe -ExecutionPolicy.
cea mai bună notă 4 roms
Politici de execuție disponibile
Această secțiune explică diferitele politici de execuție pe care le puteți seta în PowerShell și ceea ce vă va permite fiecare să faceți.
Restricţionat
- Aceasta este politica de execuție implicită în Windows 8, Server 2012 și versiuni ulterioare.
- Împiedică executarea fișierelor de configurare PowerShell (.ps1xml), a fișierelor script de modul (.psm1) și a profilurilor Windows PowerShell (.ps1)
- Permite comenzi PowerShell individuale, dar refuză scripturile
Toate semnate
Când setați AllSigned ExecutionPolicy, PowerShell:
- Rulează toate scripturile
- Necesită ca înainte ca un script să fie permis să ruleze, acesta trebuie să fie semnat de un editor de încredere. Aceasta include scripturi scrise pe computerul local
- Solicitările de confirmare înainte de a rula un script de la un editor despre care nu ați confirmat că sunt de încredere
- Poate rula coduri semnate, dar rău intenționate
Semnat la distanță
Politică de execuție semnată de la distanță:
- Permite rularea scripturilor
- Necesită ca toate scripturile descărcate de pe Internet să fie semnate digital de un editor pe care l-ați specificat ca fiind de încredere. Aceasta include scripturile primite prin e-mail și platformele de mesagerie instantanee.
- Nu va necesita semnarea digitală a scripturilor scrise pe un computer local
- Poate permite rularea de scripturi rău intenționate din alte surse
Nerestricționat
- Permite executarea scripturilor nealocate
- Vă va avertiza înainte de a executa un script de pe internet
- Risc să ruleze coduri sau scripturi rău intenționate
Bypass
Cu Bypass ExecutionPolicy:
- Niciun script nu este blocat. De asemenea, nu oferă avertismente.
Nedefinit
- Înseamnă că nu este definită nicio Politică de execuție
- Politica de execuție efectivă este restricționată (implicit)
ExecutionPolicy Domeniul de aplicare și prioritate
Puteți aplica Politica de execuție PowerShell pentru:
LocalMcachine : Afectează numai utilizatorii actuali. Aceasta are cea mai mică prioritate
Utilizator curent : Politica de execuție afectează numai utilizatorul curent. Are prioritate LocalMcachine dar are o prioritate mai mica asupra Proces .
Proces : Se aplică numai sesiunii curente. Are cea mai mare prioritate.
Cum să obțineți Politica de execuție PowerShell actuală
Pentru a vedea politica de execuție PowerShell curentă, rulați comanda de mai jos:
|_+_|
Pentru a vedea setul ExecutionPolicy pentru toate domeniile, utilizați această comandă:
|_+_|
De asemenea, puteți obține Politica de execuție în funcție de domeniul de aplicare. Iată câteva exemple de comenzi:
|_+_|Cum să setați PowerShell ExecutionPolicy
După cum am menționat în introducere, puteți seta ExecutionPolicy cu cmdletul Set-ExecutionPolicy. De asemenea, puteți utiliza comanda PowerShell.exe -ExecutionPolicy.
Cum să setați politica de execuție cu Set-ExecutionPolicy
Sintaxa cmdlet-ului Set-ExecutionPolicy este:
how do i use acestream|_+_|
De exemplu, pentru a seta Politica de execuție la Semnat la distanță utilizați comanda de mai jos:
|_+_|Iată rezultatul comenzii.
Comanda a eșuat deoarece nu am deschis PowerShell ca administrator.Iată comanda executată ca administrator:
După cum puteți vedea din imagine, noua Politică de execuție este acum Semnat la distanță .
Din ultimele 2 comenzi, mi s-a cerut să confirm comanda. Pentru a ocoli această solicitare, includeți -Forta parametru.
Comanda se execută acum fără a cere confirmare.
amazon fire tv stream de pe pc
The -Forta parametrul este deosebit de util în scripting. Fără acest parametru, scriptul dumneavoastră se poate opri.În mod implicit, această comandă setează politica de execuție pentru LocalMachine domeniul de aplicare. Pentru a confirma acest lucru, executați comanda de mai jos:
|_+_|
Pentru a seta Politica de execuție să se aplice unui alt domeniu de aplicare, utilizați – Domeniul de aplicare parametru.
Comanda de mai jos stabilește politica de execuție pentru Utilizator curent :
|_+_|
După cum puteți vedea din rezultat, Utilizator curent politica nu mai este Nedefinit . Este acum Bypass , politica stabilită cu ultima comandă.
Cum să setați ExecutionPolicy cu PowerShell.exe -ExecutionPolicy
Dacă doriți să ocoliți Politica de execuție pentru sesiunea conectată, puteți seta Politica de execuție pentru linia de comandă curentă. Acest lucru se realizează folosind comanda PowerShell.exe.
Înainte de a da exemple, iată politica actuală de execuție:
Politica actuală de execuție este Restricţionat . Acest lucru se datorează faptului că Proces domeniul de aplicare are prioritate. Pentru confirmare, vedeți rezultatul de mai jos:
Dacă vă amintiți, Restricţionat politica NU va permite rularea scripturilor.
Aceasta înseamnă că, dacă încerc să rulez un script, mi se va refuza accesul. Imaginea de mai jos prezintă o serie de comenzi și rezultatele acestora. Vezi explicația mea sub imagine.
Prima comandă afișată în imagine este:
|_+_|Am încercat să rulez un script PowerShell. Apoi am primit mesajul de eroare de mai jos:
destinul 2 nu se va lansa
Fișierul C:PSschedule powershell exampleCreate-folders-from-text-file.ps1 nu poate fi încărcat deoarece rularea scripturilor este dezactivată pe acest sistem.
Motivul este că politica actuală de execuție este Restricţionat . Nu permite rularea niciunui script.
Înapoi la imaginea de referință. În următoarea linie, am rulat următoarea comandă:
|_+_|În mod efectiv, pot seta o politică de execuție temporară pentru linia de comandă folosind parametrul -ExecutionPolicy al comenzii thepowershell.exe. Dar am primit același mesaj de eroare. Motivul este că trebuie să setez politica de execuție înainte de a apela scriptul.
Apoi, în linia următoare, am executat această comandă:
|_+_|Aceasta setează politica de execuție pentru sesiunea curentă conectată la Nerestricționat . Deci, când îmi rulez acum scriptul PowerShell, s-a executat cu succes! Vezi imaginea de referință de mai sus.
Rezumatul din ultima analiză este următorul: Puteți seta Powershell ExecutionPolicy pentru sesiunea curentă folosind Powershell.exe -ExecutionPolicy. Dar, mai întâi trebuie să rulați comanda înainte de a vă apela scriptul.Pentru a confirma că Powershell.exe setează doar politica pentru sesiunea curentă, voi rula comanda de mai jos din sesiunea curentă:
|_+_|Rezultatul este Nerestricționat pentru Utilizator curent domeniul de aplicare. Dacă mă deconectez de sesiunea actuală și mă conectez din nou. Se va reveni la politica setată de comanda Set-ExecutionPolicy.
Concluzie
Sper că am reușit să simplific modul de obținere și de setare a politicilor de execuție PowerShell. Dacă aveți întrebări sau comentarii, utilizați formularul Lăsați un răspuns de la sfârșitul paginii.
Alte ghiduri utile
- Operator PowerShell nu este egal: aplicații, exemple
- Powershell For Loop explicat: Sintaxă și exemple


