WMI - Generic Fehler
Haben wir eine .NET-Anwendung, die WMI verwendet, um zu sammeln eine Vielzahl von Informationen auf Rechnern in einem Netzwerk, wie das Lesen der Win32_NTLogEvent, um zu sehen, wenn Symantec Antivirus hat nichts geschrieben. Die Abfragen funktionieren, aber nach wiederholt ausführen einer WMI-Abfrage "Generic Failure" Fehler beginnt, kommen zurück. Dies geschieht sehr konsequent nach ca. 125 Aufrufe. Neustart der Maschine, die wir ausführen der WMI-Abfrage, immer behebt den Fehler... das ist, bis die nächsten 125 Abfragen ausgeführt werden.
Es wird angezeigt, dass das repository ist in Ordnung und wir können Sie nicht finden keine log-Datei-Größe Fragen.
Weitere Infos - Ran WMIDiag nachdem der Fehler gefunden und -
25607 13:55:38 (1) !! FEHLER: WMI ENUMERATION Betrieb Fehler gemeldet: 2 ERROR(S)!
25608 13:55:38 (0) ** - ROOT/CIMV2, SubClassesOf, '*', 0x80041006 - (WBEM_E_OUT_OF_MEMORY) Nicht genug Speicher für die operation.
25609 13:55:38 (0) ** MOF Registrierung: 'C:\WINNT\SYSTEM32\WBEM\SNMPREG.MOF
'
25610 13:55:38 (0) ** - Root/CIMv2, InstancesOf, 'Win32_PerfFormattedData_PerfProc_thread', 0x8007000E - ist Nicht genügend Speicher verfügbar, um diesen Vorgang abzuschließen..
25611 13:55:38 (0) ** MOF Registrierung: 'C:\WINDOWS\SYSTEM32\WBEM\WMI.MOF'
Schon mal jemand gesehen? Ideen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sahen wir die "Generic Failure" - Fehler, so viele Male mit anderen WMI-Abfragen, die wir im Grunde kam zu dem Schluss, dass WMI nicht stabil genug, um für etwas anderes als raw-administration. Unsere einzige Lösung, nach Monaten des rumgespielt wurde, um ziehen Sie alle WMI-Aufrufe und die Ersatzbeschaffung im reinen API-Aufrufe. Sie würde immer Arbeit für eine Weile, und dann nicht mit "allgemeiner Fehler" (ich weiß, das ist nicht eine Antwort, aber es ist eine gemeinsame Erfahrung, und wenn jemand hat eine Antwort würde ich mich sehr freuen davon zu hören).
Ich glaube, wir haben das Problem entdeckt. Zur Vereinfachung einige unserer Fragen waren wir etwas Hinzugefügt, was wie 1=1 in der where-Klausel zu erleichtern, den Aufbau der Abfrage an. Entfernt die Konstante,=Konstante, und die eine Abfrage, die ich testete, lief von 40 Sekunden zu .4 Sekunden und hat über 10.000 mal, ohne dass eine generische Fehler - (WBEM_E_OUT_OF_MEMORY).
Windows Remote Management (WinRM) können zu überwinden all diese Probleme.
WinRM ist die Microsoft-Implementierung des WS-Management Protocol, ein standard-Simple Object Access Protocol (SOAP) basiert.
Ich hatte ein ähnliches problem, das beim Versuch zu deinstallieren /Installieren von software auf remote-Rechner via WMI.
Das problem entsteht, wenn Ihr roaming-Profil vorhanden ist, auf dem Zielcomputer. Dies kann darauf zurückzuführen sein, dass previusly abgefragt, der von WMI auf dem Zielcomputer.
Ich weiß nicht, ob dies das gleiche Problem, aber ich musste ein Häkchen setzen in Ort, um zu sehen, ob mein Profil in den Ordner Dokumente und Einstellungen auf dem Zielcomputer, bevor ich Versuch, die software zu deinstallieren.
Gehe ich davon aus, dass, wenn Ihr Ihre Abfrage mit der Erstellung Ihres Profils auf der lokalen Maschine.
Bekam ich eine Generische Fehlermeldung jedes mal, wenn ich versucht hatte zu deinstallieren, die software auf einem Rechner würde ich arbeitete früher auf remotley.
Nun ich sicherstellen, dass, bevor ich versucht zu deinstallieren /Installieren von software-Komponenten remotley, dass mein Profil gelöscht form der Ziel-Maschine. Ich habe keine Probleme seit.
Hoffe, dies hilft jemand.