Wie man es repariert "WinRM kann die Anfrage nicht verarbeiten, da das WMI-Objekt zu viele Ebenen verschachtelter eingebetteter Objekte enthält".
Fehlerbeschreibung
Die Fehlermeldung "WinRM cannot process the request because the WMI object contains too many levels of nested embedded objects" occurs when a Windows Remote Management (WinRM) query attempts to retrieve Windows Management Instrumentation (WMI) data that exceeds the default serialization depth limit.
WinRM verwendet ein XML-basiertes Protokoll (WS-Management) zur Datenübertragung. Um Denial-of-Service-Angriffe (DoS) und übermäßigen Speicherverbrauch zu verhindern, setzt Windows eine strenge Sicherheitsbegrenzung für die Tiefe, in der Objekte während dieses Übersetzungsprozesses ineinander verschachtelt werden können, durch. Wenn eine komplexe Abfrage (oft im Zusammenhang mit tief verschachtelten Systemkomponenten, Clustern oder Überwachungsagenten von Drittanbietern) diese Schwelle überschreitet, stoppt WinRM den Betrieb und wirft diesen Fehler aus.
Schritt für Schritt
Um dieses Problem zu beheben, müssen Sie manuell die maximal zulässige Tiefe für verschachtelte WMI-Objekte in der WinRM-Konfiguration erhöhen.
Schritt 1: Öffnen Sie PowerShell als Administrator
- Drücken Sie die... Windows Key auf deiner Tastatur.
- Typ PowerShell in die Suchleiste.
- Mit der rechten Maustaste. Windows PowerShell von den Suchergebnissen.
- Wählen Sie. Run as administrator.
- Klicken Yes wenn die Anforderung "Benutzerkontokontrolle" (UAC) angezeigt wird.
Schritt 2: Überprüfen Sie die aktuelle MaxEnvelopeSize (optional)
Bevor Sie Änderungen vornehmen, können Sie Ihre aktuellen WinRM-Konfigurationslimits anzeigen, indem Sie den folgenden Befehl ausführen:
winrm get winrm/config
Schauen Sie sich die Ausgabe an. MaxEnvelopeSizekb oder XML-Verarbeitungsgrenzen im Rahmen der soap oder... xml Verknüpfungsabschnitte, um Ihre Ausgangslinie zu verstehen.
Schritt 3: Erhöhen der XML-Nesting-Tiefe Grenze
Führen Sie den folgenden Befehl aus, um die vom WinRM-Dienst erlaubte maximale Strukturtiefe zu erhöhen. Standardmäßig wird dieser Wert häufig auf 10 gesetzt.
winrm set winrm/config @{MaxEnvelopeSizekb="8000"}
Als nächstes konfigurieren Sie mit diesem Befehl explizit die Grenze der XML-Verarbeitungstiefe:
winrm set winrm/config/soap @{MaxXMLNestingDepth="30"}
(Anmerkung: Wenn Ihre spezifische Windows-Version die MaxXMLNestingDepth Eigenschaft direkt über diesen Pfad, gehen Sie mit Schritt 4 fort, um die Konfiguration über die Windows-Registrierung anzuwenden).
Schritt 4: Alternative Registrierungsbehebung (falls PowerShell-Befehle fehlschlagen)
Wenn das WinRM-Befehlszeilen-Dienstprogramm die Eigenschaftssyntax ablehnt, können Sie die Nistungsbegrenzung direkt über die Windows-Registrierung anwenden:
- Drücken Sie. Windows Key + R, Typ
regedit, und drücken. Enter Um den Registrierungs-Editor zu öffnen. - Navigieren Sie zum folgenden Registrierungspfad:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\ - Suchen Sie nach einem Schlüssel oder DWORD namens
MaxXMLNestingDepth. - Wenn sie nicht vorhanden ist, klicken Sie mit der rechten Maustaste auf den leeren Bereich im rechten Fenster, wählen Sie New > DWORD (32-bit) Value, und nennt es.
MaxXMLNestingDepth. - Doppelklick.
MaxXMLNestingDepth, wechseln Sie die Base Ich bin hier. Decimal Setzen Sie den... Value data Ich bin hier.30(oder höher, bis zu64), und klicken OK.
Schritt 5: Wiederaufnehmen des WinRM-Dienstes
Damit die Änderungen wirksam werden, müssen Sie den Windows Remote-Management-Dienst neu starten. Führen Sie diese Befehle in Ihrem administrativen PowerShell-Fenster aus:
Stop-Service winrm
Start-Service winrm
Alternativ können Sie die Standard-Befehlszeilen-Syntax verwenden:
net stop winrm
net start winrm
Schritt 6: Überprüfen Sie die Entscheidung
Laufen Sie die Anwendung, das Skript oder das Monitoring-Tool, das ursprünglich den Fehler ausgelöst hat, erneut aus. Das WMI-Objekt sollte nun erfolgreich über WinRM serialisiert werden, ohne den Nesting-Flaschenhals zu treffen.
ERROR_WSMAN_INVALID_SUBSCRIPTION_MANAGER | ERROR_WSMAN_NON_PULL_SUBSCRIPTION_NOT_SUPPORTED | ERROR_WSMAN_REMOTE_CIMPATH_NOT_SUPPORTED | ERROR_WSMAN_WMI_PROVIDER_NOT_CAPABLE | ERROR_WSMAN_WMI_INVALID_VALUEEs kann einige Fehler geben.. Learn Microsoft