Sprievodcovia

Ako opraviť chybu „Spustenie skriptov je v tomto systéme zakázané“ v aplikácii Powershell?

Powershell je rámec automatizácie a správy úloh, ktorý vyvinula a zverejnila spoločnosť Microsoft. Skladá sa z shellu príkazového riadku a súvisiaceho jazyka. Používatelia môžu v programe spúšťať početné rutiny cmdlet. Avšak pomerne nedávno prichádza veľa správ, v ktorých používatelia nemôžu spustiť skript a správa „Spustený skript je v tomto systéme zakázaný" alebo "vykonávanie skriptov je v tomto systéme zakázané”Chyba sa zobrazuje v Powershelle.

V tomto článku sa budeme zaoberať dôvodom, kvôli ktorému môže byť táto chyba spustená, a niektorými životaschopnými riešeniami na jej trvalé odstránenie. Postupujte opatrne a presne, aby ste predišli konfliktom.

Čo spôsobuje chybu „Spustenie skriptov je v tomto systéme zakázané“?

Po prijatí mnohých správ od viacerých používateľov sme sa rozhodli túto záležitosť preskúmať a náš výskum naznačuje, že chyba je spôsobená nasledujúcim problémom.

  • Zakázané skripty:Každý skript, ktorý používate v prostredí Powershell, musí mať určitú úroveň overenia z dôveryhodných zdrojov, aby mohol fungovať. Avšak v niektorých prípadoch, aj keď má skript overenie, je stále zastavený pred vykonaním kvôli obmedzenému prístupu. Ide o to, že Windows majú „zásadu vykonávania“, ktorú musí skript obísť, aby mohol byť vykonaný. Ak je zásada vykonávania nastavená na možnosť „Obmedzené“, potom v počítači nemožno spustiť žiadny skript.

Teraz, keď máte základné znalosti o podstate problému, prejdeme k riešeniam.

Riešenie 1: Pridanie kódu

Ak chcete na svojom počítači spustiť konkrétny skript bez toho, aby ste museli prekonávať ťažkosti so zmenou politiky vykonávania, do príkazu môžete kedykoľvek pridať časť kódu, ktorá skriptu umožní prístup prostredníctvom tejto politiky. Pre to:

  1. Stlačte „Windows” + “R”Na otvorenie výzvy na spustenie.
  2. Zadajte „Powershell”A stlačte„Posun” + “Ctrl” + “Zadajte”Súčasne na poskytnutie administratívneho prístupu.
  3. Zadajte príkaz na vykonanie konkrétneho skriptu, ako je nasledujúci príkaz.
    c: \>powershell -ExecutionPolicy ByPass -Script script.ps1
  4. Stlačte „Zadajte“A skontrolovať aby sme zistili, či problém pretrváva.

Riešenie 2: Zmena zásad vykonávania

Pretože politika vykonávania poskytuje prístup k Powershellu na spustenie konkrétneho skriptu, ak je nastavený na obmedzený, zablokuje vykonávanie všetkých skriptov. V závislosti od vašej situácie môžete politiku nastaviť podľa rôznych režimov. Tieto režimy sú:

  • Obmedzené:Tento režim neumožňuje spustenie žiadneho skriptu v počítači.
  • AllSigned:Výberom tohto režimu môžu byť v počítači spustené iba politiky podpísané dôveryhodným vydavateľom.
  • RemoteSigned:Všetky stiahnuté skripty musia byť podpísané dôveryhodným vydavateľom.
  • Bez obmedzenia:Na nijaký skript neexistujú žiadne obmedzenia.

Teraz, keď poznáte úrovne, na ktoré je možné nastaviť politiku vykonávania, môžete podľa svojich požiadaviek ľahko zvoliť tú najlepšiu pre vás. Za účelom zmeny politiky vykonávania:

  1. Stlačte „Windows” + “R”Na otvorenie výzvy na spustenie.
  2. Zadajte text „Powershell“ a stlačte „Posun” + “Ctrl” + “Zadajte”Súčasne na poskytnutie administratívneho prístupu.
  3. Zadajte nasledujúci príkaz a vykonajte ho stlačením klávesu „Enter“.
    Set-ExecutionPolicy Remotesigned

    Poznámka:Slovo "RemoteSigned“Sa má nahradiť požadovanou úrovňou zabezpečenia, ako je uvedené vyššie.

  4. Stlačte „Y.”, Aby ste označili Áno, a toto zmení skupinovú politiku na požadovanú úroveň.
  5. Skontrolujte aby sme zistili, či problém pretrváva.
$config[zx-auto] not found$config[zx-overlay] not found