PowerShell Skript signieren

Damit PowerShell-Skripte auf Systemen ausgeführt werden können, müssen diese signiert werden. Für die Signatur ist es notwendig, dass Sie ein Zertifikat mit dem Zweck für Codesignatur besitzen. Eine Anleitung für die Erstellung finden Sie hier: Zertifikat für Codesignatur erstellen

Zertifikat Codesignatur
Zertifikat Codesignatur

Gehen Sie wie folgt um ein Skript zu signieren:

  1. Starten Sie PowerShell als Administrator
  2. Geben Sie wie im folgenden Beispiel den Pfad und Zertifikatsnamen ein und führen das Kommando aus
    $zert = Get-ChildItem -Path Cert:[Pfad] -CodeSigningCert | Where-Object { $_.Subject -like '*[Filter]*' }
    $zert = Get-ChildItem cert:\CurrentUser\My -CodeSigningCert | Where-Object { $_.Subject -like '*CN=Siegfried Paul*' }
  3. Prüfen Sie, ob das korrekte Zertifikat übernommen wurde​
    $zert | Select-Object
  4. Nach Anpassung des Pfades wie im folgenden Beispiel führen Sie die Signierung wie folgt durch.
    Set-AuthenticodeSignature -Certificate $zert -FilePath [PowerShell-Pfad]:
    Set-AuthenticodeSignature -Certificate $zert -FilePath C:\PowerShell\DHCPFilterSync.ps1
    
PowerShell Skript signieren
PowerShell Skript signieren
PowerShell Skript signieren
PowerShell Skript signieren

 

Durch Ausführung des Befehls powershell -ep RemoteSigned -file MyScript.ps1 können Sie eine Ausnahmen für die Ausführung einrichten.

Info:
Führen Sie das Skript auf dem Zielsystem aus, sollte das Zertifikat nicht vertrauenswürdig sein können Sie konfigurieren wie dieses Skript in Zukunft ausgeführt wird.



Weitere Links

Zertifikat für Codesignatur erstellen