"PowerShell" turi keletą vykdymo režimų, kurie apibrėžia kokio tipo kodą leidžiama paleisti, tai priklauso nuo registro rakto, kuris gyvena HKLM avilyje. Yra 4 skirtingi vykdymo režimai:
- Ribotas: Numatyta vykdymo politika, neveikia scenarijai, tik interaktyvios komandos.
- Visi pasirašė: Paleidžia scenarijus; visi scenarijai ir konfigūracijos failai turi būti pasirašyti leidėjo, kurį pasitikite; atsiranda rizika, kad bus užfiksuoti pasirašyti (bet kenkėjiški) scenarijai, patvirtinus, kad pasitikite leidėju.
- Nuotolinis parašas: Vietiniai scenarijai veikia be parašo. Bet kokiam atsisiunčiamam scenarijui reikia skaitmeninio parašo, netgi UNC kelio.
- Neribota: Paleidžia scenarijus; visi scenarijai ir konfigūravimo failai, atsisiųsti iš ryšio programų, tokių kaip "Microsoft Outlook", "Internet Explorer", "Outlook Express" ir "Windows Messenger", paleidžiami patvirtinus, kad suprantate failą, kilusią iš interneto; skaitmeninis parašas nereikalingas; atveria jus rizikuoti, kad bus paleisti nepasirašyti, kenkėjiški scenarijai, kurie atsisiunčiami iš šių programų
Numatyta "PowerShell" vykdymo politika yra vadinama "Ribotas". Šiame režime PowerShell veikia tik kaip interaktyvi korpusas. Ji neveikia scenarijus ir įkelia tik konfigūracijos failus, kuriuos pasirašo patikimas leidėjas. Jei gaunate piktinčią raudoną klaidą, labiausiai tikėtina priežastis yra tai, kad bandote paleisti nepasirašytą scenarijų. Saugiausias dalykas yra tai, kad vykdymo politiką keisti neribotą, paleisti scenarijų ir tada pakeisti jį atgal į ribotą.
Jei norite keisti neribotą paleisti šią komandą iš administracinės "PowerShell":
Set-ExecutionPolicy Unrestricted
Jums bus klausiama, ar esate tikri, kad norite pakeisti vykdymo politiką, dar kartą paspauskite mygtuką "Enter".
Set-ExecutionPolicy Restricted
Vėlgi jums bus klausiama, ar esate tikri, kad norite pakeisti vykdymo režimą, eikite į priekį ir paspauskite "Enter".