Tukaj je opisano, kako kar najbolje izkoristiti lupino Windows PowerShell, tako da omogočite pravilnik o izvajanju skriptov.
iPowerShell privzeto omogoča zagon ukazov (cmdletov) prek svoje konzole. Če želite izvesti skript, lahko ustvarite datoteko beležnice s kodo skripta, jo shranite s pripono datoteke .ps1 in jo izvedete prek konzole PowerShell. Skript lahko tudi neposredno prilepite na konzolo za izvedbo.
Če pa prvič izvajate skript prek lupine PowerShell, boste naleteli na napako »izvajanje skripta je onemogočeno«. Izvajanje skripta v lupini PowerShell je privzeto onemogočeno kot varnostni ukrep za preprečevanje izvajanja zlonamernih skriptov v vašem sistemu. Tukaj vam pokažemo dva načina za omogočanje pravilnika o izvajanju skripta v lupini Windows PowerShell.
Kako preveriti svojo obstoječo politiko izvajanja
Za pridobitev trenutnega pravilnika izvajanja lahko uporabite cmdlet PowerShell. Če želite vedeti, ali potrebujete spremembo pravilnika, morate poznati svojo trenutno politiko izvajanja.
Če želite pridobiti svoj trenutni pravilnik izvajanja za trenutnega uporabnika:
- Odprite Windows PowerShell kot skrbnik.
- V konzolo PowerShell vnesite naslednji ukaz in pritisnite Enter:
dobiti-izvedbena politika
- Ker ste pri izvajanju skripta naleteli na napako, se bo vrnitev verjetno prikazala Omejeno kot vašo trenutno politiko izvajanja.
- Če si želite ogledati politiko izvajanja za vse podprte obsege:
dobiti-seznam politik izvajanja
Če želite izvajati lokalne skripte brez napake, boste morali spremeniti pravilnik izvajanja v RemoteSigned. Politiko izvajanja lahko spremenite v aplikaciji Nastavitve in PowerShell.
Kako omogočiti politiko izvajanja PowerShell z aplikacijo Nastavitve
Pravilnik izvajanja PowerShell lahko spremenite in nastavite na RemoteSigned z aplikacijo Nastavitve. Vse, kar morate storiti, je prilagoditi nastavitve lupine PowerShell v razdelku za razvijalce, da spremenite pravilnik izvajanja in omogočite izvajanje skripta lupine PowerShell.
Če želite spremeniti pravilnik izvajanja z nastavitvami:
- Pritisnite Win + I odpreti Settings.
- Odprite Zasebnost in varnost zavihek v levem podoknu.
- Nato kliknite na Za razvijalce.
- Kliknite, da razširite PowerShell razdelek.
- Preklopite stikalo na spremenite politiko izvajanja, da omogočite izvajanje lokalnih skriptov PowerShell brez podpisovanja – zahtevajte podpisovanje za oddaljene skripte.
- Ko končate, odprite PowerShell, vnesite get politika izvajanja, in pritisnite Vnesite. Politika izvajanja za trenutnega uporabnika je zdaj nastavljena na RemoteSigned.
- Če morate onemogočiti pravilnik izvajanja, preklopite stikalo PowerShell in ga nastavite na Izključeno.
Kako dovoliti izvajanje skriptov v lupini PowerShell z uporabo lupine PowerShell
Uporabite lahko a PowerShell cmdlet da nastavite pravilnik izvajanja na RemoteSigned. Vmesnik ukazne vrstice olajša hitro spreminjanje pravilnika izvajanja brez uporabe aplikacije Nastavitve.
Poleg tega lahko aplikacija Nastavitve omogoči ali onemogoči samo politiko izvajanja RemoteSigned. PowerShell pa vam omogoča nastavitev tudi drugih pravilnikov in obsegov.
Če želite spremeniti pravilnik izvajanja s pomočjo PowerShell:
- Odprite PowerShell kot skrbnik.
- V okno PowerShell vnesite naslednji ukaz in pritisnite Vnesite:
Set-ExecutionPolicy RemoteSigned
- Če ste pozvani, pritisnite A za potrditev dejanja. To bo nastavilo RemoteSigned politiko izvajanja za vse uporabnike. Če želite nastaviti politiko izvajanja za Trenutni uporabnik uporabite samo parameter Scope, ki mu sledi uporabniško ime.
- Na primer, da nastavite RemoteSigned politiko izvajanja za Trenutni uporabnik, uporabite naslednji ukaz:
Set-ExecutionPolicy RemoteSgined -Obseg Trenutni uporabnik
- Zamenjati Trenutni uporabnik v zgornjem ukazu z drugimi uporabniki (Obseg) glede na vaše zahteve.
Kako odstraniti pravilnik o izvajanju skriptov z uporabo PowerShell
Če želite onemogočiti izvajanje skripta, nastavite pravilnik izvajanja na Nedoločeno z uporabo the Set_ExecutionPolicy cmdlet. To je privzeto stanje in PowerShell preprečuje izvajanje skriptov.
Če želite onemogočiti izvajanje skripta z lupino PowerShell:
- Odprite PowerShell s povišanim dovoljenjem.
- Nato vnesite naslednji ukaz in pritisnite enter, da onemogočite izvajanje skripta za vse uporabnike:
Set-ExecutionPolicy nedoločeno
- Zgornji ukaz bo nastavil privzeto politiko izvajanja (nedefinirano) za vse uporabnike. Če želite onemogočiti izvajanje skripta za določen obseg, uporabite naslednji ukaz:
Set-ExecutionPolicy nedoločeno -Obseg trenutnega uporabnika
- Zgornji ukaz bo onemogočil izvajanje skripta za Trenutni uporabnik.
Razumevanje politik in obsegov izvajanja
Preprosto povedano, PowerShell-ov pravilnik izvajanja je pravilnik, ki nadzoruje, kako PowerShell izvaja konfiguracijske datoteke in skripte. Namen je uporabnikom preprečiti nenamerno zagon zlonamernih skriptov. Sedem pravilnikov izvajanja lupine PowerShell je Privzeto, omejeno, oddaljeno podpisano, vsepodpisano, neomejeno, obhodno in nedefinirano.
Spodnja tabela na kratko pojasnjuje vse pravilnike izvajanja PowerShell:
Politika izvajanja |
Izvrševanje |
Privzeto |
Nastavi privzeti pravilnik izvajanja na Omejeno v odjemalcu Windows in RemoteSigned v strežniku Windows. |
AllSigned |
Omogoča izvajanje skriptov, ki jih je podpisal izdajatelj. |
Obvoznica |
Neomejeno izvajanje skriptov za večje aplikacije. |
RemoteSigned |
Omogoča izvajanje lokalno napisanega skripta. Zahteva digitalne podpise za skripte, prenesene iz interneta. |
Omejeno |
Ne dovoljuje izvajanja skripta, ampak samo posamezne ukaze PowerShell. |
Nedoločeno |
Nastavi pravilnik izvajanja na Omejeno za odjemalce Windows in RemoteSigned za Windows Server. |
Neomejeno |
Dovoli izvajanje nepodpisanega skripta z opozorilom za skripte, prenesene iz interneta. |
Obseg politike izvajanja
V lupini PowerShell lahko nastavite pravilnik izvajanja za določen obseg. Pet obsegov politik izvajanja je MachinePolicy, UserPolicy, Process, CurrentUser, in LocalMachine.
Spodnja tabela na kratko pojasnjuje vse obsege pravilnika izvajanja:
Obseg politike izvajanja |
Izvrševanje |
UserPolicy |
Konfigurirano s pravilnikom skupine za trenutnega uporabnika. |
Strojna politika |
Konfigurirano s pravilnikom skupine za vse uporabnike. |
CurrenUser |
Konfigurirano za trenutnega uporabnika in shranjeno v registrskem podključu HKEY_CURRENT_MACHINE. |
LocalMachine |
Konfigurirano za vse uporabnike in shranjeno v registrskem podključu HKEY_CURRENT_MACHINE. |
Proces |
Vpliva na trenutno sejo PowerShell in se samodejno izbriše, ko se seja zapre. |
Dodajte ali odstranite pravilnik o izvajanju skripta PowerShell v sistemu Windows
Izvajanje skripta v lupini PowerShell je privzeto onemogočeno za odjemalce Windows in nastavljeno na RemoteSigned za strežnik Windows. Izkušeni uporabniki pa lahko spremenijo pravilnike izvajanja za izvajanje lokalnih, podpisanih in nepodpisanih skriptov PowerShell.
Druga možnost je, da zaobidete politiko izvajanja lupine PowerShell tako, da prilepite skript v konzolo lupine PowerShell ali ECHO svoj skript v standardni vnos lupine PowerShell. To je uporabno, če želite izvajati skripte, ne da bi spremenili politiko izvajanja.