Hogyan lehet kijavítani a futó parancsfájlok letiltását ezen a rendszeren hibát a Powershellen?

A Powershell egy feladat-automatizálási és -kezelési keretrendszer, amelyet a Microsoft fejlesztett ki és tett közzé. Ez egy parancssori héjból és egy társított nyelvből áll. A felhasználók számos parancsmagot futtathatnak a programban. A közelmúltban azonban sok olyan jelentés érkezett, ahol a felhasználók nem tudnak futtatni egy szkriptet, és a „ Powershellben megjelenik a„ A szkript futtatása le van tiltva ezen a rendszeren ”vagy a„ A szkriptek futtatása le van tiltva ezen a rendszeren ”hibaüzenet. .

Ebben a cikkben megvitatjuk a hiba kiváltásának okát, valamint néhány életképes megoldást a végleges kijavításra. Ügyeljen arra, hogy gondosan és pontosan kövesse a lépéseket a konfliktusok elkerülése érdekében.

Mi okozza a „A szkriptek futtatása le van tiltva ezen a rendszeren” hibát?

Miután számos felhasználó számos jelentést kapott, úgy döntöttünk, hogy megvizsgáljuk az ügyet, és kutatásunk szerint a hibát a következő probléma okozza.

  • Letiltott parancsfájlok:  A Powershell-en futtatott minden parancsfájlnak bizonyos szintű megbízható forrásokból származó ellenőrzéssel kell rendelkeznie, hogy működjön. Bizonyos esetekben, még ha a parancsfájlnak is van igazolása, a korlátozott hozzáférés miatt még mindig leállítják a végrehajtását. Az a helyzet, hogy a Windows rendelkezik egy „végrehajtási házirenddel”, amelyet a parancsfájlnak meg kell kerülnie a futtatáshoz. Ha a végrehajtási házirend beállítása „Korlátozott”, akkor a számítógépen nem lehet futtatni parancsfájlt.

Most, hogy alaposan megértette a probléma természetét, továbblépünk a megoldások felé.

1. megoldás: Kód hozzáadása

Ha egy adott szkriptet a számítógépén akar futtatni, anélkül, hogy a végrehajtási házirend megváltoztatásával meg kellene küzdenie, mindig hozzáadhat egy darab kódot a parancshoz, amely a házirenden keresztül hozzáférést biztosít a parancsfájlhoz. Azért:

  1. Nyomja meg a „ Windows ” + „ R ” billentyűt a futtatási parancs megnyitásához.
  2. Írja be a „ Powershellszót, és nyomja meg egyszerre a „ Shift ” + „ Ctrl ” + „ Enter ” gombot az adminisztrátori hozzáférés megadásához.
  3. Írja be a parancsot egy adott parancsfájl végrehajtásához, például a következő parancshoz.
    c: \> powershell -ExecutionPolicy ByPass -File script.ps1
  4. Nyomja meg az „ Enter ” gombot, és ellenőrizze , hogy a probléma továbbra is fennáll-e.

2. megoldás: A végrehajtási házirend módosítása

Mivel a végrehajtási házirend hozzáférést biztosít a Powershellhez egy adott szkript futtatásához, ha korlátozásra van állítva, akkor az összes szkript végrehajtását blokkolja. Különböző módok állíthatók be a házirendnek a helyzetétől függően. Ezek a módok:

  • Korlátozott:  Ez a mód nem engedélyezi a parancsfájlok futtatását a számítógépen.
  • AllSigned:  Ennek a módnak a kiválasztásával csak a megbízható kiadó által aláírt házirendek futtathatók a számítógépen.
  • RemoteSigned: Az  összes letöltött szkriptet megbízható kiadónak kell aláírnia.
  • Korlátlan:  Egyetlen szkriptre sincs korlátozás.

Most, hogy ismeri azokat a szinteket, amelyekre a végrehajtási házirend beállítható, könnyen kiválaszthatja az Ön számára legmegfelelőbbet az Ön igényeinek megfelelően. A végrehajtási házirend megváltoztatása érdekében:

  1. Nyomja meg a „ Windows ” + „ R ” billentyűt a futtatási parancs megnyitásához.
  2. Írja be a „Powershell” szót, és nyomja meg egyszerre a „ Shift ” + „ Ctrl ” + „ Enter ” gombot az adminisztrátori hozzáférés megadásához.
  3. Írja be a következő parancsot, és nyomja meg az „Enter” billentyűt a végrehajtáshoz.
    Set-ExecutionPolicy Remotesigned

    Megjegyzés:  A „ RemoteSigned ” szót le kell cserélni a kívánt biztonsági szintre, a fentiek szerint.

  4. Nyomja meg az „ Y ” gombot az Igen jelzéséhez, és ez a csoportházirendet a kívánt szintre változtatja.
  5. Ellenőrizze , hogy a probléma továbbra is fennáll-e.