Hvordan tillate kjøring av Powershell script på Windows 7


Når du laster ned et script på internett og prøver å kjøre den, hvis du ikke allerede har konfigurert Powershell, det vil kaste en stygg feil i rødt font. Dette er nok til å skremme de fleste brukere av, men det er lett å fikse.

Powershell har en rekke kjøring moduser som definerer hva slags kode det er tillatt å kjøre, dette er styrt av en registernøkkel som lever i HKLM bikube. Det er 4 forskjellige moduser gjennomføring, er de:

Begrenset: Standard utførelse politikk, ikke kjøre skript, interaktive kommandoer bare

All Signert:. Kjører skript; alle skript og konfigurasjonsfiler må være signert av en utgiver som du stoler; åpner du risikoen for å kjøre signert (men ondsinnede) scripts, etter å ha bekreftet at du stoler på utgiveren

Remote Signert:. Lokale skript kjøres uten signatur. Nedlastet skript trenger en digital signatur, selv en UNC-bane

Fri: Kjører skript;. alle skript og konfigurasjonsfiler lastet ned fra kommunikasjons programmer som Microsoft Outlook, Internet Explorer, Outlook Express og Windows Messenger kjøre etter å ha bekreftet at du forstår filen stammer fra Internett; ingen digital signatur er nødvendig; åpner du risikoen for å kjøre usignerte, ondsinnede skript som er lastet ned fra disse programmene

Standardutførelse av Powershell kalles Begrenset. I denne modusen fungerer Powershell som en interaktiv skall bare. Det trenger ikke kjøre skript, og laster bare konfigurasjonsfiler signert av en utgiver som du stoler på. Hvis du får den ekle røde feil den mest sannsynlige årsaken er at du prøver å kjøre en usignert script. Den sikreste tingen å gjøre er å endre utførelse av kundeordre til ubegrenset, kjøre script og deretter endre den tilbake til begrenset
.

For å endre den til ubegrenset kjøre følgende kommando fra en administrativ Powershell .:

Set-ExecutionPolicy Fri

Du vil bli spurt om du er sikker på at du vil trykke Enter-knappen igjen for å endre utførelse av kundeordre


Du kan nå kjøre nedlastede skript uten problem. Men det er en alvorlig sikkerhetsrisiko hvis du glemmer å sette Execution Regler tilbake til Begrenset modus. Du kan sikkert gjette hvordan du setter den tilbake til Begrenset, men incase du ikke gjør det:

Set-ExecutionPolicy Restricted

Igjen vil du bli spurt om du er sikker på at du vil endre kjøringsmodus, gå videre og trykk enter.