V predvolenom nastavení obmedzuje PowerShell spúšťanie skriptov na počítačoch koncových používateľov. Toto nastavenie je dobré z hľadiska bezpečnosti. Ak však používate veľa skriptov, ktoré ste si stiahli alebo kódovali sami, môže to byť naozaj nepríjemné. V tomto článku sa budeme zaoberať tým, ako zmeniť predvolené pravidlá spúšťania skriptov PowerShell v systéme Windows 10.
Inzerát
Windows PowerShell má štyri rôzne zásady vykonávania:
- Obmedzené - nie je možné spustiť žiadne skripty. Windows PowerShell je možné používať iba v interaktívnom režime.
- AllSigned - Spustiť sa dajú iba skripty podpísané dôveryhodným vydavateľom.
- RemoteSigned - Stiahnuté skripty musia byť pred spustením podpísané dôveryhodným vydavateľom.
- Neobmedzený - žiadne obmedzenia; je možné spustiť všetky skripty Windows PowerShell.
- Nedefinované - Neboli stanovené žiadne pravidlá vykonávania.
Ak politika vykonávania nie je nastavená a nie je nakonfigurovaná, zobrazí sa ako „Nedefinovaná“. Tu vidíte, ako vidíte aktuálnu hodnotu.
Ako vidieť pravidlá vykonávania PowerShell
- Otvorte PowerShell .
- Zadajte alebo skopírujte a vložte nasledujúci príkaz a stlačte kláves Enter:
Get-ExecutionPolicy -List
Príkaz zobrazí všetky politiky vykonávania. Ako vidíte, existuje niekoľko rozsahov, pre ktoré je možné definovať politiku vykonávania. Môže byť nastavený globálne pre všetkých používateľov, iba pre aktuálneho používateľa alebo pre aktuálny proces. Aktuálna politika procesu má prednosť pred nastaveniami aktuálneho používateľa. Aktuálne pravidlá používateľa majú prednosť pred globálnou možnosťou. Majte to na pamäti. Teraz sa pozrime, ako zmeniť politiku vykonávania skriptov pre PowerShell.
Zmeňte zásadu vykonávania prostredia PowerShell pre daný proces
- Otvorte a príkazový riadok alebo PowerShell.
- Spustite súbor powershell.exe s argumentom -ExecutionPolicy Unrestricted. Napríklad,
Powershell.exe - ExecutionPolicy Unrestricted - Súbor c: data test.ps1
Váš skript sa spustí pomocou politiky neobmedzeného vykonávania. Namiesto skriptu môžete spustiť rutinu cmdlet alebo požadovaný program. Namiesto možnosti „Neobmedzené“ môžete použiť ktorékoľvek z vyššie uvedených zásad.
Tip: V prípade otvorenej konzoly PowerShell môžete politiku spustenia prepnúť pomocou príkazu:
Set-ExecutionPolicy Neobmedzený - Rozsah procesu
Zostane aktívna, kým nezavriete aktuálne okno PowerShell.
Zmeňte pravidlá vykonávania PowerShell pre aktuálneho používateľa
- Otvorte PowerShell.
- Zadajte alebo skopírujte a vložte nasledujúci príkaz a stlačte kláves Enter:
Set-ExecutionPolicy Unrestricted -Scope CurrentUser
Tip: Ak politika nie je nastavená za vyššie uvedeným príkazom, skúste ju skombinovať s argumentom -Force, napríklad takto:
Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
Keď je politika spustenia nastavená pre aktuálneho používateľa, prepíše rozsah „LocalMachine“. Opäť platí, že pre proces ho môžete prepísať pre aktuálnu inštanciu prostredia PowerShell, ako je opísané vyššie.
Zmeňte globálnu politiku vykonávania prostredia PowerShell
Táto zásada vykonávania sa vzťahuje na počítač, čo znamená, že je účinná pre tie používateľské účty, pre ktoré nie sú individuálne použité žiadne zásady vykonávania. S predvoleným nastavením sa použije pre všetky používateľské účty.
Zmena politiky vykonávania prostredia PowerShell v systéme Windows 10 , urobte nasledovné.
- Otvorte PowerShell ako správca .
- Vykonajte nasledujúci príkaz:
Set-ExecutionPolicy Unrestricted -Scope LocalMachine
Skončil si.
Zmeňte politiku vykonávania prostredia PowerShell pomocou vylepšenia registra
Politiku vykonávania je možné zmeniť úpravou databázy Registry pre aktuálneho používateľa aj pre počítač. Takto sa to dá urobiť.
- Otvor Editor registrov .
- Ak chcete zmeniť politiku vykonávania aktuálneho používateľa, prejdite na
HKEY_CURRENT_USER SOFTWARE Microsoft PowerShell 1 ShellIds Microsoft.PowerShell
- Nastavte hodnotu reťazca ExecutionPolicy na jednu z nasledujúcich hodnôt: Restricted, AllSigned, RemoteSigned, Unrestricted, Undefined.
- Ak chcete zmeniť politiku vykonávania pre rozsah LocalMachine, prejdite na
HKEY_LOCAL_MACHINE SOFTWARE Microsoft PowerShell 1 ShellIds Microsoft.PowerShell
- Nastavte hodnotu reťazca ExecutionPolicy na jednu z nasledujúcich hodnôt: Restricted, AllSigned, RemoteSigned, Unrestricted, Undefined.
Tip: Zistite, ako prejsť na kľúč databázy Registry jedným kliknutím . Tiež môžete rýchlo prepínať medzi HKCU a HKLM v editore databázy Windows 10 .
Ako môžem zablokovať subreddit
To je všetko.