Szkriptek futtatása és végrehajtási szabályzat beállítása a Windows PowerShellben
Mielőtt megkezdené a Windows PowerShell-szkriptek módosítását vagy saját létrehozását, ismernie kell a Windows PowerShell-szkriptek futtatásának módját. Lehet, hogy tisztában van azzal, hogy duplán kell kattintania egy végrehajtható fájlra, vagy ki kell választania, majd az Entert kell választania a futtatáshoz, de ez a folyamat nem működik a Windows PowerShell-szkriptek esetében.
Sok szkriptnyelv egyik problémája, hogy a szkriptek véletlen futtatása túl egyszerű. A felhasználók véletlenül futtathatnak egy szkriptet úgy, hogy duplán kattintanak rá, vagy kijelölik, majd kiválasztják az Enter billentyűt. Ez a művelet különösen akkor problémás, ha a fájlbővítmény rejtett, és a kártevő e-mail mellékletként szerepel. Egy receipt.txt.vbs nevű csatolt fájl például receipt.txt ként jelenik meg, és a felhasználók véletlenül futtatják, és úgy gondolják, hogy ez egy egyszerű szöveges fájl. Ez a beállítás nem érinti a Windows PowerShell-szkripteket a szkript futtatásához szükséges műveletek miatt.
Integráció Fájlkezelő
A Windows PowerShell-szkriptek biztonságosabbá tétele érdekében a .ps1 fájlkiterjesztés a Jegyzettömbhöz van társítva. Ezért amikor duplán kattint egy .ps1 fájlra, vagy kijelöli azt, majd az Enter billentyűt választja, az megnyílik a Jegyzettömbben. Ez a beállítás azt jelenti, hogy a windowsos PowerShell-szkriptek futtatásával nem lehet becsapni a felhasználókat, ha duplán kattintanak rá, vagy kijelölik, majd kiválasztják az Enter billentyűt.
Ha a jobb gombbal egy Windows PowerShell-szkriptre kattint, vagy aktiválja annak helyi menüjét, három lehetőség közül választhat:
- Nyissa meg. Ez a beállítás megnyitja a szkriptet a Jegyzettömbben.
- Futtassa ezzel a PowerShellt. Ez a beállítás futtatja a szkriptet, de a Windows PowerShell-parancssor nem marad nyitva a szkript befejezésekor.
- Szerkesztés. Ez a beállítás megnyitja a szkriptet a Windows PowerShell ISE-ben.
A legtöbb esetben azt szeretné, hogy a Windows PowerShell-parancssor nyitva maradjon egy szkript futtatásakor. Ehhez futtassa a szkriptet egy már megnyitott Windows PowerShell-parancssorból.
Szkriptek futtatása a PowerShell-parancssorban
Amikor futtat egy végrehajtható fájlt egy parancssorban, megadhatja annak nevét, hogy az aktuális könyvtárban futtassa. Ha például az aktuális könyvtár C:\app, akkor a app.exe-t megadhatja a C:\app\app.exe futtatásához. Ez a folyamat nem használható Windows PowerShell-szkriptek futtatására, mert nem keres az aktuális könyvtárban.
Ha Windows PowerShell-szkriptet szeretne futtatni a Windows PowerShell parancssorában, az alábbi módszereket használhatja:
- Adja meg a szkript teljes elérési útját; például C:\Scripts\MyScript.ps1.
- Adjon meg egy relatív elérési utat a szkripthez; például \Scripts\MyScript.ps1.
- Hivatkozás az aktuális könyvtárra; például .\MyScript.ps1.
A szkript végrehajtási szabályzata
Szabályozhatja, hogy Windows PowerShell-szkriptek futtathatók-e Windows rendszerű számítógépeken. Ezt a feladatot úgy hajthatja végre, hogy beállítja a végrehajtási szabályzatot a számítógépen. A számítógépen az alapértelmezett végrehajtási szabályzat az operációs rendszer verziójától függően változik. Az aktuális konfiguráció biztossága érdekében használhatja a Get-ExecutionPolicy parancsmagot.
A végrehajtási szabályzat beállításai a következők:
- Korlátozott. A szkriptek nem futtathatók.
- AllSigned. A szkriptek csak akkor futtathatók, ha digitálisan vannak aláírva.
- RemoteSigned. A letöltött szkriptek csak digitális aláírással futtathatók.
- Korlátlan. Minden szkript futtatható, de a letöltött aláíratlan szkriptek futtatásakor megjelenik egy megerősítési üzenet.
- Megkerülés. Minden szkript parancssor nélkül fut.
Feljegyzés
A szkriptvégrehajtási szabályzat beállítása olyan biztonsági hálót biztosít, amely megakadályozza a nem megbízható szkriptek véletlen futtatását. A végrehajtási szabályzatot azonban mindig felül lehet bírálni.
A végrehajtási szabályzatot a Set-ExecutionPolicy parancsmaggal állíthatja be a számítógépen. Ezt a beállítást azonban sok számítógépen nehéz kezelni. Amikor sok számítógép végrehajtási házirendjét konfigurálja, a Számítógép-konfiguráció\Házirendek\Felügyeleti sablonok\Windows-összetevők\Windows PowerShell\Parancsprogram végrehajtás engedélyezése csoportházirend-beállítást használhatja a helyi beállítás felülbírálására.
Az egyes Windows PowerShell-példányok végrehajtási szabályzatát felülbírálhatja. Ez a beállítás akkor hasznos, ha a vállalati házirend megköveteli, hogy a végrehajtási szabályzat korlátozottként legyen beállítva, de időnként szkripteket kell futtatnia. A végrehajtási szabályzat felülbírálásához futtassa PowerShell.exe a -ExecutionPolicy paraméterrel.
Powershell.exe -ExecutionPolicy ByPass
Ha módosított egy, az internetről letöltött szkriptet, a szkript továbbra is rendelkezik azokkal az attribútumokkal, amelyek letöltött fájlként azonosítják azt. Ha el szeretné távolítani ezt az állapotot egy szkriptből, használja a Fájlblokk feloldása parancsmagot.