Niekedy vám systém Windows zakáže prístup do prostredia PowerShell, pričom uvedie možnosť, ktorá zakáže spúšťanie skriptov. Tu je návod, ako to opraviť.
Spúšťate nejaké príkazy v prostredí PowerShell a zrazu sa vám zobrazí chybové hlásenie „PowerShell sa nedá načítať, pretože spúšťanie skriptov je v tomto systéme zakázané.“
Zaujíma vás, čo spôsobuje tento problém a ako ho môžete vyriešiť? Prevedieme vás jednoduchými metódami, ktoré vám pomôžu vyriešiť tento problém raz a navždy.
Poďme sa ponoriť!
1. Spustite PowerShell v režime správcu
Používate momentálne PowerShell bez správnych správcovských práv? Ak áno, možno práve v tom je problém.
Poďme teda preskúmať kroky, ktoré by ste mali použiť na spustenie nástroja v režime správcu:
- Stlačte tlačidlo Win + X otvorte ponuku Rýchly prístup.
- Vyberte Windows PowerShell (správca) možnosť.
A ak to nepomôže, skontrolujte rôzne spôsoby otvorenia prostredia Windows PowerShell. Mali by ste sa však zamerať iba na metódy, ktoré vám ukážu, ako spustiť nástroj s oprávneniami správcu.
2. Zmeňte politiku vykonávania v PowerShell
V niektorých prípadoch môže pomôcť zmena politiky vykonávania. Ale predtým, ako preskúmame riešenia, najprv vás prevedieme tým, čo sú pravidlá vykonávania a ako to funguje.
Čo sú pravidlá vykonávania a ako to funguje?
Politika vykonávania je bezpečnostná funkcia, ktorá riadi spôsob, akým spúšťate skripty PowerShell na vašom zariadení. Jednoducho určuje, ktoré typy skriptov možno spustiť a ktorým sa treba vyhnúť. Najlepšie na tom je, že túto politiku si môžete nakonfigurovať podľa svojich predstáv.
Tu sú možnosti, z ktorých si môžete vybrať pri konfigurácii politiky vykonávania:
- Obmedzené: Táto zásada vám zakazuje spúšťať akýkoľvek skript PowerShell.
- Neobmedzené: Umožňuje vám spustiť ľubovoľný skript, ale pri spustení podozrivých skriptov zobrazí varovnú správu.
- RemoteSigned: Táto zásada vyžaduje digitálny podpis pri spustení skriptov, ktoré ste si stiahli online. Nevyžaduje však podpis pre miestne skripty.
- Bypass: Toto vám umožňuje spúšťať akýkoľvek skript bez akýchkoľvek obmedzení. Na rozdiel od zásady „Neobmedzené“, zásada „Obísť“ vám pri spustení podozrivých skriptov nezobrazí žiadne varovné správy. Túto zásadu teda vždy aplikujte iba pri spúšťaní legitímnych skriptov.
- Všetko podpísané: Táto politika spúšťa iba skripty, ktoré sú podpísané dôveryhodným vydavateľom.
Ak teraz PowerShell používate pravidelne, možno budete chcieť z času na čas zmeniť politiku vykonávania. Niektoré politiky vykonávania však môžu pri spustení skriptov PowerShell zobrazovať chybové hlásenia.
Napríklad povolenie pravidiel „Restricted“, „AllSigned“ alebo „RemoteSigned“ môže viesť k chybovým hláseniam, ako je chyba „spúšťanie skriptov je zakázané“.
Na vyriešenie problému by ste jednoducho museli zmeniť politiku vykonávania na „Neobmedzené“ alebo „ByPass“. Ale to nie je všetko; musíte sa tiež rozhodnúť, ako by sa mala politika implementovať. Chcete napríklad použiť politiku pre všetkých používateľov alebo len pre vašu aktuálnu reláciu PowerShell?
Poďme preskúmať všetky ďalšie Príkazy PowerShellu budete musieť pridať pri zmene pravidiel vykonávania:
- Súčasný užívateľ: Táto zásada sa použije iba na všetky relácie prostredia PowerShell osoby, ktorá je aktuálne prihlásená na zariadení.
- LocalMachine: Platí pre všetkých používateľov, ktorí majú na zariadení účet. Túto politiku môžu nakonfigurovať iba lokálni používatelia, ktorí majú oprávnenia správcu.
- Proces: Platí len pre aktuálnu reláciu PowerShell. To znamená, že ak začnete novú reláciu, budete musieť znova spustiť politiku.
- MachinePolicy: Táto zásada sa vzťahuje na všetkých používateľov, ktorí majú na vašom zariadení účet. Konfigurovať ho však môžu iba správcovia siete, ktorí majú príslušné oprávnenia. Miestni správcovia však často môžu nakonfigurovať túto politiku spúšťania pomocou Editora miestnej politiky skupiny.
- Používateľské zásady: Vzťahuje sa na všetky relácie prostredia PowerShell a skripty spustené konkrétnym používateľom.
Teraz, keď je všetko jasné, poďme preskúmať, ako môžete vykonať príslušné zásady na riešenie problému „PowerShell sa nedá načítať“.
Ako zmeniť pravidlá vykonávania na „Neobmedzené“
Najlepší spôsob, ako vyriešiť daný problém, je zmeniť politiku vykonávania na „neobmedzené“. Predtým však musíte skontrolovať, ako je nakonfigurovaná každá politika vykonávania.
Tu sú kroky na kontrolu toho, ako sú nakonfigurované pravidlá vykonávania:
- Stlačte tlačidlo Win + X otvorte ponuku Rýchly prístup.
- Vyberte Windows PowerShell (správca) z možností.
- Zadajte nasledujúci príkaz a stlačte Zadajte:
Get-ExecutionPolicy -Zoznam
Toto by vám malo ukázať, ako sú politiky vykonávania nakonfigurované pre rôznych používateľov a systémy.
Ak chcete zmeniť politiku vykonávania na „Neobmedzené“ pre aktuálneho aktívneho používateľa, zadajte nasledujúci príkaz a stlačte Zadajte:
Set-ExecutionPolicy Unrestricted -Rozsah Súčasný užívateľ
Ak chcete zmeniť politiku vykonávania na „Neobmedzené“ pre všetkých používateľov, zadajte nasledujúci príkaz a stlačte Zadajte:
Set-ExecutionPolicy Unrestricted -Rozsah LocalMachine
Po dokončení spúšťania príkazu zatvorte PowerShell a reštartujte počítač, aby ste uložili tieto zmeny.
Ako zmeniť pravidlá vykonávania na „Obísť“
Zásady vykonávania "ByPass" vám umožnia spustiť akýkoľvek skript PowerShell bez problémov. Pamätajte však, že vám tiež môže umožniť spúšťať chybné súbory. Túto politiku spúšťania teda vždy nakonfigurujte iba pri spustení dôveryhodných súborov PowerShell.
Ak chcete zmeniť politiku vykonávania na „ByPass“ pre aktuálneho aktívneho používateľa, zadajte nasledujúci príkaz a stlačte Zadajte:
Set-ExecutionPolicy ByPass -Rozsah Súčasný užívateľ
A ak chcete zmeniť politiku vykonávania na „ByPass“ pre všetkých používateľov, zadajte nasledujúci príkaz a stlačte Zadajte:
Set-ExecutionPolicy ByPass -Rozsah LocalMachine
Po dokončení zatvorte PowerShell a potom reštartujte zariadenie.
3. Zmeňte politiku vykonávania pomocou editora miestnej politiky skupiny
Editor lokálnych zásad skupiny (LGPE) vám tiež uľahčuje zmenu zásad vykonávania. V skutočnosti vám tento nástroj môže tiež pomôcť nakonfigurovať rôzne systémové nastavenia alebo vyriešiť množstvo problémov s počítačom.
Pamätajte, že hlavným cieľom je zmeniť politiku vykonávania tak, aby ste mohli spúšťať skripty PowerShell bez problémov. A tým sa zbavíte chyby „spúšťanie skriptov je zakázané“ v PowerShell.
Tu je postup, ako zmeniť politiku vykonávania v LGPE:
- Typ Upraviť skupinovú politiku vo vyhľadávacom paneli ponuky Štart a vyberte položku Najlepší zápas. Prípadne sa odhláste rôzne spôsoby otvorenia LGPE.
- Prejdite na Konfigurácia počítača > Šablóny na správu > Komponenty systému Windows > Windows PowerShell.
- Dvakrát kliknite na Zapnite spustenie skriptu možnosť.
Skontrolovať Povolené box. Odtiaľ kliknite na Zásady vykonávania rozbaľovacej ponuky a vyberte Povoliť lokálne skripty a vzdialené podpísané skripty. Táto možnosť je podobná možnosti „RemoteSigned“, ktorú sme objavili skôr.
Ak chcete spúšťať všetky skripty bez obmedzení, vyberte Povoliť všetky skripty možnosť z rozbaľovacej ponuky "Pravidlá vykonávania".
Odtiaľ kliknite Použiť a potom kliknite OK na uloženie týchto zmien.
4. Zmeňte politiku vykonávania pomocou editora databázy Registry
Ak ostatné metódy nepomohli, skúste zmeniť politiku vykonávania pomocou Editora databázy Registry. Pri úprave kľúčov databázy Registry však musíte byť opatrní. Ak vyladíte nesprávne klávesy, môže dôjsť k poškodeniu počítača.
Tu je postup, ako zmeniť politiku vykonávania pomocou Editora databázy Registry:
- Stlačte tlačidlo Win + R otvorte dialógové okno Spustiť príkaz.
- Typ Regedit a stlačte Zadajte otvorte Editor databázy Registry.
- Skopírujte a vložte nasledujúci príkaz do panela s adresou a stlačte Zadajte:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell
Nájdite ExecutionPolicy hodnotu na pravej strane.
Ak hodnota chýba, vytvorte ju pomocou týchto krokov:
- Kliknite pravým tlačidlom myši na prázdne miesto na pravej strane.
- Vyberte Nové > Hodnota DWORD (32-bit)..
- Pomenujte hodnotu ako ExecutionPolicy a stlačte Zadajte.
Dvakrát kliknite na ExecutionPolicy hodnotu. Ďalej zadajte RemoteSigned v časti „Údaje o hodnotách“. To umožní PowerShellu spúšťať lokálne a podpísané skripty.
Prípadne zadajte Bypass v časti „Údaje o hodnotách“. To umožní PowerShellu spustiť akýkoľvek skript bez obmedzení.
Po zadaní preferovanej hodnoty v časti "Údaje o hodnote" stlačte OK aby sa zmeny uložili. Nakoniec zatvorte Editor databázy Registry a potom reštartujte zariadenie.
Spúšťajte svoje skripty PowerShell bez akýchkoľvek obmedzení
Môže to byť dosť frustrujúce, keď zrazu nemôžete vykonávať určité príkazy v prostredí Windows PowerShell. Ak však narazíte na chybu „skripty sú zakázané“, riešenia, ktoré sme pokryli, by vám mali pomôcť.
Robí vám PowerShell často iné problémy? No, existuje viac riešení, ktoré vám môžu pomôcť.