PowerShell ExecutionPolicy magyarázata

2020. szeptember 15 2424 Nézetek powershell végrehajtási politika

Böngésszen a bejegyzések témái között





Mi az a PowerShell ExecutionPolicy?

Az ExecutionPolicy a PowerShellben egy biztonsági funkció, amely szabályozza, hogy a PowerShell hogyan töltse be a konfigurációs fájlokat és futtassa a parancsfájlokat. Az ExecutionPolicy szolgáltatásai segítenek megakadályozni, hogy a PowerShell rosszindulatú parancsfájlokat futtasson.



Beállíthatja a végrehajtási házirendet számítógéphez, felhasználóhoz vagy munkamenethez. A Set-ExecutionPolicy A parancsmag használható az ExecutionPolicy beállítására. A PowerShell.exe parancsnak van egy ExecutionPolicy paramétere is, amellyel beállíthatja a Powershell ExecutionPolicy-t.

Ebben az útmutatóban megismerheti a PowerShell végrehajtási szabályzatok különböző típusait. Azt is megtanulja, hogyan kell használni a Set-ExecutionPolicy és a PowerShell.exe -ExecutionPolicy parancsokat.



Rendelkezésre álló végrehajtási szabályzatok

Ez a szakasz ismerteti a PowerShellben beállítható különféle végrehajtási politikákat, és azt, hogy mindegyik mit tesz lehetővé.



Korlátozott

  • Ez az alapértelmezett végrehajtási házirend a Windows 8, Server 2012 és újabb rendszerekben.
  • Megakadályozza a PowerShell konfigurációs fájlok (.ps1xml), a modul szkriptfájlok (.psm1) és a Windows PowerShell-profilok (.ps1) végrehajtását
  • Engedélyezi az egyes PowerShell-parancsokat, de letiltja a parancsfájlokat

AllSigned

Az AllSigned ExecutionPolicy beállításakor a PowerShell:

  • Minden szkriptet futtat
  • Megköveteli, hogy a szkript futtatásának engedélyezése előtt alá kell írnia egy megbízható kiadónak. Ez magában foglalja a helyi számítógépen írt szkripteket is
  • Megerősítést kér egy olyan kiadótól származó szkript futtatása előtt, amelyet nem erősített meg, hogy megbízható-e
  • Aláírt, de rosszindulatú kódokat futtathat

Távoli aláírt

Távoli aláírt végrehajtási szabályzat:



  • Lehetővé teszi a szkriptek futtatását
  • Megköveteli, hogy az internetről letöltött összes szkriptet digitálisan alá kell írnia egy megbízhatóként megadott kiadónak. Ez magában foglalja az e-mailben és azonnali üzenetküldő platformokon kapott szkripteket.
  • Nem szükséges a helyi számítógépen írt szkriptek digitális aláírása
  • Lehetővé teheti más forrásokból származó rosszindulatú szkriptek futtatását

Korlátlan

  • Lehetővé teszi a hozzá nem rendelt szkriptek végrehajtását
  • Figyelmeztet, mielőtt végrehajt egy szkriptet az internetről
  • Kártékony kódok vagy szkriptek futtatásának kockázata

Kitérő

Az Execution Policy megkerülésével:



  • Nincs letiltott szkript. Nem ad figyelmeztetést is.

Meghatározatlan

  • Azt jelenti, hogy nincs ExecutionPolicy meghatározva
  • A hatályos végrehajtási politika korlátozott (alapértelmezett)

A végrehajtási politika hatálya és elsőbbsége

A PowerShell végrehajtási szabályzatot a következőkre alkalmazhatja:

LocalMcachine : Csak az aktuális felhasználókat érinti. Ennek van a legkevesebb elsőbbsége

Jelenlegi felhasználó : A végrehajtási házirend csak az aktuális felhasználót érinti. Elsőbbséget élvez LocalMcachine de alacsonyabb prioritása van Folyamat .

Folyamat : Csak az aktuális munkamenetre vonatkozik. A legmagasabb elsőbbséget élvezi.

A jelenlegi PowerShell végrehajtási szabályzat beszerzése

A jelenlegi PowerShell ExecutionPolicy megtekintéséhez futtassa az alábbi parancsot:

|_+_| Végrehajtási házirend beállítása a Set-ExecutionPolicy segítségével

Az összes hatókör ExecutionPolicy-készletének megtekintéséhez használja ezt a parancsot:

pattogatott kukorica idő nézése a chromecaston
|_+_| Végrehajtási házirend beállítása a Set-ExecutionPolicy segítségével

A végrehajtási szabályzatot is beszerezheti a hatókör alapján. Íme néhány példa parancs:

|_+_|

A PowerShell ExecutionPolicy beállítása

Ahogy a bevezetőben említettem, az ExecutionPolicy-t a Set-ExecutionPolicy parancsmaggal állíthatja be. Használhatja a PowerShell.exe -ExecutionPolicy parancsot is.

Végrehajtási házirend beállítása a Set-ExecutionPolicy segítségével

A Set-ExecutionPolicy parancsmag szintaxisa a következő:

|_+_|

Példaként a Végrehajtási szabályzat beállításához Távoli aláírt használja az alábbi parancsot:

|_+_|

Íme a parancs eredménye.

fallout 4 fov beállítás
Végrehajtási házirend beállítása a Set-ExecutionPolicy segítségévelA parancs nem sikerült, mert nem nyitottam meg a PowerShellt rendszergazdaként.

Itt van a rendszergazdaként végrehajtott parancs:

Végrehajtási házirend beállítása a PowerShell.exe -ExecutionPolicy segítségével

Amint a képen látható, az új Végrehajtási Szabályzat most Távoli aláírt .

Az utolsó 2 parancsból a parancs megerősítésére kértek. A felszólítás megkerüléséhez adja meg a -Kényszerítés paraméter.

A parancs most megerősítés kérése nélkül végrehajtódik.

A -Kényszerítés paraméter különösen hasznos a szkriptelésnél. E paraméter nélkül a szkript leállhat.

Alapértelmezés szerint ez a parancs végrehajtási szabályzatot állít be a következőhöz LocalMachine hatálya. Ennek megerősítéséhez futtassa az alábbi parancsot:

|_+_|

Ha be szeretné állítani, hogy a végrehajtási szabályzat egy másik hatókörre vonatkozzon, használja a - Hatály paraméter.

Az alábbi parancs a végrehajtási szabályzatot állítja be Jelenlegi felhasználó :

|_+_|

Amint az eredményből látható, Jelenlegi felhasználó politika már nem Meghatározatlan . Most van Kitérő , az utolsó paranccsal beállított házirend.

Az ExecutionPolicy beállítása a PowerShell.exe -ExecutionPolicy segítségével

Ha meg kívánja kerülni a végrehajtási házirendet a bejelentkezett munkamenethez, beállíthatja a végrehajtási házirendet az aktuális parancssorban. Ez a PowerShell.exe paranccsal érhető el.

Mielőtt példákat mondanék, íme a jelenlegi végrehajtási szabályzat:

A jelenlegi végrehajtási politika az Korlátozott . Ez azért van, mert a Folyamat hatálya élvez elsőbbséget. A megerősítéshez tekintse meg az alábbi eredményt:

Ha eszedbe jut, Korlátozott szabályzat NEM engedi meg a szkriptek futtatását.

Ez azt jelenti, hogy ha megpróbálok futtatni egy szkriptet, megtagadják a hozzáférést. Az alábbi kép egy sor parancsot és azok eredményeit mutatja. Lásd a magyarázatomat a kép alatt.

avast az összes lemezt használva

A képen látható első parancs a következő:

|_+_|

Megpróbáltam futtatni egy PowerShell-szkriptet. Aztán az alábbi hibaüzenetet kaptam:

A C:PSschedule powershell exampleCreate-folders-from-text-file.ps1 fájl nem tölthető be, mert a szkriptek futtatása le van tiltva ezen a rendszeren.

Ennek az az oka, hogy a jelenlegi végrehajtási politika az Korlátozott . Nem engedi meg semmilyen szkript futtatását.

Vissza a referencia képhez. A következő sorban a következő parancsot futtattam:

|_+_|

Hatékonyan ideiglenes végrehajtási szabályzatot tudok beállítani a parancssorhoz a thepowershell.exe parancs -ExecutionPolicy paraméterével. De ugyanazt a hibaüzenetet kaptam. Ennek az az oka, hogy be kell állítanom a végrehajtási szabályzatot, mielőtt meghívnám a szkriptet.

Aztán a következő sorban végrehajtottam ezt a parancsot:

|_+_|

Ez beállítja az aktuális bejelentkezett munkamenet végrehajtási szabályzatát Korlátlan . Tehát amikor most futtatom a PowerShell-szkriptemet, sikeresen lefutott! Lásd a fenti referenciaképet.

A legutolsó elemzésből ez a következő: A Powershell ExecutionPolicy-t beállíthatja az aktuális munkamenethez a Powershell.exe -ExecutionPolicy segítségével. De a parancsfájl meghívása előtt először le kell futtatnia a parancsot.

Annak megerősítésére, hogy a Powershell.exe csak az aktuális munkamenethez állít be házirendet, az alábbi parancsot futtatom az aktuális munkamenetből:

|_+_|

Az eredmény az Korlátlan a Jelenlegi felhasználó hatálya. Ha kijelentkezem az aktuális munkamenetemből és újra bejelentkezek. Visszaáll a Set-ExecutionPolicy paranccsal beállított házirendhez.

Következtetés

Remélem, sikerült leegyszerűsítenem a PowerShell végrehajtási szabályzatok beszerzését és beállítását. Ha bármilyen kérdése vagy észrevétele van, használja a Válaszoljon űrlapot az oldal végén.

Egyéb hasznos útmutatók

  • PowerShell Not Equal Operator: Alkalmazások, példák
  • Powershell for Loop magyarázata: Szintaxis és példák

További források és referenciák