Evo kako najbolje iskoristiti Windows PowerShell omogućavanjem Pravila izvršavanja skripte.
iPowerShell prema zadanim postavkama omogućuje pokretanje naredbi (cmdleta) putem njegove konzole. Da biste izvršili skriptu, možete stvoriti datoteku bilježnice s kodom skripte, spremiti je s datotečnim nastavkom .ps1 i izvršiti je putem PowerShell konzole. Također možete izravno zalijepiti skriptu na konzolu za izvršenje.
Međutim, ako prvi put izvršavate skriptu putem PowerShell-a, naići ćete na pogrešku "izvršena skripta je onemogućena". Prema zadanim postavkama, izvršavanje skripte na PowerShell-u je onemogućeno kao sigurnosna mjera za sprječavanje izvođenja zlonamjernih skripti na vašem sustavu. Ovdje vam pokazujemo dva načina da omogućite politiku izvršavanja skripte na Windows PowerShell.
Kako provjeriti svoju postojeću politiku izvršenja
Možete koristiti PowerShell cmdlet da biste dobili svoju trenutnu politiku izvršavanja. Poznavanje vaše trenutne politike izvršenja je neophodno da biste znali trebate li promjenu politike ili ne.
Da biste dobili trenutnu politiku izvršavanja za trenutnog korisnika:
- Otvorite Windows PowerShell kao administrator.
- Upišite sljedeću naredbu u PowerShell konzolu i pritisnite Enter:
dobiti-politika izvršenja
- Budući da ste naišli na pogrešku prilikom izvršavanja skripte, vjerojatno će se prikazati povratak Ograničen kao vašu trenutnu politiku izvršenja.
- Ako trebate vidjeti politiku izvršavanja za sve podržane opsege:
dobiti-politika izvršenja -popis
Morat ćete promijeniti politiku izvršavanja u RemoteSigned da biste pokrenuli lokalne skripte bez pogreške. Politiku izvršavanja možete promijeniti iz aplikacije Postavke i PowerShell-a.
Kako omogućiti PowerShell politiku izvršavanja pomoću aplikacije Postavke
Politiku izvršavanja PowerShell možete promijeniti i postaviti na RemoteSigned pomoću aplikacije Postavke. Sve što trebate učiniti je podesiti postavke PowerShell-a u odjeljku za programere kako biste promijenili politiku izvršavanja kako biste omogućili izvršavanje PowerShell skripte.
Za promjenu pravila izvršavanja pomoću postavki:
- Pritisnite Win + I otvoriti Settrnci.
- Otvori Privatnost i sigurnost karticu u lijevom oknu.
- Zatim kliknite na Za programere.
- Kliknite za proširenje PowerShell odjeljak.
- Prebacite prekidač na promijenite politiku izvršavanja kako biste lokalnim PowerShell skriptama omogućili izvođenje bez potpisivanja - Zahtijevaj potpisivanje za udaljene skripte.
- Kada završite, otvorite PowerShell, upišite get politika izvršenja, i pritisnite Unesi. Politika izvršavanja za trenutnog korisnika sada je postavljena na RemoteSigned.
- Ako trebate onemogućiti pravilo izvršavanja, prebacite prekidač PowerShell i postavite ga na Isključeno.
Kako dopustiti izvođenje skripti u PowerShell pomoću PowerShell
Možete koristiti a PowerShell cmdlet da biste postavili politiku izvršavanja na RemoteSigned. Sučelje naredbenog retka olakšava brzu promjenu pravila izvršavanja bez upotrebe aplikacije Postavke.
Također, aplikacija Postavke može samo omogućiti ili onemogućiti politiku izvršavanja RemoteSigned. Dok vam PowerShell također omogućuje postavljanje drugih pravila i opsega.
Za promjenu pravila izvršavanja pomoću PowerShell-a:
- Otvorite PowerShell kao administrator.
- U prozor PowerShell upišite sljedeću naredbu i pritisnite Unesi:
set-ExecutionPolicy RemoteSigned
- Ako se to od vas zatraži, pritisnite A za potvrdu akcije. Ovo će postaviti RemoteSigned politika izvršenja za sve korisnike. Ako želite postaviti politiku izvršavanja za Trenutni korisnik samo, koristite parametar Opseg nakon kojeg slijedi korisničko ime.
- Na primjer, za postavljanje RemoteSigned politika izvršenja za Trenutni korisnikupotrijebite sljedeću naredbu:
set-ExecutionPolicy RemoteSgined -Opseg Trenutni korisnik
- Zamijeniti Trenutni korisnik u gornjoj naredbi s drugim korisnicima (Opseg) prema vašem zahtjevu.
Kako ukloniti politiku izvršavanja skripti pomoću PowerShell-a
Ako želite onemogućiti izvršavanje skripte, postavite pravilo izvršavanja na Nedefiniran pomoću the Set_ExecutionPolicy cmdlet. Ovo je zadano stanje i sprječava PowerShell da izvršava bilo kakve skripte.
Da biste onemogućili izvršavanje skripte pomoću PowerShell-a:
- Otvorite PowerShell s povišenim dopuštenjem.
- Zatim upišite sljedeću naredbu i pritisnite enter da onemogućite izvršavanje skripte za sve korisnike:
set-Politika izvršenja nedefiniran
- Gornja naredba postavit će zadanu (nedefiniranu) politiku izvršavanja za sve korisnike. Ako želite onemogućiti izvršavanje skripte za određeni opseg, upotrijebite sljedeću naredbu:
set-Politika izvršenja nedefiniran -Opseg CurrentUser
- Gornja naredba će onemogućiti izvršavanje skripte za Trenutni korisnik.
Razumijevanje politika i opsega izvršenja
Jednostavno rečeno, PowerShell-ova politika izvršavanja je politika koja kontrolira kako PowerShell izvršava konfiguracijske datoteke i skripte. Namjera je spriječiti korisnike da slučajno pokrenu zlonamjerne skripte. Sedam politika izvršavanja PowerShell-a su Zadano, Ograničeno, Daljinski potpisano, Sve Potpisano, Neograničeno, Zaobilazno i Nedefinirano.
Donja tablica ukratko objašnjava sva pravila izvršavanja PowerShell-a:
Politika izvršenja |
Ovrha |
Zadano |
Postavlja zadanu politiku izvršavanja kao Ograničeno na Windows klijentu i RemoteSigned na Windows Serveru. |
Svi Potpisani |
Omogućuje izvršavanje skripti koje je potpisao izdavač. |
Zaobići |
Neograničeno izvršavanje skripti za veće aplikacije. |
RemoteSigned |
Omogućuje izvršavanje lokalno napisane skripte. Zahtijeva digitalne potpise za skripte preuzete s interneta. |
Ograničen |
Ne dopušta izvršavanje skripti, već samo pojedinačnih PowerShell naredbi. |
Nedefiniran |
Postavlja politiku izvršavanja na Ograničeno za Windows klijente i RemoteSigned za Windows Server. |
Neograničen |
Dopusti izvršavanje nepotpisane skripte s upozorenjem za skripte preuzete s interneta. |
Opseg politike izvršenja
Možete postaviti politiku izvršavanja za određeni opseg u PowerShell-u. Pet opsega politike izvršenja su MachinePolicy, UserPolicy, Process, CurrentUser, i LocalMachine.
Donja tablica ukratko objašnjava sve domete pravila izvršenja:
Opseg politike izvršenja |
Ovrha |
Korisnička Pravila |
Konfigurirano pravilima grupe za trenutnog korisnika. |
Politika stroja |
Konfigurirano pravilima grupe za sve korisnike. |
TrenutniKorisnik |
Konfigurirano za trenutnog korisnika i pohranjeno u potključu registra HKEY_CURRENT_MACHINE. |
LocalMachine |
Konfigurirano za sve korisnike i pohranjeno u potključu registra HKEY_CURRENT_MACHINE. |
Postupak |
Utječe na trenutnu PowerShell sesiju i automatski se briše kada se sesija zatvori. |
Dodavanje ili uklanjanje pravila izvršavanja skripte PowerShell u sustavu Windows
Izvršenje skripte na PowerShell-u onemogućeno je prema zadanim postavkama za Windows klijente i postavljeno na RemoteSigned za Windows poslužitelj. Napredni korisnici, međutim, mogu promijeniti pravila izvršavanja za pokretanje lokalnih, potpisanih i nepotpisanih PowerShell skripti.
Alternativno, možete zaobići pravila izvršavanja PowerShell tako da zalijepite skriptu u PowerShell konzolu ili ECHO svoju skriptu u PowerShell standardni unos. Ovo je korisno ako želite izvršavati skripte bez mijenjanja pravila izvršavanja.