Fehlerbeschreibung
This error occurs when you attempt to establish a remote Windows PowerShell or WinRM (Windows Remote Management) session using a specific certificate thumbprint for authentication, but your command or configuration fails to explicitly instruct the WinRM client to actually transmit that client certificate.
WinRM benötigt standardmäßig eine spezifische programmatische Flag genannt WSManFlagUseClientCertificate (oder sein gleichwertiger Parameter in PowerShell-Cmdlets) aktiviert werden, wenn ein Zertifikat-Dummenabdruck bereitgestellt wird. Ohne diese Flagge erkennt der WinRM-Client einen Widerspruch: Sie haben es gesagt die Sie haben mir das Zertifikat nicht gegeben. Erlaubnis um die Authentifizierung von Clientzertifikaten zu verwenden.
Schrittweise Lösungen
Methode 1: Hinzufügen des -CertificateFingerabdruckparameters in PowerShell
Wenn Sie die New-PSSession oder... Enter-PSSession cmdlets, müssen Sie sicherstellen, dass Sie die korrekte Parameterkonfiguration verwenden, die das Client-Zertifikat-Flag zum Aktivieren zwingt.
- Open PowerShell als Administrator.
- Modify Ihr Verbindungsbefehl beinhaltet beide
-CertificateThumbprintUnd die...-UseSSLParameter. - Run der Befehl mit dieser genauen Struktur:
$thumbprint = "YOUR_CERTIFICATE_THUMBPRINT_HERE" New-PSSession -ComputerName "TARGET_COMPUTER_NAME" -CertificateThumbprint $thumbprint -UseSSLAnmerkung: Angabe
-CertificateThumbprinttriggert die erforderlichen WSMan-Client-Zertifikatsflaggen unter der Haube in modernen PowerShell-Versionen.
Methode 2: Konfiguration von wsman-Sitzungsoptionen ausschließlich
Wenn Sie ein Drehbuch schreiben, verwenden Sie New-WSManSessionOption, müssen Sie den Authentifizierungsmechanismus explizit definieren, damit das Signal an das WinRM-Subsystem weitergegeben wird.
- Open Ihr PowerShell-Skript oder Ihre Konsole.
- Create ein Sitzungsoptionsobjekt, das die Authentifizierung des Clientzertifikats angibt:
$sessionOptions = New-WSManSessionOption -ClientCertificate - Pass Diese Option wird mit dem
-SessionOptionParameter:New-PSSession -ComputerName "TARGET_COMPUTER_NAME" -CertificateThumbprint "YOUR_CERTIFICATE_THUMBPRINT_HERE" -SessionOption $sessionOptions -UseSSL
Methode 3: Verknüpfen des Zertifikats mit dem WinRM-Client (Lokale Computerrichtlinie)
Wenn der Fehler anhält, ist der lokale WinRM-Client möglicherweise nicht so konfiguriert, dass Clientzertifikate ordnungsgemäß zugelassen oder zugeordnet werden.
- Click das Startmenü eingeben
cmdMit der rechten Maustaste. Command Prompt, und wählen Run as administrator. - Enable Authentifizierung des Clientzertifikats in der lokalen WinRM-Konfiguration durch Ausführen:
winrm set winrm/config/client/auth @{Certificate="true"} - Verify die Konfigurationsänderung durch Ausführen:
winrm get winrm/config/client/auth - Ensure Das ist...
Certificate = trueerscheint in der Ausgabeliste.
Methode 4: Überprüfen Sie den Standort des vertrauenswürdigen Root- und Clientzertifikats
WinRM wird die Zertifikatsmarkierung nicht erfolgreich übergeben, wenn sich das Zertifikat nicht im richtigen persönlichen Speicher befindet oder wenn es vom Betriebssystem nicht vertraut wird.
- Press
Windows Key + R, Typcertlm.msc, und drücken. Enter um den lokalen Maschinenzertifikatsmanager zu öffnen. - Navigate Ich bin hier.
Personal- >Certificatesund stellen Sie sicher, dass Ihr Client-Zertifikat hier vorhanden ist und einen privaten Schlüssel enthält. - Navigate Ich bin hier.
Trusted Root Certification Authorities- >Certificatesund stellen Sie sicher, dass das Root-Zertifikat, das Ihr Client-Zertifikat unterschrieben hat, hier aufgeführt ist. - Restart Der WinRM-Dienst kann Systemänderungen durch Ausführen dieses Befehls in der Befehlszeile des Administrators durchführen:
net stop winrm && net start winrm
Es kann einige Fehler geben.. Learn Microsoft