Fehlerbehebung von Windows: WinRM WSManEnumeratorAddObject Null Parameter
Fehlerbeschreibung
Dieser Fehler tritt auf, wenn der Windows Remote Management (WinRM) -Client versucht, Objekte zu zählen, aber die vom Remote-Server oder dem lokalen Provider zurückgegebene Datenstruktur beschädigt, unerwartet oder vollständig null ist. WinRM erwartet ein gültiges Objekt, wenn der Aufzählmodus eingestellt ist, um die Objektdetails zurückzugeben ( Object oder... ObjectAndEPR ) ist.
Zu den häufigsten Ursachen gehören:
- Corrupted WMI Repository: WinRM stützt sich stark auf die Windows Management Instrumentation (WMI) Infrastruktur. Wenn WMI beschädigt ist, gibt es Nulldaten an WinRM weiter.
- Corrupted WinRM Configuration: Beschädigte WinRM-Zuhörer oder beschädigte interne WSMan-Konfigurationen.
- Incompatible PowerShell modules or broad queries: Ein Skript oder ein Management-Tool, das eine große Infrastruktur abfragt, die einen unbehandelten Randfall auslöst oder leere Nutzlasten zurückgibt, wo Daten erwartet werden.
Schrittweise Lösungen
Folgen Sie diesen Lösungen in der Reihenfolge, bis der Fehler behoben ist.
Lösung 1: Neustart und Wiedereinstellung des WinRM-Dienstes
Die schnellste Lösung besteht darin, den WinRM-Dienst neu zu starten und seine Konfiguration neu zu erstellen, um alle festgefahrenen oder beschädigten Speicherobjekte zu löschen.
- Öffnen Sie das Startmenü und tippen Sie cmd, mit der rechten Maustaste auf Command Prompt, und wählen Run as administrator.
- Stoppen Sie den WinRM-Dienst, indem Sie den folgenden Befehl eingeben und drücken Enter:
net stop winrm - Starten Sie den WinRM-Dienst erneut:
net start winrm - Setzen Sie die WinRM-Konfiguration wieder auf die Standardeinstellungen zurück, indem Sie:
winrm quickconfig -q - Überprüfen Sie, ob der Fehler noch auftritt.
Lösung 2: WMI-Repository überprüfen und reparieren
Da WinRM Objekteigenschaften direkt aus der WMI abruft, verursacht ein beschädigtes WMI-Repository häufig den Nullzeigerfehler.
- Öffnen. Command Prompt as administrator.
- Überprüfen Sie die Konsistenz Ihres WMI-Repositories, indem Sie:
winmgmt /verifyrepository - Wenn die Ausgabe sagt: "Repository ist nicht konsistent" , führen Sie den folgenden Befehl aus, um ihn zu reparieren:
winmgmt /salvagerepository - If salvaging fails, force a complete rebuild of the WMI repository with these commands (press Enter nach jeder Zeile):
net stop winmgmt /y winmgmt /resetrepository net start winmgmt - Starten Sie Ihren Computer neu und testen Sie Ihre WinRM-Verbindung erneut.
Lösung 3: WMI-Komponenten und DLL-Dateien neu registrieren
Wenn die zugrunde liegenden Windows-Komponenten die WinRM-Daten nicht ordnungsgemäß serialisieren können, wird dies durch die Neuregistrierung der Verwaltungsbibliotheken des Betriebssystems behoben.
- Öffnen. Command Prompt as administrator.
- Führen Sie den folgenden Befehl aus, um alle WMI neu zu registrieren.
.mofDateien:CD C:\Windows\System32\Wbem for /f %s in ('dir /b *.mof') do mofcomp %s - Als nächstes registrieren Sie die DLL-Dateien erneut, indem Sie:
for /f %s in ('dir /b *.dll') do regsvr32 /s %s - Starten Sie Ihren Computer neu.
Lösung 4: Bereinigen von WSMan Provider mit PowerShell
Wenn Sie bestimmte Skripte ausführen oder Tools wie System Center Configuration Manager (SCCM) oder Hyper-V-Manager verwenden, löschen Sie den zwischengespeicherten WSMan-Provider-Pfad.
- Öffnen Sie das Startmenü und suchen Sie nach PowerShell, klicken Sie mit der rechten Maustaste darauf und wählen Sie Run as administrator.
- Navigieren Sie zum Anbieterlaufwerk WSMan, um die Konfiguration zu überprüfen:
cd WSMan:\localhost dir - Wenn Sie tote Zuhörer oder veraltete Endpunkte bemerken, entfernen Sie sie mit dem Befehl remove item:
Remove-Item .\Listener\* -Recurse - Lauf !
winrm quickconfigWiederum, um saubere Zuhörer zu rekonstruieren.
ERROR_WSMAN_CANNOT_PROCESS_FILTER | ERROR_WSMAN_CLIENT_ENUMERATORADDEVENT_NULL_PARAM | ERROR_WSMAN_ADDOBJECT_MISSING_EPR | ERROR_WSMAN_NETWORK_TIMEDOUT | ERROR_WINRS_RECEIVE_IN_PROGRESS
Es kann einige Fehler geben.. Learn Microsoft