Wie man es repariert "Der WinRM-Client kann die Anfrage nicht verarbeiten. Die Flagge, die den zu verwendenden Authentifizierungsmechanismus angibt, ist falsch".
Dieser umfassende Leitfaden enthält die Beschreibung und eine Schritt-für-Schritt-Auflösung für den Fehler der Authentifizierungsflagge von Windows Remote Management (WinRM).
Fehlerbeschreibung
This error occurs when a WinRM client attempts to establish a remote connection to a target server, but the authentication method specified by the client is either disabled, unsupported, or mismatched on the remote server.
Häufige Ursachen
- Disabled Authentication Providers: Der Client versucht, Kerberos, Negotiate oder CredSSP zu verwenden, aber dieser spezifische Anbieter ist in der WinRM-Konfiguration deaktiviert.
- Workgroup vs. Domain Mismatch: Trying to connect to a machine outside a trusted active directory domain without using explicit Basic authentication or configuring the
TrustedHostsListe. - Incorrect Connection Flags: Das PowerShell-Cmdlet oder die Anwendung, die die Verbindung initiiert, zwingt explizit einen Authentifizierungstyp, den der Server nicht akzeptiert.
- HTTPS/HTTP Confusion: Versuchen, unverschlüsselte Anmeldeinformationen über eine unverschlüsselte HTTP-Verbindung zu übermitteln, wenn die Serverrichtlinie streng HTTPS oder verschlüsselten Datenverkehr vorschreibt.
Schrittweise Lösungen
Folgen Sie diesen Lösungen, um das Problem zu beheben. Sie benötigen Administratorrechte sowohl für den Client als auch für die Remote-Maschinen.
Lösung 1: Notwendige Authentifizierungsarten aktivieren
You must ensure both the client and server have the required authentication protocols enabled (usually Negotiate Und... Kerberos ) ist.
- Öffnen. PowerShell as an Administrator auf dem Client-Rechner.
- Führen Sie den folgenden Befehl aus, um Ihre aktuellen Client-Authentifizierungseinstellungen zu überprüfen:
Get-ChildItem WSMan:\localhost\Client\Auth - Schauen Sie sich die Ausgabe an.
Negotiateoder...Kerberosist eingestellt.False, ermöglichen sie durch Ausführen:Set-Item WSMan:\localhost\Client\Auth\Negotiate -Value $true Set-Item WSMan:\localhost\Client\Auth\Kerberos -Value $true - Wiederholen Sie den Vorgang für die Service-/Serverseiteinstellungen, wenn Sie die Fernmaschine konfigurieren:
Set-Item WSMan:\localhost\Service\Auth\Negotiate -Value $true Set-Item WSMan:\localhost\Service\Auth\Kerberos -Value $true - Wiederaufsetzen des WinRM-Dienstes, um Änderungen anzuwenden:
Restart-Service WinRM
Lösung 2: Konfiguration von TrustedHosts (für Arbeitsgruppenumgebungen)
Wenn sich die Computer nicht in derselben Active Directory-Domäne befinden, wird die Clientmaschine die Verbindung ablehnen, es sei denn, dem Server wird ausdrücklich vertraut.
- Öffnen. PowerShell as an Administrator auf dem Client-Rechner.
- Fügen Sie die IP-Adresse oder den Hostnamen des Remotecomputers zu Ihrer Liste der vertrauenswürdigen Hosts hinzu:
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "REMOTE_COMPUTER_IP_OR_NAME"(Anmerkung: Sie können ` verwenden
to trust all hosts if you are in a secure private network, though this is less secure:Set-Item WSMan:\localhost\Client\TrustedHosts -Wert " " `) - Drücken Sie. Y Und schlagen. Enter wenn Sie aufgefordert werden, die Änderungen zu bestätigen.
Lösung 3: Geben Sie den Authentifizierungstyp in Ihrem Befehl ausdrücklich an
Wenn Sie die Fernverbindung starten, diktieren Sie manuell die Authentifizierungsflagge, anstatt Windows zu erraten.
- Bei der Anwendung
Enter-PSSessionoder...Invoke-Command, fügen Sie die-AuthenticationParameter. - Beispiel für Domänenumgebungen (Standard):
Enter-PSSession -ComputerName "RemotePC" -Authentication Negotiate - Beispiel für Arbeitsgruppenumgebungen (erfordert lokale Admin-Anmeldeinformationen des entfernten Computers):
$cred = Get-Credential Enter-PSSession -ComputerName "Remote_IP" -Authentication Basic -Credential $cred
Lösung 4: Nicht verschlüsselten Datenverkehr zulassen (wenn HTTPS nicht verwendet wird)
Wenn Sie sich über HTTP (Port 5985) und nicht über HTTPS (Port 5986) verbinden, kann WinRM den Austausch blockieren, wenn unverschlüsselte Verkehrsrichtlinien streng sind.
- Öffnen. PowerShell as an Administrator.
- Nicht verschlüsseltes Datenverkehr auf dem Client aktivieren:
Set-Item WSMan:\localhost\Client\AllowUnencrypted -Value $true - Nicht verschlüsseltes Datenverkehr auf dem Server aktivieren:
Set-Item WSMan:\localhost\Service\AllowUnencrypted -Value $true - Neustart des WinRM-Dienstes:
Restart-Service WinRM
Es kann einige Fehler geben.. Learn Microsoft