Så här kör du egna PowerShell-skript / cmdlets

Som standard har Microsoft förhindrat körning av anpassade PowerShell-skript, bland annat cmdlets, genom att ställa in PowerShell "ExecutionPolicy" till "Begränsad". Detta kan ändras enkelt.

Du kan ändra ExecutionPolicy för PowerShell-skript / cmdlets genom att köra PowerShell-kommandot Set-ExecutionPolicy.

För att utarbeta dina alternativ för det här kommandot, kör du bara följande i PowerShell:

Set-ExecutionPolicy -ExecutionPolicy -?

Personligen föredrar jag att ställa ExecutionPolicy till "RemoteSigned". Detta tillåter mig att köra mina egna skript, men förhindrar unsigned scripts från andra att springa:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

Testa detta på följande sätt: Skapa ett nytt PowerShell-skript på skrivbordet. Högerklicka på skrivbordet, nytt> textdokument. Namn det test.ps1

Högerklicka test.ps1 och välj Redigera. Det ska öppnas med PowerShell ISE (Integrated Scripting Environment). Skriv följande i den övre rutan:

Echo "Hej världen!"

start sömn 10

Spara den med Ctrl + S och stäng den.

Öppna nu powerhell, byt till skrivbordet och försök att köra skriptet:

cd "$ env: userprofile \ Desktop"

. \ Test.ps1

Ändra sedan din ExecutionPolicy till "RemoteSigned" och försök igen:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

. \ Test.ps1

Observera att manuset / cmdletet refereras med ". \". Du kan också använda hela sökvägen, men kan inte köra den genom att bara skriva sitt namn (väldigt Unix som, eh?).

Notera också användningen av "$ env: userprofile" för att representera sökvägen till din användarprofil. I den klassiska Windows Command Processor representerades detta med "% userprofile%".

Slutligen, var vänlig observera att det inte fungerar som angivet om du inte befinner dig i den lokala administratörsgruppen. Det är i själva verket en bästa praxis att undvika daglig användning av ett konto som finns i den lokala administratörsgruppen, så det kan vara fallet för dig. För att omgärda det, starta du powerhell som administratör för att ange exekveringspolicy. Kolla här.