Sådan tillader udførelse af PowerShell Scripts på Windows 7
Når du downloader et script fra internettet og forsøger at køre det, hvis du ikke tidligere har konfigureret PowerShell, vil det smide en grim fejl i rød skrifttype. Dette er nok til at skræmme de fleste brugere, men der er en nem løsning.
PowerShell har en række udførelsesformer, der definerer hvilken type kode det er tilladt at køre, dette styres af en registreringsnøgle, der lever i HKLM-bikupen. Der er 4 forskellige udførelsesformer, de er:
- begrænset: Standardudførelsespolitik, løber ikke kun scripts, interaktive kommandoer.
- Alle underskrevet: Kører scripts; Alle scripts og konfigurationsfiler skal underskrives af en udgiver, som du stoler på; åbner dig for risikoen for at køre underskrevne (men ondsindede) scripts, efter at du har bekræftet, at du stoler på udgiveren.
- Fjerntegnet: Lokale scripts kører uden underskrift. Alle downloadede scripts har brug for en digital signatur, endda en UNC-sti.
- Ubegrænset: Kører scripts; Alle scripts og konfigurationsfiler, der er downloadet fra kommunikationsprogrammer som Microsoft Outlook, Internet Explorer, Outlook Express og Windows Messenger, kører efter at have bekræftet, at du forstår filen, der stammer fra internettet. ingen digital signatur er påkrævet åbner dig for risikoen for at køre usignerede, ondsindede scripts hentet fra disse applikationer
Standardudførelsespolitikken for PowerShell kaldes Begrænset. I denne tilstand fungerer PowerShell kun som en interaktiv skal. Den kører ikke scripts og indlæser kun konfigurationsfiler underskrevet af en udgiver, som du stoler på. Hvis du får den ubehagelige røde fejl, er den mest sandsynlige årsag, at du forsøger at køre et usigneret script. Den sikreste ting at gøre er at ændre udførelsespolitikken til ubegrænset, køre dit script og derefter skift det tilbage til begrænset.
For at ændre det til ubegrænset kør følgende kommando fra en administrativ PowerShell:
Set-ExecutionPolicy Ubegrænset
Du bliver spurgt, om du er sikker på, at du vil ændre udførelsespolitikken, og tryk på Enter-knappen igen.
Du kan nu køre dine downloadede scripts uden problemer. Det er dog en alvorlig sikkerhedsrisiko, hvis du glemmer at indstille Udførelsesbestemmelsen tilbage til Begrænset tilstand. Du kan nok gætte, hvordan du sætter det tilbage til Begrænset, men incase du ikke:
Set-ExecutionPolicy Begrænset
Igen bliver du spurgt, om du er sikker på, at du vil ændre udførelsesmodus, gå videre og tryk på Enter.