Durch die Installation von Windows Management Framework 3.0 wurde WMI im Grunde zerstört. Wie kann ich das Problem beheben, ohne das Betriebssystem neu zu installieren?

11

Bezogen natürlich auf diese Frage .

Bevor ich herausfand, dass es etwas ... gefährlich war, installierte ich Windows Management Framework 3.0 auf einer Reihe von Windows Server 2008 R2 SP1-Servern, und WMI wurde auf allen vollständig verworfen.

So sieht der WMI-Namespace auf einem normalen Server aus (dies ist vom Server-Manager -> Konfiguration -> WMI-Steuerung):

Gut

So sieht es nach der Installation von WMF 3.0 aus:

Schlecht

Ja. Alles außer den neuen Funktionen von WMF 3.0 ist weg .

Unnötig zu erwähnen, dass auf diesen Servern nichts mehr zu funktionieren scheint. Und nein, dies ist nicht auf einen seltsamen Installationsfehler zurückzuführen. Dies geschah auf drei Servern, die vor der Installation von WMF 3.0 einwandfrei funktionierten, und auf allen wurde die Installation erfolgreich abgeschlossen.

Zugegeben, einer von ihnen hatte ein etwas komplexes Setup (verschiedene System Center-Produkte und SQL Server-Instanzen) ... aber zwei von ihnen sind einfach nur Standard-Domänencontroller, die überhaupt nichts anderes tun .

Wie kann ich dieses Problem beheben, ohne das Betriebssystem auf diesen Servern neu installieren zu müssen?

Und warum ist es überhaupt passiert?

Massimo
quelle
Was zeigt "winmgmt / verifyrepository", wenn Sie es ausführen?
Joeqwerty
1
Kann eine Systemwiederherstellung von einem der Kontrollpunkte aus helfen?
mdpc
@joeqwerty Es heißt, das Repository ist konsistent (???).
Massimo
@mdpc Das möchte ich definitiv nicht auf einem Domänencontroller machen ...
Massimo
Es scheint also, dass WMF 3 das WMI-Repository ersetzt hat. "Winmgmt / resetrepository" setzt das Repository auf den Status zurück, als das Betriebssystem installiert wurde, aber ich bin mir nicht sicher, ob ich das zu diesem Zeitpunkt tun würde. Ein Support-Anruf bei MS PSS ist wahrscheinlich angebracht.
Joeqwerty

Antworten:

6

Ich konnte zumindest die Server wieder in einen funktionsfähigen Zustand versetzen, indem ich alle DLLs neu registrierte und alle .mof- und .mfl-Dateien unter neu kompilierte C:\Windows\System32\wbem, wie hier dokumentiert .

Ich kann nicht 100% sicher sein, dass die Systeme voll funktionsfähig sind, wie sie sollten, aber zumindest versagen sie jetzt nicht kläglich.

Es macht jedoch immer noch keinen Sinn, dass WMF 3.0 die Dinge auf diese Weise vermasselt ... und das auf ziemlich konsistente Weise, wie es auf drei verschiedenen Servern geschehen ist. Jetzt habe ich definitiv höllische Angst davor, es irgendwo zu installieren.

Massimo
quelle
2
Haben Sie ein Ticket mit MS-Support geöffnet, um das Problem zu lösen? Es sollte kostenlos sein, da ein Update die Ursache war. Nur neugierig, was sie als Lösung empfehlen könnten und es könnte ein würdiger Beitrag hier sein.
TheCleaner
Nein, ich wusste nicht, dass es kostenlos gewesen wäre ... und ich hatte es ziemlich eilig, diese Server wieder in Form zu bringen. Wie auch immer, das Problem scheint jetzt behoben zu sein ... obwohl ich natürlich nicht 100% sicher sein kann. Zumindest scheint es keine WMI-bezogenen Fehler zu geben.
Massimo
1
Nun, installieren Sie es auf einem anderen Server und öffnen Sie dann das Ticket. ;)
TheCleaner
3

Haben Sie die verschiedenen WMI-Wiederherstellungsskripte ausprobiert? Hier ist eine, die ich gelegentlich verwendet habe, wenn auch nicht in letzter Zeit. Beachten Sie, dass es möglicherweise einige anwendungsspezifische Mof-Dateien gibt, die hier nicht enthalten sind.

net stop winmgmt /y
c: 
cd %systemroot%\system32\wbem 
rd /S /Q repository 

regsvr32 /s %systemroot%\system32\scecli.dll 
regsvr32 /s %systemroot%\system32\userenv.dll 

mofcomp cimwin32.mof 
mofcomp cimwin32.mfl 
mofcomp rsop.mof 
mofcomp rsop.mfl 
for %%s in (*.dll) do regsvr32 /s %%s 
for %%s in (*.mof) do mofcomp %%s 
for %%s in (*.mfl) do mofcomp %%s 

net stop winmgmt /y
net start winmgmt
net start sharedaccess 
net start iphlpsvc 

REM these may be system-specific.  There may be other services dependent on winmgmt that need to be restarted.
net start tmlisten 
net start VMUpgradeHelper 
net start wsrm

echo DONE reboot 
pause 

GOTO :EOF
Greg Askew
quelle
1

Versuche dies:

  1. Beenden Sie den WMI-Dienst
  2. Benennen Sie diesen Ordner um (nicht löschen): c:\windows\system32\wbem\repository(32-Bit) oder c:\windows\syswow64\wbem\repository(64-Bit)
  3. Starten Sie den WMI-Dienst

Wenn alles gut geht, sollte ein neuer Repository-Ordner erstellt werden und das Repository sollte mit der Neuerstellung beginnen.

1.618
quelle
Hat nicht funktioniert. Ich habe "Das Windows Management Instrumentation (WMI) -Repository wurde erfolgreich durch den automatischen Wiederherstellungsmechanismus neu erstellt." (Ereignis-ID 5616) im Ereignisprotokoll, aber das Repository ist nach wie vor fast leer.
Massimo