Powershell Set-ExecutionPolicy

Es gibt diese Blogposts die für mich gedacht sind, weil ich mir oft Sachen nicht merken kann. Der Leser profitiert davon wenn er in das Selbe Problem läuft und ich, weil ich mir das nicht merken muss sondern auf einen Blog auslagern kann.

Ich wollte gerade Chocolatey installieren, da ich ein neues System aufgesetzt habe. Und siehe da Powershell hat mich heute gar nicht gern. Und sagt das meine IT Restriktionen vorgesehen hätte.
Einer der Vorteile bei Microsoft zu arbeiten ist mit Sicherheit das vertrauen das IT in seine Mitarbeiter hat. Gut da gibt es diesen komischen Prozess im Hintergrund, aber das ist eine andere Geschichte. Jedenfalls wollte ich schauen was mit der Powershell unter Windows 10 los ist.

Um herauszufinden warum ein Script nicht läuft kann man den Befehl Get-ExecutionPolicy verwenden.

Get-ExecutionPolicy

Das resultat meiner Abfrage war: "Restricted"

Absolute Frechheit als ob ich "I love you" oder andere VBS Scripte ausführen würde. Okay zugegeben die Evidence also der Ursprung der meisten Scripte die ich ausführe ist das Internet. Nicht besonders Vertrauenserweckend!?

Egal Windows und ich müssen jetzt da durch den ansonsten kann ich den Packetmanager Chocolatey nicht verwenden.

Über den Befehl Set-ExecutionPolicy kann man den Wert setzen. Das mit dem Internet macht mir sorgen. Kann ich Scripte die aus dem Internet kommen wirklich vertrauen? Wahrscheinlich sollte ich das nicht tun. Deshalb bietet mir Windows 4 unterschiedliche Policies an.

Laut MSDN sind das die folgenden:

  • Restricted
  • AllSigned
  • RemoteSigned
  • Unrestricted

Ich schätze mal ohne die Dokumentation zu lesen das Unrestricted der "Russisch Roulette" Mode ist? Und entscheide mich für RemoteSigned.

Set-ExecutionPolicy RemoteSigned

Und siehe da, nun lässt sich auch Chocolatey ausführen. Was ist Chocolatey. Das ist eine andere Geschichte und somit ein anderer Blogpost.