Warum das geschieht
- Custom URI Misconfigurations: Der an den Befehl übermittelte Endpunkt- oder Verbindungs-URI (Uniform Resource Identifier) hat einen Syntaxfehler oder ein nicht unterstütztes Schema.
- Corrupted WinRM Configurations: Die lokale oder entfernte WinRM-Luschterkonfiguration ist beschädigt oder falsch ausgerichtet.
- WS-Management Protocol Mismatches: Der Client versucht, einen Remote-Shell-Typ oder eine benutzerdefinierte Plug-in-Konfiguration zu verwenden, die auf dem Zielserver nicht registriert oder aktiviert ist.
- Corrupted System Files: Die zugrunde liegenden Windows-Verwaltungsdateien oder Abhängigkeiten sind beschädigt.
Schrittweise Lösungen
Testen Sie Ihre Verbindung nach Abschluss jedes Schritts, um zu sehen, ob das Problem behoben ist.
Schritt 1: Ausführen der WinRM-Schnellen Konfiguration
Dieses Dienstprogramm setzt die Standard-WinRM-Einstellungen zurück, aktiviert den Zuhörer und erstellt die erforderlichen Firewall-Ausnahmen.
- Klicken Sie auf Start menu, Typ
cmdMit der rechten Maustaste. Command Prompt, und wählen Run as administrator. - Geben Sie den folgenden Befehl ein und drücken Sie Enter:
winrm quickconfig - Wenn Sie aufgefordert werden, Änderungen vorzunehmen und den Dienst zu aktivieren, geben Sie
yund drücken. Enter. - Geben Sie den folgenden Befehl ein, um zu überprüfen, ob der Hörer ordnungsgemäß ausgeführt wird:
winrm e winrm/config/listener
Schritt 2: Überprüfen und zurücksetzen Sie die Verbindungs-URI
Wenn Sie ein bestimmtes PowerShell-Skript oder Befehl ausführen (z. B. Enter-PSSession oder... New-PSSession ), kann der benutzerdefinierte URI-Parameter falsch sein.
- Stellen Sie sicher, dass Sie nicht manuell einen Invaliden passieren.
-ConnectionURIEin Standard WinRM URI sieht so aus:http://<ComputerName>:5985/wsman - Wenn Sie eine benutzerdefinierte Shell verwenden, überprüfen Sie, ob sich die URI-Zeichenfolge streng an das von Ihrer Zielanwendung erforderliche Schema hält.
- Versuchen Sie die Standardverbindung.
-ComputerNameParameter anstelle des benutzerdefinierten URI-Parameters, um zu sehen, ob die Standardshell funktioniert:Enter-PSSession -ComputerName Target_Computer_Name
Schritt 3: Hinzufügen des Zielhosts zur Liste der vertrauenswürdigen Hosts
Der Client-Computer lehnt Verbindungen zu nicht vertrauenswürdigen Endpunkten ab, es sei denn, sie werden explizit der lokalen Konfiguration hinzugefügt.
- Öffnen. PowerShell als Administrator.
- Führen Sie diesen Befehl aus, um Ihre aktuellen vertrauenswürdigen Hosts anzuzeigen:
Get-Item WSMan:\localhost\Client\TrustedHosts - Um einem bestimmten Computer zu vertrauen, laufen Sie:
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "Target_Computer_Name" -Force(Anmerkung: Sie können ` verwenden ` als Wert, um allen Computern zu vertrauen, obwohl dies nur für isolierte Testumgebungen empfohlen wird).*
- Wiederaufsetzen des WinRM-Dienstes, um die Änderungen anzuwenden:
Restart-Service WinRM
Schritt 4: Reparatur beschädigter WinRM-Plugins und -Shells
Wenn eine benutzerdefinierte Remote-Shell-Registrierung beschädigt ist, kann das Zurücksetzen der Shell-Infrastruktur das Problem beheben.
- Öffnen. Command Prompt als Administrator.
- Führen Sie diesen Befehl aus, um die WinRM-Standardkonfiguration wiederherzustellen:
winrm reset - Als nächstes überprüfen Sie die registrierten Shell auf Ihrem System, indem Sie:
winrm e winrm/config/Shell - Stellen Sie sicher, dass die Standard-Shell-URI (
http://microsoft.com) ist aktiv und wurde nicht durch ein kaputtes benutzerdefiniertes Plugin überschrieben.
Schritt 5: Führen Sie den Systemdateiprüfer (SFC) aus
Wenn interne Windows-Komponenten, die für die Bearbeitung von WS-Management-Anfragen verantwortlich sind, beschädigt sind, wird das SFC-Tool sie reparieren.
- Öffnen. Command Prompt als Administrator.
- Geben Sie den folgenden Befehl ein und drücken Sie Enter:
sfc /scannow - Warten Sie, bis der Scan zu 100% abgeschlossen ist.
- Starten Sie Ihren Computer neu und versuchen Sie erneut die WinRM-Verbindung.
Es kann einige Fehler geben.. Learn Microsoft