Tu je návod, ako vyťažiť maximum z prostredia Windows PowerShell povolením politiky vykonávania skriptov.

iPowerShell v predvolenom nastavení umožňuje spúšťať príkazy (cmdlets) prostredníctvom svojej konzoly. Ak chcete spustiť skript, môžete vytvoriť súbor poznámkového bloku s kódom skriptu, uložiť ho s príponou .ps1 a spustiť ho cez konzolu PowerShell. Skript môžete tiež priamo prilepiť do konzoly na vykonanie.

Ak však skript spúšťate cez PowerShell prvýkrát, narazíte na chybu „spustený skript je zakázaný“. V predvolenom nastavení je spúšťanie skriptov v prostredí PowerShell zakázané ako bezpečnostné opatrenie, aby sa zabránilo spusteniu škodlivých skriptov vo vašom systéme. Tu vám ukážeme dva spôsoby, ako povoliť politiku vykonávania skriptu v prostredí Windows PowerShell.

Ako skontrolovať existujúce pravidlá vykonávania

Ak chcete získať aktuálnu politiku vykonávania, môžete použiť rutinu cmdlet PowerShell. Poznať svoju aktuálnu politiku vykonávania je nevyhnutné, aby ste vedeli, či potrebujete zmenu politiky alebo nie.

Ak chcete získať aktuálnu politiku vykonávania pre aktuálneho používateľa:

  1. Otvorte Windows PowerShell ako správca.
  2. Do konzoly PowerShell zadajte nasledujúci príkaz a stlačte Enter:
    dostať- politika vykonávania
  3. Keďže ste pri vykonávaní skriptu narazili na chybu, pravdepodobne sa zobrazí návrat Obmedzené ako sú vaše aktuálne pravidlá vykonávania.
  4. Ak potrebujete zobraziť politiku vykonávania pre všetky podporované rozsahy:
    dostať-executionpolicy -list

Ak chcete spustiť lokálne skripty bez chyby, musíte zmeniť politiku vykonávania na RemoteSigned. Zásady vykonávania môžete zmeniť v aplikácii Nastavenia a v prostredí PowerShell.

Ako povoliť politiku vykonávania prostredia PowerShell pomocou aplikácie Nastavenia

Pomocou aplikácie Nastavenia môžete zmeniť a nastaviť politiku spúšťania prostredia PowerShell na RemoteSigned. Jediné, čo musíte urobiť, je upraviť nastavenia PowerShell v sekcii pre vývojárov, aby ste zmenili politiku spúšťania, aby ste umožnili spúšťanie skriptov PowerShell.

Ak chcete zmeniť politiku vykonávania pomocou nastavení:

  1. Stlačte tlačidlo Win + I otvoriť Settings.
  2. Otvor Ochrana osobných údajov a bezpečnosť na ľavej table.
  3. Ďalej kliknite na Pre vývojárov.
  4. Kliknutím rozbalíte PowerShell oddiele.
  5. Prepnite prepínač na zmeniť politiku vykonávania tak, aby umožňovala spúšťanie lokálnych skriptov PowerShell bez podpisu – vyžadovať podpisovanie pre vzdialené skripty.
  6. Po dokončení otvorte PowerShell, zadajte get pravidlá vykonávania, a stlačte Zadajte. Politika vykonávania pre aktuálneho používateľa je teraz nastavená na RemoteSigned.
  7. Ak potrebujete zakázať politiku spustenia, prepnite prepínač PowerShell a nastavte ho na Vypnuté.

Ako povoliť spustenie skriptov v PowerShell pomocou PowerShell

Môžete použiť a cmdlet prostredia PowerShell nastaviť politiku vykonávania na RemoteSigned. Rozhranie príkazového riadka uľahčuje rýchlu zmenu zásad vykonávania bez použitia aplikácie Nastavenia.

Aplikácia Nastavenia môže tiež povoliť alebo zakázať politiku vykonávania RemoteSigned. Zatiaľ čo PowerShell vám umožňuje nastaviť aj iné politiky a rozsahy.

Ak chcete zmeniť politiku vykonávania pomocou prostredia PowerShell:

  1. Otvorte PowerShell ako správca.
  2. V okne PowerShell zadajte nasledujúci príkaz a stlačte Zadajte:
    Set-ExecutionPolicy RemoteSigned
  3. Ak sa zobrazí výzva, stlačte A na potvrdenie akcie. Tým sa nastaví RemoteSigned pravidlá vykonávania pre všetkých používateľov. Ak chcete nastaviť politiku vykonávania pre Súčasný užívateľ použite iba parameter Rozsah, za ktorým nasleduje používateľské meno.
  4. Napríklad, ak chcete nastaviť RemoteSigned vykonávacia politika pre Súčasný užívateľ, použite nasledujúci príkaz:
    Set-ExecutionPolicy RemoteSgined -Rozsah Súčasný užívateľ
  5. Nahradiť Súčasný užívateľ vo vyššie uvedenom príkaze s ostatnými používateľmi (rozsah) podľa vašej požiadavky.

Ako odstrániť politiku vykonávania skriptov pomocou prostredia PowerShell

Ak chcete zakázať vykonávanie skriptu, nastavte politiku vykonávania na Nedefinované pomocou the Set_ExecutionPolicy cmdlet. Toto je predvolený stav a bráni PowerShellu vykonávať akékoľvek skripty.

Ak chcete zakázať vykonávanie skriptu pomocou prostredia PowerShell:

  1. Otvorte PowerShell so zvýšeným povolením.
  2. Potom zadajte nasledujúci príkaz a stlačením klávesu Enter zakážte vykonávanie skriptu pre všetkých používateľov:
    Set-ExecutionPolicy nedefinované
  3. Vyššie uvedený príkaz nastaví predvolenú politiku vykonávania (nedefinovanú) pre všetkých používateľov. Ak chcete zakázať vykonávanie skriptu pre konkrétny rozsah, použite nasledujúci príkaz:
    Set-ExecutionPolicy nedefinované -Rozsah CurrentUser
  4. Vyššie uvedený príkaz zakáže vykonávanie skriptu pre Súčasný užívateľ.

Pochopenie vykonávacích zásad a rozsahov

Jednoducho povedané, politika vykonávania PowerShell je zásada, ktorá riadi, ako PowerShell spúšťa konfiguračné súbory a skripty. Účelom je zabrániť používateľom v náhodnom spúšťaní škodlivých skriptov. Sedem zásad vykonávania prostredia PowerShell je Predvolené, Obmedzené, Vzdialené podpísané, Všetky podpísané, Neobmedzené, Obídené a Nedefinované.

Nasledujúca tabuľka stručne vysvetľuje všetky zásady vykonávania prostredia PowerShell:

Zásady vykonávania

Presadzovanie

Predvolené

Nastaví predvolenú politiku spustenia ako Restricted on Windows Client a RemoteSigned na Windows Server.

Všetko podpísané

Umožňuje spúšťanie skriptov podpísaných vydavateľom.

Obchvat

Neobmedzené vykonávanie skriptov pre väčšie aplikácie.

RemoteSigned

Umožňuje spúšťanie lokálne napísaného skriptu. Vyžaduje digitálne podpisy pre skripty stiahnuté z internetu.

Obmedzené

Nepovoľuje spustenie skriptu, ale iba jednotlivé príkazy PowerShell.

Nedefinované

Nastaví politiku vykonávania na možnosť Obmedzené pre klientov Windows a RemoteSigned pre Windows Server.

Neobmedzené

Povoliť spustenie nepodpísaného skriptu s upozornením na skripty stiahnuté z internetu.

Rozsah vykonávacej politiky

V PowerShell môžete nastaviť politiku vykonávania pre konkrétny rozsah. Existuje päť rozsahov politiky vykonávania MachinePolicy, UserPolicy, Process, CurrentUser, a LocalMachine.

Nasledujúca tabuľka stručne vysvetľuje všetky rozsahy politiky vykonávania:

Rozsah vykonávacej politiky

Presadzovanie

Používateľské zásady

Konfigurované skupinovou politikou pre aktuálneho používateľa.

Zásady stroja

Konfigurované skupinovou politikou pre všetkých používateľov.

CurrenUser

Nakonfigurované pre aktuálneho používateľa a uložené v podkľúči databázy Registry HKEY_CURRENT_MACHINE.

LocalMachine

Nakonfigurované pre všetkých používateľov a uložené v podkľúči databázy Registry HKEY_CURRENT_MACHINE.

Proces

Ovplyvňuje aktuálnu reláciu PowerShell a automaticky sa odstráni, keď sa relácia zatvorí.

Pridajte alebo odstráňte politiku vykonávania skriptov PowerShell v systéme Windows

Spúšťanie skriptu v prostredí PowerShell je predvolene zakázané pre klientov Windows a nastavené na RemoteSigned pre Windows server. Pokročilí používatelia však môžu zmeniť pravidlá vykonávania tak, aby spúšťali lokálne, podpísané a nepodpísané skripty PowerShell.

Prípadne môžete obísť politiku vykonávania prostredia PowerShell vložením skriptu do konzoly PowerShell alebo ECHO skriptu do štandardného vstupu prostredia PowerShell. Je to užitočné, ak chcete spúšťať skripty bez zmeny politiky vykonávania.