Hogyan engedélyezhető a PowerShell parancsfájlok végrehajtása a Windows 7 rendszeren
Ha letölti a szkriptet az internetről, és megpróbálja futtatni, ha még nem állította be a PowerShell-t, akkor egy csúnya hibát fog dobni a piros betűtípussal. Ez elegendő a legtöbb felhasználó megijesztéséhez, de van egy egyszerű javítás.
A PowerShell számos olyan végrehajtási módot tartalmaz, amelyek meghatározzák, hogy milyen típusú kódot futtathatunk, ezt a HKLM kaptárban működő rendszerleíró kulcs szabályozza. 4 különböző végrehajtási mód van, ezek:
- Korlátozott: Az alapértelmezett végrehajtási irányelv nem futtat parancsfájlokat, csak interaktív parancsokat.
- Minden aláírt: Parancsfájlokat futtat; minden parancsfájlt és konfigurációs fájlt alá kell írnia egy megbízható kiadónak; megnyitja az aláírt (de rosszindulatú) szkriptek futtatásának kockázatát, miután megerősítette, hogy megbízik a kiadón.
- Távoli aláírás: Helyi parancsfájlok aláírás nélkül futnak. Minden letöltött parancsfájlnak digitális aláírást, még UNC elérési utat kell tartalmaznia.
- Korlátlan: Parancsfájlokat futtat; minden olyan kommunikációs alkalmazásból letöltött szkript és konfigurációs fájl, mint a Microsoft Outlook, az Internet Explorer, az Outlook Express és a Windows Messenger fut, miután meggyőződött arról, hogy megérti az internetről származó fájlt; nincs szükség digitális aláírásra; megnyitja az aláírás nélküli, rosszindulatú parancsfájlok ezen alkalmazásokból letöltött kockázatát
A PowerShell alapértelmezett végrehajtási házirendje Korlátozott. Ebben a módban a PowerShell csak interaktív héjként működik. Nem futtat parancsfájlokat, és csak olyan konfigurációs fájlokat tölt be, amelyeket egy megbízható kiadó jelent meg. Ha a csúnya piros hibát kapja, a legvalószínűbb ok az, hogy nem aláírt parancsfájlt futtat. A legbiztonságosabb dolog az, hogy a Végrehajtási irányelvet korlátlanul változtassa meg, futtassa a szkriptet, majd vissza kell állítani a korlátozottra.
Ha azt korlátlanra szeretné változtatni, akkor a következő parancsot kell végrehajtania egy adminisztratív PowerShell-ből:
Set-ExecutionPolicy Korlátlan
Megkérdezi, hogy biztos-e, hogy módosítani szeretné a Végrehajtási irányelvet, majd nyomja meg ismét az Enter gombot.
Most már problémamentesen futtathatja a letöltött parancsfájlokat. Ez azonban komoly biztonsági kockázatot jelent, ha elfelejtette beállítani a Végrehajtási irányelvet a Korlátozott módra. Valószínűleg kitalálod, hogyan állíthatod vissza a Korlátozottnak, de nem:
Set-ExecutionPolicy Korlátozott
Ismét megkérdezi, hogy biztos-e, hogy meg akarja változtatni a végrehajtási módot, menjen előre és nyomja meg az Entert.