Így hozhatja ki a legtöbbet a Windows PowerShellből a parancsfájl-végrehajtási házirend engedélyezésével.

Az iPowerShell alapértelmezés szerint lehetővé teszi a parancsok (parancsmagok) futtatását a konzolon keresztül. Egy szkript végrehajtásához létrehozhat egy jegyzettömbfájlt a szkriptkóddal, elmentheti .ps1 fájlkiterjesztéssel, és végrehajthatja a PowerShell-konzolon keresztül. A szkriptet közvetlenül a konzolra is beillesztheti végrehajtás céljából.

Ha azonban először hajt végre egy szkriptet a PowerShell segítségével, akkor a „futó szkript le van tiltva” hibaüzenetet fog kapni. Alapértelmezés szerint a parancsfájl-végrehajtás a PowerShellben le van tiltva biztonsági intézkedésként, amely megakadályozza a rosszindulatú szkriptek futtatását a rendszeren. Itt bemutatjuk a szkript végrehajtási szabályzatának engedélyezésének két módját a Windows PowerShell rendszeren.

Meglévő végrehajtási szabályzat ellenőrzése

Használhat PowerShell-parancsmagot az aktuális végrehajtási házirend lekéréséhez. A jelenlegi végrehajtási szabályzat ismerete szükséges ahhoz, hogy megtudja, szüksége van-e az irányelv módosítására vagy sem.

instagram viewer

Az aktuális felhasználóhoz tartozó jelenlegi végrehajtási szabályzat lekérése:

  1. Nyissa meg a Windows PowerShellt rendszergazdaként.
  2. Írja be a következő parancsot a PowerShell-konzolba, és nyomja meg az Enter billentyűt:
    kap-végrehajtási politika
  3. Mivel hibát észlelt a szkript végrehajtásakor, a visszatérés valószínűleg megjelenik Korlátozott mint a jelenlegi végrehajtási szabályzata.
  4. Ha meg kell tekintenie az összes támogatott hatókör végrehajtási szabályzatát:
    kap-végrehajtási politika -lista

Módosítania kell a végrehajtási házirendet RemoteSigned-re, hogy a helyi szkriptek hiba nélkül futhassanak. A végrehajtási házirendet a Beállítások alkalmazásban és a PowerShellben módosíthatja.

A PowerShell végrehajtási házirend engedélyezése a Beállítások alkalmazás segítségével

Módosíthatja és beállíthatja a PowerShell végrehajtási házirendjét Távoli aláírt értékre a Beállítások alkalmazás segítségével. Mindössze annyit kell tennie, hogy módosítsa a PowerShell-beállításokat a fejlesztők részben, hogy módosítsa a végrehajtási házirendet, hogy engedélyezze a PowerShell-szkript végrehajtását.

A végrehajtási szabályzat módosítása a Beállítások segítségével:

  1. nyomja meg Win + I megnyitni Settings.
  2. Nyissa meg a Adatvédelem és biztonság fület a bal oldali ablaktáblában.
  3. Ezután kattintson a gombra A fejlesztőknek.
  4. Kattintson a kibontásához PowerShell szakasz.
  5. Kapcsolja a kapcsolót állásba módosítsa a végrehajtási házirendet, hogy lehetővé tegye a helyi PowerShell-szkriptek aláírás nélküli futtatását - Aláírás megkövetelése távoli szkriptekhez.
  6. Ha kész, nyissa meg a PowerShellt, és írja be a get végrehajtási politika, és nyomja meg Belép. Az aktuális felhasználó végrehajtási házirendje most a következőre van állítva Távoli aláírt.
  7. Ha le kell tiltania a végrehajtási házirendet, kapcsolja át a PowerShell kapcsolót, és állítsa állásba Ki.

A szkriptek futtatásának engedélyezése a PowerShellben a PowerShell használatával

Használhatja a PowerShell-parancsmag hogy a végrehajtási házirendet RemoteSigned értékre állítsa. A parancssori felület megkönnyíti a végrehajtási szabályzat gyors megváltoztatását a Beállítások alkalmazás használata nélkül.

Ezenkívül a Beállítások alkalmazás csak a RemoteSigned végrehajtási házirendet tudja engedélyezni vagy letiltani. Míg a PowerShell lehetővé teszi más házirendek és hatókörök beállítását is.

A végrehajtási szabályzat PowerShell használatával történő módosítása:

  1. Nyissa meg a PowerShellt rendszergazdaként.
  2. A PowerShell ablakban írja be a következő parancsot, és nyomja meg a gombot Belép:
    Készlet-ExecutionPolicy RemoteSigned
  3. Ha a rendszer kéri, nyomja meg a gombot A a művelet megerősítéséhez. Ez beállítja a Távoli aláírt végrehajtási szabályzat minden felhasználó számára. Ha be szeretné állítani a végrehajtási szabályzatot a Jelenlegi felhasználó csak használja a Scope paramétert, majd a felhasználónevet.
  4. Például a Távoli aláírt végrehajtási szabályzata Jelenlegi felhasználó, használja a következő parancsot:
    Készlet-ExecutionPolicy RemoteSgined -Hatály Jelenlegi felhasználó
  5. Cserélje ki Jelenlegi felhasználó a fenti parancsban más felhasználókkal (Scope) az Ön igényei szerint.

A parancsfájl-végrehajtási házirend eltávolítása a PowerShell használatával

Ha le szeretné tiltani a parancsfájl végrehajtását, állítsa a végrehajtási házirendet értékre Határozatlan segítségével the Set_ExecutionPolicy cmdlet. Ez egy alapértelmezett állapot, és megakadályozza, hogy a PowerShell szkripteket hajtson végre.

A szkript végrehajtásának letiltása PowerShell használatával:

  1. Nyissa meg a PowerShellt emelt szintű engedéllyel.
  2. Ezután írja be a következő parancsot, és nyomja meg az Enter billentyűt a szkript végrehajtásának letiltásához az összes felhasználó számára:
    Készlet- Végrehajtási politika határozatlan
  3. A fenti parancs beállítja az alapértelmezett végrehajtási házirendet (undefined) az összes felhasználó számára. Ha egy adott hatókörhöz szeretné letiltani a szkript végrehajtását, használja a következő parancsot:
    Készlet- Végrehajtási politika határozatlan -Scope CurrentUser
  4. A fenti parancs letiltja a szkript végrehajtását Jelenlegi felhasználó.

A végrehajtási politikák és alkalmazási körök megértése

Egyszerűen fogalmazva, a PowerShell végrehajtási szabályzata egy olyan házirend, amely szabályozza, hogy a PowerShell hogyan hajtsa végre a konfigurációs fájlokat és szkripteket. A cél az, hogy megakadályozzák a felhasználókat abban, hogy véletlenül rosszindulatú szkripteket futtassanak. A hét PowerShell végrehajtási szabályzat az Alapértelmezett, Korlátozott, Távoli aláírt, AllSigned, Korlátlan, Áthidalás és Undefined.

Az alábbi táblázat röviden ismerteti az összes PowerShell végrehajtási szabályzatot:

Végrehajtási politika

Végrehajtás

Alapértelmezett

Beállítja az alapértelmezett végrehajtási házirendet Korlátozottra Windows Client és RemoteSigned Windows Server rendszeren.

AllSigned

Lehetővé teszi a kiadó által aláírt szkriptek végrehajtását.

Kitérő

Szkriptek korlátlan végrehajtása nagyobb alkalmazásokhoz.

Távoli aláírt

Lehetővé teszi a helyileg írt szkript végrehajtását. Az internetről letöltött szkriptekhez digitális aláírásra van szükség.

Korlátozott

Nem engedélyezi a parancsfájl végrehajtását, csak az egyes PowerShell-parancsokat.

Határozatlan

Beállítja a végrehajtási házirendet Korlátozott Windows-kliensekre és Távoli aláírt értékre Windows Server esetén.

Korlátlan

Az internetről letöltött szkriptek aláírás nélküli végrehajtásának engedélyezése figyelmeztetéssel.

Végrehajtási politika hatálya

Beállíthat végrehajtási házirendet egy adott hatókörhöz a PowerShellben. Az öt végrehajtási irányelv hatóköre az MachinePolicy, UserPolicy, Process, CurrentUser, és LocalMachine.

Az alábbi táblázat röviden ismerteti az összes végrehajtási irányelv hatókörét:

Végrehajtási politika hatálya

Végrehajtás

UserPolicy

Csoportházirend konfigurálva az aktuális felhasználó számára.

Machine Policy

Csoportházirend konfigurálva minden felhasználó számára.

CurrenUser

Az aktuális felhasználó számára konfigurálva és a HKEY_CURRENT_MACHINE beállításkulcsban tárolva.

LocalMachine

Minden felhasználó számára konfigurálva, és a HKEY_CURRENT_MACHINE beállításkulcsban tárolva.

Folyamat

Az aktuális PowerShell-munkamenetet érinti, és a munkamenet bezárásakor automatikusan törlődik.

PowerShell Script végrehajtási házirend hozzáadása vagy eltávolítása Windows rendszeren

A PowerShell parancsfájl-végrehajtása alapértelmezés szerint le van tiltva a Windows-klienseknél, és a Windows-kiszolgálóhoz RemoteSigned-re van állítva. A hatékony felhasználók azonban módosíthatják a végrehajtási házirendeket, hogy helyi, aláírt és aláíratlan PowerShell-parancsfájlokat fussanak.

Alternatív megoldásként megkerülheti a PowerShell-végrehajtási házirendet úgy, hogy beilleszti a szkriptet egy PowerShell-konzolba, vagy ECHO-t küld a szkriptnek a PowerShell szabványos bemenetére. Ez akkor hasznos, ha a végrehajtási házirend megváltoztatása nélkül szeretne parancsfájlokat végrehajtani.