Ha olyan PowerShell szkriptet próbál futtatni, amelyet nem a Trusted Publisher írt alá, a következő biztonsági hiba jelenhet meg.
<A PowerShell szkript fájl> nincs digitálisan aláírva. Nem futtathatja
ezt a szkriptet az aktuális rendszeren. A parancsfájlok futtatásával és a végrehajtási házirend beállításával kapcsolatos további információkért lásd
az_FuttatásiHázirendekrőlhttp://go.microsoft.com/fwlink/?LinkID=135170 alatt.
Hogyan oldható meg a PowerShell script nem digitálisan aláírt hiba?
A probléma megoldására van néhány megoldás. Aláírhatja a futtatni kívánt PowerShell-szkriptet, módosíthatja a végrehajtási házirendet, megkerülheti a házirendet vagy feloldhatja a fájl blokkolását, hogy az adott munkamenetben egyszer futtatható legyen.
Futtatási házirend ellenőrzése
A végrehajtási házirend lekérdezéséhez futtathatja a Get-ExecutionPolicy cmdletet.
A -list paramétert is hozzáadhatja, hogy minden hatókörre megkapja a végrehajtási házirendet.
A végrehajtási házirend végleges megváltoztatása
A legegyszerűbb, de nem biztonságos módszer a hibaüzenet megszüntetésére az ExecutionPolicy módosítása a Set-ExecutionPolicy cmdlet segítségével, és a végrehajtási házirend korlátlanra állítása.
Set-ExecutionPolicy -ExecutionPolicy unrestricted
A végrehajtási házirend ideiglenes megváltoztatása
A végrehajtási házirend ideiglenes megváltoztatásához használhatja a Set-ExecutionPolicy cmdletet ByPass beállítással.
Set-ExecutionPolicy -ExecutionPolicy ByPass
A következőkben részletezzük a -ExecutionPolicy paraméter elfogadható értékeit:
- Korlátozott. Nem tölti be a konfigurációs fájlokat és nem futtat szkripteket. A Restricted az alapértelmezett végrehajtási házirend.
- AllSigned. Megköveteli, hogy minden parancsfájlt és konfigurációs fájlt megbízható kiadó írjon alá, beleértve a helyi számítógépen írt parancsfájlokat is.
- RemoteSigned. Megköveteli, hogy az internetről letöltött összes parancsfájlt és konfigurációs fájlt megbízható kiadó írja alá.
- Unrestricted. Betölti az összes konfigurációs fájlt és futtatja az összes szkriptet. Ha az internetről letöltött, alá nem írt szkriptet futtat, a rendszer engedélyt kér a futtatás előtt.
- Bypass. Semmi sincs blokkolva, és nincsenek figyelmeztetések vagy felszólítások.
- Meghatározatlan. Eltávolítja az aktuálisan hozzárendelt végrehajtási házirendet az aktuális hatókörből. Ez a paraméter nem távolítja el a csoportházirend hatókörében beállított végrehajtási házirendeket.
A Set-ExecutionPolicy parancs alapértelmezett hatókörét a LocalMachine. A -Scope paraméter hozzáadásával azt is megadhatja, hogy a házirend melyik hatókörben kerüljön beállításra. Az alábbiakban részletezzük a beállítható hatóköröket:
- Process:
- CurrentUser: A végrehajtási házirend csak az aktuális felhasználóra vonatkozik.
- LocalMachine: A végrehajtási házirend a számítógép összes felhasználóját érinti.
A végrehajtási házirend eltávolításához egy adott hatókörből, állítsa a hatókör végrehajtási házirendjét az Undefined értékre.