PowerShellil on mitu täitmisrežiimi, mis määravad, millist tüüpi koodi on lubatud käitada, seda reguleerib HKLM-i tüve elune registrivõti. Seal on 4 erinevat täitmisrežiimi:
- Piiratud: Vaikimisi täitmise poliitika, ei käivitu ainult skripte, vaid interaktiivseid käske.
- Kõik on allkirjastatud: Käivitab skripte; kõik skriptid ja konfiguratsioonifailid peavad allkirjastama väljaandja, keda te usaldate; avab teid allkirjastatud (kuid pahatahtlike) skriptide käitamise ohu pärast seda, kui olete kindel, et usaldate kirjastajat.
- Remote Signed: Kohalikud skriptid töötavad ilma allkirjaga. Kõik allalaaditud skriptid vajavad digitaalallkirja, isegi UNC-tee.
- Piiranguteta: Käivitab skripte; kõik skriptid ja konfiguratsioonifailid, mis on alla laaditud siderakendustest, nagu näiteks Microsoft Outlook, Internet Explorer, Outlook Express ja Windows Messenger, töötavad pärast seda, kui olete veendunud, et mõistate Internetist pärinevat faili; digitaalallkirja ei nõuta; avab teid riski, et käitatakse nende rakenduste allalaaditud allkirjastatud, pahatahtlikke skripte
PowerShelli vaikimisi täitmise poliitikat nimetatakse piiratud. Selles režiimis töötab PowerShell ainult interaktiivse shellina. See ei käivitu skripte ega laadib ainult usaldusväärse kirjastaja allkirjastatud konfiguratsioonifaile. Kui saate pahaks punase vea, on kõige tõenäolisem põhjus, et proovite käivitada allkirjastatud skripti. Kõige turvalisem asi on muuta täitmispoliitikat piiramatuks, käivitage oma skript ja seejärel muuda see tagasi piiratud.
Selle muutmiseks piiramatult käivitage administraatoril PowerShell järgmine käsk:
Set-ExecutionPolicy Unrestricted
Teilt küsitakse, kas olete kindel, et soovite muuta täitmise eeskirja, uuesti sisestusnuppu.
Set-ExecutionPolicy Restricted
Veelkord teilt küsitakse, kas olete kindel, et soovite muuta täitmisrežiimi, jätkake ja vajutage sisestusklahvi.