Set Rdp Signature
Zuletzt geändert: 20.04.2026 11:06

Übersicht

Set-RdpSignature #

ÜBERSICHT #

Signiert .rdp-Dateien mit rdpsign.exe und richtet die zugehörige Vertrauenskette ein.

SYNTAX #

Set-RdpSignature [-Path] <string> [[-CertSubject] <string>] [[-RenewBeforeDays] <int>]
    [[-ValidityYears] <int>] [-KeepUnsignableFields] [-Elevate] [<CommonParameters>]

BESCHREIBUNG #

Nimmt eine einzelne .rdp-Datei oder ein Verzeichnis (ohne Rekursion) als Eingabe. Die Funktion stellt sicher, dass ein gültiges Signatur-Zertifikat im Benutzer-Zertifikatsspeicher liegt und erneuert es, wenn es fehlt oder innerhalb von -RenewBeforeDays abläuft. Sie trägt das Zertifikat in die Stores TrustedPublisher und Root ein (jeweils CurrentUser und LocalMachine), fügt den Thumbprint in die Policy TrustedCertThumbprints ein, setzt den Microsoft-offiziellen Rollback-Wert RedirectionWarningDialogVersion=1 (ohne den erscheint seit dem April-2026-Sicherheitsupdate KB5083769 / CVE-2026-26151 der neue Ressourcen-Umleitungs-Dialog auch bei gültiger Signatur), beendet laufende mstsc-Instanzen und signiert anschließend alle gefundenen .rdp-Dateien mit rdpsign.exe.

Standardmäßig werden vor dem Signieren Felder entfernt, die rdpsign.exe nicht in seinem internen Signaturumfang aufnimmt (redirectlocation, camerastoredirect, usbdevicestoredirect). Diese Felder führen sonst trotz gültiger Signatur zum mstsc-Vertrauensdialog. Mit -KeepUnsignableFields bleiben die Dateien unverändert.

Bricht mit Fehler ab, wenn rdpsign.exe nicht gefunden wird oder die Session keine Administratorrechte besitzt (HKLM-Schreibzugriff nötig).

PARAMETER #

-Path #

Type: string

Eine .rdp-Datei oder ein Verzeichnis. Bei einem Verzeichnis werden alle *.rdp-Dateien im obersten Level signiert (keine Rekursion in Unterordner).

-CertSubject #

Type: string
Default: "RDP-Signatur $env:COMPUTERNAME"

Subject des Zertifikats ohne CN=-Präfix. Standard: “RDP-Signatur $env:COMPUTERNAME”.

-RenewBeforeDays #

Type: int
Default: 30

Schwellwert für die Restlaufzeit in Tagen. Läuft das Zertifikat innerhalb dieser Anzahl Tage ab, wird es automatisch erneuert. Standard: 30.

-ValidityYears #

Type: int
Default: 10

Laufzeit eines neu erstellten Zertifikats in Jahren. Standard: 10.

-KeepUnsignableFields #

Type: switch

Verhindert die Vorverarbeitung der .rdp-Dateien. Nicht-signierbare Felder bleiben erhalten - dann kann der Dialog “Bestätigen Sie den Herausgeber dieser Remoteverbindung” trotz gültiger Signatur weiterhin erscheinen.

-Elevate #

Type: switch

Wird die Funktion ohne Administratorrechte aufgerufen, startet dieser Schalter per Start-Process -Verb RunAs eine neue PowerShell-Session mit UAC-Anforderung (gleiche Edition wie die aktuelle: PS 5.1 oder PS 7+), importiert EulandaXtools dort und führt den Aufruf mit den gleichen Parametern erneut aus. Das Ergebnis erscheint im neuen Fenster (-NoExit bleibt offen, damit die Ausgabe lesbar bleibt).

BEISPIELE #

Set-RdpSignature -Path 'C:\RDP\server.rdp'

Signiert genau diese Datei.
Set-RdpSignature -Path 'C:\RDP' -Verbose

Signiert alle .rdp-Dateien im Ordner (ohne Unterverzeichnisse).

HINWEISE #

Muss in einer als Administrator gestarteten PowerShell laufen. Nach dem Lauf sind alle laufenden mstsc-Instanzen beendet, damit die neue Policy beim nächsten Start greift.

Zum RedirectionWarningDialogVersion-Wert merkt Microsoft selbst an: “Ein zukünftiges Windows Update kann die Unterstützung für diese Einstellung auch bei älteren Versionen von Windows entfernen.” Der Rollback ist also als temporäre Maßnahme gedacht.