Powershell ScriptSigning

Hallo zusammen,

Wie kann man die Sicherheit von Scripts im Unternehmen erhöhen? Klar mit CodeSigning! Die Scripts werden signiert und der Interpreter kann die Signatur prüfen. Dazu habe ich mir mal ein CodeSigning Zertifikat ausgestellt.

Ich habe da mal ein einfaches Powershell Script vorbereitet.

Beim Versuch das Script auszuführen kommt eine Fehlermeldung. In der Standarteinstellung kann Powershell keine Scripts ausführen - dies muss explizit erlaubt werden.

Eine Powershel als Admin starten und den folgenden Befehl eingeben:

Set-ExecutionPolicy unrestricted

Damit dürfen nun alle Scripts ausgeführt werden.

So, nun klappt es also mit dem Powershell Script.

Nun wird das Script mit dem CodeSigning Zertifikat signiert:

Set-AuthenticodeSignature d:\temp\helloworld.ps1 @(Get-ChildItem cert:\CurrentUser\My -codesigning)[0]

So sieht das Signierte Script dann aus...

In einer Powershell (als Admin gestartet) wird die Execution Policy auf Allsigned gestellt.

Set-ExecutionPolicy allsigned

Okay, hier weiss ich nicht warum dieser Hinweis kommt. Meiner Meinung nach müsste das ohne diesen Hinweis klappen.

Nun also noch der Gegentest. Nachdem ich beim Script eine Leerzeile eingefügt, und dann abgespeichert habe, versuche ich das Script nochmals auszuführen.

Veränderte Scripts können also nicht mehr ausgeführt werden und müssen neu Signiert werden :o)

Grüsse
Andres