Szkriptek futtatása és végrehajtási szabályzat beállítása a Windows PowerShellben

Befejezett

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.