Néha a Windows letiltja a PowerShell használatát, hivatkozva egy opcióra, amely letiltja a szkriptek futtatását. A következőképpen javíthatja ki.
Néhány parancsot futtat a PowerShell-en, és hirtelen megjelenik egy hibaüzenet, amely így szól: „A PowerShell nem tölthető be, mert a szkriptek futtatása le van tiltva ezen a rendszeren.”
Kíváncsi vagy, hogy mi okozza ezt a problémát, és hogyan lehet megoldani? Végigvezetjük azokat az egyszerű módszereket, amelyek segítségével egyszer és mindenkorra megoldhatja ezt a problémát.
Merüljünk el!
1. Futtassa a PowerShellt rendszergazda módban
Jelenleg megfelelő rendszergazdai jogok nélkül futtatja a PowerShellt? Ha igen, akkor talán itt van a probléma.
Tehát nézzük meg azokat a lépéseket, amelyeket az eszköz rendszergazdai módban történő futtatásához kell alkalmazni:
- nyomja meg Win + X a Gyorselérés menü megnyitásához.
- Válaszd ki a Windows PowerShell (rendszergazda) választási lehetőség.
És ha ez nem segít, nézd meg a Windows PowerShell megnyitásának különféle módjai
. De csak azokra a módszerekre kell összpontosítania, amelyek megmutatják, hogyan kell futtatni az eszközt rendszergazdai jogosultságokkal.2. Módosítsa a végrehajtási házirendet a PowerShellben
Egyes esetekben a végrehajtási politika megváltoztatása segíthet. Mielőtt azonban megvizsgálnánk a megoldásokat, először nézzük meg, mi a végrehajtási politika, és hogyan működik.
Mi a végrehajtási politika, és hogyan működik?
A végrehajtási házirend egy biztonsági funkció, amely szabályozza a PowerShell-szkriptek futtatásának módját az eszközön. Egyszerűen meghatározza, hogy milyen típusú szkriptek futtathatók, és melyeket kell kerülni. A legjobb az egészben az, hogy ezt a házirendet tetszés szerint konfigurálhatja.
A végrehajtási házirend konfigurálásakor a következő lehetőségek közül választhat:
- Korlátozott: Ez a házirend tiltja a PowerShell-szkriptek futtatását.
- Korlátlan: Lehetővé teszi bármilyen szkript futtatását, de figyelmeztető üzenetet jelenít meg, ha gyanús szkripteket futtat.
- Távoli aláírt: Ez a házirend digitális aláírást igényel az online letöltött szkriptek futtatásakor. A helyi szkriptekhez azonban nincs szükség aláírásra.
- Kitérő: Ez lehetővé teszi bármilyen szkript futtatását korlátozás nélkül. A „Korlátlan” házirendtől eltérően a „ByPass” házirend nem jelenít meg semmilyen figyelmeztető üzenetet, amikor gyanús szkripteket futtat. Ezért ezt a házirendet mindig csak legális szkriptek futtatásakor alkalmazza.
- AllSigned: Ez a házirend csak megbízható kiadó által aláírt szkripteket futtat.
Most, ha rendszeresen használja a PowerShellt, érdemes időről időre módosítani a végrehajtási szabályzatot. Egyes végrehajtási házirendek azonban hibaüzeneteket jeleníthetnek meg a PowerShell-parancsfájlok futtatásakor.
Például a „Korlátozott”, „AllSigned” vagy „RemoteSigned” házirendek engedélyezése olyan hibaüzenetekhez vezethet, mint a „futó szkriptek le vannak tiltva” hibaüzenet.
A probléma megoldásához egyszerűen módosítania kell a végrehajtási szabályzatot „Korlátlan” vagy „ByPass” értékre. De ez még nem minden; azt is el kell döntenie, hogyan kell végrehajtani a politikát. Például az összes felhasználóra vagy csak az aktuális PowerShell-munkamenetre szeretné alkalmazni a házirendet?
Vizsgáljuk meg az összes kiegészítőt PowerShell parancsok a végrehajtási szabályzat módosításakor hozzá kell adnia:
- Jelenlegi felhasználó: Ez a házirend csak annak a személynek az összes PowerShell-munkamenetére vonatkozik, aki jelenleg bejelentkezett az eszközre.
- LocalMachine: Az összes felhasználóra vonatkozik, akinek fiókja van az eszközön. Ezt a házirendet csak rendszergazdai jogosultságokkal rendelkező helyi felhasználók konfigurálhatják.
- Folyamat: Csak az aktuális PowerShell-munkamenetre vonatkozik. Ez azt jelenti, hogy új munkamenet indításakor újra végre kell hajtania a házirendet.
- MachinePolicy: Ez a házirend minden olyan felhasználóra vonatkozik, akinek fiókja van az eszközén. Ezt azonban csak a megfelelő jogosultságokkal rendelkező hálózati rendszergazdák konfigurálhatják. De gyakran előfordulhat, hogy a helyi rendszergazdák beállíthatják ezt a végrehajtási házirendet a Helyi csoportházirend-szerkesztővel.
- UserPolicy: Az összes PowerShell-munkamenetre és egy adott felhasználó által végrehajtott szkriptekre vonatkozik.
Most, hogy minden világos, vizsgáljuk meg, hogyan hajthatja végre a megfelelő házirendeket a „PowerShell nem tölthető be” probléma megoldásához.
A végrehajtási szabályzat módosítása „korlátlan”-ra
A probléma megoldásának legjobb módja, ha a végrehajtási szabályzatot „korlátlanra” változtatjuk. De előtte ellenőriznie kell, hogy az egyes végrehajtási szabályok hogyan vannak konfigurálva.
Íme a lépések a végrehajtási házirendek beállításának ellenőrzéséhez:
- nyomja meg Win + X a Gyorselérési menü megnyitásához.
- Válassza ki Windows PowerShell (rendszergazda) a lehetőségek közül.
- Írja be a következő parancsot, és nyomja meg Belép:
Get-Execution Policy -Lista
Ez megmutatja, hogy a végrehajtási házirendek hogyan vannak konfigurálva a különböző felhasználókhoz és rendszerekhez.
Ha az aktuális aktív felhasználó végrehajtási szabályzatát „Korlátlan”-ra szeretné módosítani, írja be a következő parancsot, és nyomja meg a Belép:
Készlet-Korlátlan végrehajtási politika -Hatály Jelenlegi felhasználó
Ha a végrehajtási szabályzatot „Korlátlan” értékre szeretné módosítani az összes felhasználó számára, írja be a következő parancsot, és nyomja meg a gombot Belép:
Készlet-Korlátlan végrehajtási politika -Hatály LocalMachine
Amikor befejezte a parancs futtatását, zárja be a PowerShellt, és indítsa újra a számítógépet a módosítások mentéséhez.
Hogyan lehet a végrehajtási szabályzatot "ByPass"-ra módosítani
A „ByPass” végrehajtási házirend lehetővé teszi bármely PowerShell-szkript problémamentes futtatását. De ne feledje, hogy lehetővé teheti hibás fájlok futtatását is. Ezért ezt a végrehajtási házirendet mindig csak megbízható PowerShell-fájlok futtatásakor állítsa be.
Ha az aktuális aktív felhasználó végrehajtási szabályzatát „ByPass”-ra szeretné módosítani, írja be a következő parancsot, és nyomja meg a gombot Belép:
Készlet-ExecutionPolicy ByPass -Hatály Jelenlegi felhasználó
Ha a végrehajtási szabályzatot „ByPass”-ra szeretné módosítani az összes felhasználó számára, írja be a következő parancsot, és nyomja meg a gombot Belép:
Készlet-ExecutionPolicy ByPass -Hatály LocalMachine
Ha végzett, zárja be a PowerShellt, majd indítsa újra az eszközt.
3. Módosítsa a végrehajtási házirendet a Helyi csoportházirend-szerkesztővel
A Helyi csoportházirend-szerkesztő (LGPE) a végrehajtási házirend módosítását is megkönnyíti. Valójában ez az eszköz segíthet különféle rendszerbeállítások konfigurálásában vagy számtalan számítógépes probléma hibaelhárításában.
Ne feledje, hogy a fő cél a végrehajtási szabályzat megváltoztatása, hogy gond nélkül futtathassa PowerShell-szkriptjeit. És ezzel megszabadul a PowerShell „futó szkriptek le vannak tiltva” hibájától.
A következőképpen módosíthatja a végrehajtási szabályzatot az LGPE-ben:
- típus Csoportházirend szerkesztése a Start menü keresősávjában, és válassza ki a Legjobb találat. Alternatív megoldásként nézze meg az LGPE megnyitásának különféle módjai.
- Navigáljon ide Számítógép konfigurációja > Felügyeleti sablonok > Windows-összetevők > Windows PowerShell.
- Kattintson duplán a Kapcsolja be a Script Execution funkciót választási lehetőség.
Ellenőrizd a Engedélyezve doboz. Innen kattintson a Végrehajtási politika legördülő menüből, és válassza ki Helyi szkriptek és távoli aláírt szkriptek engedélyezése. Ez az opció hasonló a korábban felfedezett „RemoteSigned” opcióhoz.
Ha az összes szkriptet korlátozás nélkül szeretné futtatni, válassza a Minden szkript engedélyezése opciót a "Végrehajtási szabályzat" legördülő menüből.
Innen kattintson a gombra Alkalmaz majd kattintson rendben a módosítások mentéséhez.
4. Módosítsa a végrehajtási házirendet a Rendszerleíróadatbázis-szerkesztővel
Ha a többi módszer nem segített, próbálja meg módosítani a végrehajtási szabályzatot a Rendszerleíróadatbázis-szerkesztővel. A beállításkulcsok szerkesztése során azonban óvatosnak kell lennie. Ha rossz billentyűket állít be, akkor kárt tehet a számítógépében.
Most a következőképpen módosíthatja a végrehajtási szabályzatot a Rendszerleíróadatbázis-szerkesztőn keresztül:
- nyomja meg Win + R a Futtatási parancs párbeszédpanel megnyitásához.
- típus Regedit és nyomja meg Belép a Rendszerleíróadatbázis-szerkesztő megnyitásához.
- Másolja be a következő parancsot a címsorba, és nyomja meg a gombot Belép:
HKEY_LOCAL_MACHINE\SZOFTVER\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell
Keresse meg a Végrehajtási politika érték a jobb oldalon.
Ha az érték hiányzik, hozza létre az alábbi lépésekkel:
- Kattintson a jobb gombbal egy üres helyre a jobb oldalon.
- Válassza ki Új > Duplaszó (32 bites) érték.
- Nevezze el az értéket így Végrehajtási politika és nyomja meg Belép.
Kattintson duplán a Végrehajtási politika érték. Ezután írja be Távoli aláírt az „Értékadatok” részben. Ez lehetővé teszi a PowerShell számára, hogy helyi és aláírt szkripteket hajtson végre.
Alternatív megoldásként írja be Kitérő az „Értékadatok” részben. Ez lehetővé teszi a PowerShell számára, hogy korlátozás nélkül végrehajtson bármilyen szkriptet.
Miután megadta a kívánt értéket az „Értékadatok” részben, nyomja meg a gombot rendben a változtatások mentéséhez. Végül zárja be a Rendszerleíróadatbázis-szerkesztőt, majd indítsa újra az eszközt.
Futtassa PowerShell-szkriptjeit korlátozások nélkül
Elég frusztráló lehet, ha hirtelen nem tud végrehajtani bizonyos parancsokat a Windows PowerShellben. De ha a „szkriptek le vannak tiltva” hibával találkozik, az általunk tárgyalt megoldásoknak segíteniük kell.
A PowerShell gyakran más problémákat okoz? Nos, több megoldás is segíthet.