🇬🇧 | 🇩🇪 | 🇫🇷 | 🇪🇸 | 🇨🇳 | 🇸🇦
Wir haben keine DLL, aber wir haben:
Windows-Dateianalysator und Online-schneller Antivirus

Eine minimalistische Benutzeroberfläche mit schneller Suche, bequemem Hochladen und einer sauberen Abteilungsstruktur.

🛡️🔍 Überprüfen Sie Ihre Datei schnell, klicken Sie einfach auf diese Seite.
Virus-Check, Hashes, Signalüberprüfung, Architektur, KI-Informationen.

Korrektur für WinRM-Fehler: HTTP-Weiterleitung Statuscode nicht unterstützt

Beschreibung des Fehlers

Dieser Fehler tritt auf, wenn ein Windows Remote Management (WinRM) -Client versucht, eine Verbindung zu einem Remote-Server oder Endpoint herzustellen, aber der Zielserver den Datenverkehr (normalerweise über einen HTTP 301, 302 oder 307 Statuscode) auf eine andere URL oder einen HTTPS-Port umleitet. Standardmäßig behandelt das WinRM-Protokoll HTTP-Weiterleitungen als Sicherheitsrisiko und verbietet sie ausdrücklich. Da WinRM sich weigert, dem Umleitungslink zu folgen, scheitert die Verbindung sofort. Dieses Problem tritt häufig auf, wenn Administratoren globale IIS-Weiterleitungen auf einem Server konfigurieren, Lastbalancer verwenden, die automatisch HTTP-Verkehr auf HTTPS zwingen, oder den falschen Adressblock in ihre Automatisierungsskripte eingeben.


Schrittweise Lösungen

Methode 1: Umgehung von Umleitungen durch direkte Verbindung zum HTTPS-Endpunkt

Der sicherste Weg, dieses Problem zu beheben, besteht darin, die Weiterleitung vollständig zu vermeiden, indem Sie direkt auf die endgültige HTTPS-URL zielen.

  1. Öffnen Sie die PowerShell-Konsole oder das Management-Skript.
  2. Ort des Befehls, der den Fehler verursacht (in der Regel Enter-PSSession, New-PSSession, oder Invoke-Command ) ist.
  3. Ändern Sie den Verbindungsprotokollparameter von HTTP auf HTTPS und fügen Sie explizit den richtigen HTTPS-Port hinzu (Standard ist 5986).
    • Example of a bad command causing a redirect:
      New-PSSession -ComputerName "Server01"
    • Example of the corrected command:
      New-PSSession -ComputerName "Server01" -UseSSL
  4. Wenn Sie ein bestimmtes Connection URI verwenden, stellen Sie sicher, dass es explizit mit beginnt. https:// und enthält den richtigen Domainnamen, der mit dem SSL-Zertifikat des Servers übereinstimmt.

Methode 2: Änderung der IIS-Weiterleitungsregeln auf dem Zielserver

Wenn Sie den Remote-Server steuern, verstößt eine globale HTTP-Weiterleitungsregel in Internet Information Services (IIS) wahrscheinlich gegen WinRM. Sie müssen das WinRM-virtuelle Verzeichnis von der Weiterleitungsregel ausschließen.

  1. Melden Sie sich in den entfernten Windows-Server an, der den Fehler verursacht hat.
  2. Klicken Sie auf Start Menu, Typ IIS Manager, und öffne ihn.
  3. Auf der linken Seite. Connections Pane, erweitern Sie Ihren Server Knoten und klicken Sie auf Sites, dann wählen Sie die Webseite aus, auf der Ihre Weiterleitungsregeln gehostet werden (in der Regel die Default Web Site ) ist.
  4. Doppelklicken Sie im mittleren Fenster auf HTTP Redirect.
  5. Wenn alle Anfragen auf eine HTTPS-Seite umgeleitet werden, müssen Sie eine Ausnahme für den WinRM-Pfad hinzufügen.
  6. To do this using web.config configuration rather than the GUI, open the website root folder (usually C:\inetpub\wwwroot ) und öffne die web.config Die Akte.
  7. Fügen Sie einen hinzu. <location> Pfadregel zum Deaktivieren der Weiterleitung für die PowerShell oder... wsman Wege:
    <location path="PowerShell">
        <system.webServer>
            <httpRedirect enabled="false" />
        </system.webServer>
    </location>
  8. Speichern Sie die Datei und starten Sie IIS neu. iisreset in einer administrativen Eingabeaufforderung.

Methode 3: Aktivieren der Flagge "Umleitung zulassen" in PowerShell-Sitzungen

Wenn Sie aufgrund Ihrer Netzwerkinfrastruktur oder des Load Balancer-Setups eine Weiterleitung zulassen müssen, können Sie Ihre WinRM-Client-Session-Option ausdrücklich anweisen, um Weiterleitungen zuzulassen.

  1. Öffnen Sie Ihr PowerShell-Skript oder Ihre Konsole.
  2. Definieren Sie ein neues WinRM Session Option Objekt und setzen Sie die AllowRedirection Eigenschaft zu wahr.
    $SessionOptions = New-PSSessionOption -AllowRedirection
  3. Geben Sie dieses Option-Objekt mit dem -SessionOption Parameter.
    New-PSSession -ComputerName "Server01" -SessionOption $SessionOptions
  4. Hinweis: WinRM folgt der Weiterleitung nur, wenn Sie neben dieser Option ein explizites Connection URI-Format oder explizite Anmeldeinformationen verwenden.

Methode 4: Aktualisierung der SPN- und Kerberos-Einstellungen

Wenn der Umleitungsfehler ein irreführendes Symptom eines Kerberos-Authentifizierungsfehlers bei der Routing über einen generischen DNS-Alias ist, kann eine Einstellung eines Service Principal Names (SPN) ihn beheben.

  1. Öffnen Sie eine Eingabeaufforderung als Administrator auf Ihrem Active Directory-Domain-Controller oder Verwaltungssystem.
  2. Überprüfen Sie die vorhandenen SPNs für Ihren Zielserver, indem Sie:
    setspn -L Server01
  3. Wenn der Server einen DNS-Alias oder einen benutzerdefinierten Hostnamen verwendet, registrieren Sie den WSMan SPN manuell, um ihn ordnungsgemäß an das Computerkonto zu binden:
    setspn -S WSMAN/Server01 Server01
    setspn -S WSMAN/://yourdomain.com Server01
  4. Starten Sie den WinRM-Dienst auf der Remote-Maschine neu, indem Sie Restart-Service WinRM in PowerShell.
ERROR_WSMAN_SERVER_DESTINATION_LOCALHOST | ERROR_WSMAN_UNKNOWN_HTTP_STATUS_RETURNED | ERROR_WSMAN_HTTP_REQUEST_TOO_LARGE_STATUS | ERROR_WSMAN_HTTP_SERVICE_UNAVAILABLE_STATUS | ERROR_WSMAN_HTTP_NOT_FOUND_STATUS

Es kann einige Fehler geben.. Learn Microsoft