Skripty PowerShell se používají k automatizaci opakovaných úkolů a provedení některých změn v konfiguraci vašeho systému. Všimli jsme si však, že občas Windows V systému Windows 11/10 nelze spustit skript PowerShell. Tento problém může být frustrující jako .Ps1 Skripty vám umožňují snadno dělat spoustu úkolů. V tomto příspěvku budeme mluvit o tomto problému a uvidíme, co můžete udělat pro vyřešení problému.
Oprava nemůže spustit skript PowerShell v systému Windows 11/10
Pokud nemůžete spustit skript PowerShell v systému Windows 11/10, postupujte podle níže uvedených řešení.
- Spusťte PowerShell jako správce
- OBRAZITNÍ POLITIKY PŘIPOJENÍ
- Nastavte politiku provádění na neomezené
- Povolit provedení skriptu PowerShell pomocí editoru registru nebo editoru skupiny
Pojďme o nich mluvit podrobně.
Nelze načíst, protože běžící skripty jsou v tomto systému deaktivovány
1] Spuštění PowerShell jako správce
Nejprve musíme ověřit, zda problém, kterému čelíte, je skutečně problém. Pokud spustíte PowerShell jako správce hledáním v nabídce Start, klepněte pravým tlačítkem myši na PowerShell a klikněte na Běžet jako správce. Poté zkuste spustit skript a zjistěte, zda to pomůže.
2] obejít zásadu provádění
Politika provádění PowerShell je bezpečnostní funkce, která zabraňuje neautorizovaným nebo škodlivým skriptům v provozu. Výchozí zásady, jako je „omezená“ nebo „remotesignovaná“, mohou blokovat skripty, pokud nejsou výslovně povoleny nebo podepsány. Pokud však spustíte následující příkaz, budete moci dočasně obejít tato omezení pro aktuální relaci, což umožní skriptu spustit bez trvalého změny nastavení zabezpečení.
powershell -ExecutionPolicy ByPass -File ScriptFileName.ps1
Problém je v tom, že tato metoda nebude fungovat, pokud automatizované procesy, jako jsou plánované úkoly nebo runbooky, fungují na neinteraktivních relacích. Tato prostředí často vynucují přísná nastavení politik skupiny, která ignorují dočasné přepsání, což zajišťuje trvalé zabezpečení.
3] Nastavit politiku provádění na neomezené
Jak již bylo zmíněno dříve, výše uvedená metoda funguje pouze při spuštění samostatného skriptu, ale pokud je skript naplánován, metoda je neúčinná. Proto musíte stanovit politiku provádění na neomezenou. Díky tomu je váš systém zranitelným, protože kdokoli může spustit škodlivý skript na vašem počítači, pokud k němu má přístup.
Chcete -li nastavit zásady provádění na neomezenou, spusťte následující příkaz v PowerShell.
Set-ExecutionPolicy unrestricted
Protože se jedná o změnu nastavení vašeho systému, budete požádáni o potvrzení svých akcí zasažením „Y“ nebo „A“.
Když jsem však zkusil totéž, narazil jsem na následující chybovou zprávu.
zrušit netflix online
Set-ExecutionPolicy: Windows PowerShell úspěšně aktualizoval zásady provádění, ale nastavení je přepsáno politikou definovanou v konkrétnějším rozsahu. Vzhledem k přepsání si vaše skořápka zachová svůj současný efektivní
Politika provádění remotesignovaných. Zadejte „Get -EXECTIONPOLICY -LIST“ pro zobrazení nastavení zásad provádění.
Pokud narazíte na tuto chybu, musíte spustit příkaz - Get-ExecutionPolicy -List
, abyste věděli, zda systém zaregistroval změnu a co je problém. Ukazuje se, že v mém případě byl TruentUser nastaven na „vzdálené podepsání“, kvůli kterému jakékoli změny v LocalMachine Rozsah není užitečný.
Musíme tedy také spustit následující příkaz.
DD8D8F3A61D772648DA439E2FD7BFEE8E1D1B35ENakonec zkontrolujte, zda je problém vyřešen.
Číst: Jak automatizovat úkoly s PowerShell?
4] Povolit provedení skriptu PowerShell pomocí editoru registru nebo editoru skupiny
Můžete také povolit provedení skriptu PowerShell pomocí regedit nebo gpedit. Nejprve to zkusíme pomocí Editor politiky skupiny . Otevřete Editor politiky skupiny hledáním v nabídce Start. A pak přejděte na následující místo.
Konfigurace počítače> Administrativní šablony> Komponenty Windows> Windows PowerShell
Hledat Zapněte provedení skriptu a poklepejte na to. Nastavit to na Povoleno, A pak můžete použít jednu z následujících zásad provádění.
- Allsigned: To umožňuje pouze podepsané skripty
- Remotesigned: To umožňuje pouze místní a vzdáleně podepsané skripty.
- Neomezený: To umožňuje všechny skripty.
Nakonec klikněte na Použít> OK.
Nyní použijeme Editor registru. Ale před provedením jakýchkoli změn vytvořte a Zálohování registru . Poté přejděte na následující místo.
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows
Nyní klikněte pravým tlačítkem myši na Okna Složka a vyberte Nový> klíč. Pojmenujte to „Powershell“. Poté musíte kliknout pravým tlačítkem myši na prázdný prostor a vybrat Nová> DWORD (32bitová) hodnota, a pojmenujte to „Povolení“. Poklepáním na Povolení a nastavit data hodnoty na 1.
Opět klepněte pravým tlačítkem myši na prostor, vyberte Nová> Hodnota řetězce, a pojmenujte to ' Prováděnípolicy '
Nyní poklepejte na provádění společnosti ExecutionPolicy a nastavte údaje o hodnotě na Neomezený. Můžete jej také nastavit Allsigned, remotesigned, a Neomezený.
Doufejme, že s pomocí tohoto příspěvku budete moci problém vyřešit.
Číst: Jak používat Windows PowerShell ISE - výukový program pro začátečníky
Jak mohu spustit skript shell v systému Windows 11?
Chcete -li spustit skript Shell (jako je Bash) v systému Windows 11, nejprve nainstalujte subsystém Windows pro Linux (WSL) z Microsoft Store, otevřete linuxový terminál (např. Ubuntu), přejděte do složky vašeho skriptu pomocí CD a zadejte bash skriptame.sh. Pro skripty PowerShell, spuštění PowerShell jako správce, použijte Set-ExecutionPolicy RemoteSigned
(dočasně nebo trvale), abyste povolili skripty, poté je spusťte s.
Přečtěte si také: Převést soubor PowerShell Script (PS1) na exe s IExpress v systému Windows .