L'installation de Windows Management Framework 3.0 a essentiellement détruit WMI, comment puis-je le réparer sans réinstaller le système d'exploitation?

11

Lié, bien sûr, à cette question .

Avant de découvrir qu'il était quelque peu ... dangereux, j'ai installé Windows Management Framework 3.0 sur un certain nombre de serveurs Windows Server 2008 R2 SP1, et WMI a été complètement saccagé sur chacun d'eux.

Voici à quoi ressemble l'espace de noms WMI sur un serveur normal (cela provient du Gestionnaire de serveur -> Configuration -> Contrôle WMI):

Bien

Voici à quoi cela ressemble après l'installation de WMF 3.0:

Mal

Ouais. Tout sauf les nouvelles fonctionnalités de WMF 3.0 a disparu .

Inutile de dire que rien ne semble plus fonctionner sur ces serveurs. Et non, ce n'est pas dû à une étrange erreur d'installation, cela s'est produit sur trois serveurs qui fonctionnaient parfaitement avant d'installer WMF 3.0, et sur tous, l'installation s'est terminée avec succès.

Certes, l'un d'eux avait une configuration quelque peu complexe (divers produits System Center et instances SQL Server) ... mais deux d'entre eux ne sont que de simples contrôleurs de domaine standard qui ne font rien d'autre .

Comment puis-je réparer ce désordre sans avoir à réinstaller le système d'exploitation sur ces serveurs?

Et pourquoi est-ce arrivé en premier lieu?

Massimo
la source
Que montre «winmgmt / verifyrepository» si vous l'exécutez?
joeqwerty
1
Une restauration du système à partir de l'un des points de contrôle peut-elle aider?
mdpc
@joeqwerty Il indique que le référentiel est cohérent (???).
Massimo
@mdpc Ce n'est certainement pas quelque chose que j'aimerais faire sur un contrôleur de domaine ...
Massimo
Il semblerait donc que WMF 3 ait remplacé le référentiel WMI. "Winmgmt / resetrepository" réinitialisera le référentiel à l'état où le système d'exploitation a été installé, mais je ne suis pas sûr de le faire à ce stade. Un appel d'assistance à MS PSS est probablement de mise.
joeqwerty

Réponses:

6

J'ai pu au moins ramener les serveurs à un état de fonctionnement en réenregistrant toutes les DLL et en recompilant tous les fichiers .mof et .mfl sous C:\Windows\System32\wbem, comme indiqué ici .

Je ne peux pas être sûr à 100% que les systèmes fonctionnent pleinement comme ils le devraient, mais au moins maintenant ils n'échouent pas lamentablement.

Cependant, cela n'a toujours aucun sens pour WMF 3.0 de bousiller les choses de cette façon ... et de manière assez cohérente aussi, comme cela s'est produit sur trois serveurs différents. Maintenant, j'ai vraiment peur de l'installer n'importe où.

Massimo
la source
2
Avez-vous ouvert un ticket avec le support MS pour résoudre le problème? Il devrait être gratuit car une mise à jour en était la cause. Juste curieux de savoir ce qu'ils pourraient recommander comme correctif et cela pourrait être un bon article ici.
TheCleaner
Non, je ne savais pas que cela aurait été gratuit ... et j'étais très pressé de remettre ces serveurs en forme. Quoi qu'il en soit, le problème semble être résolu maintenant ... bien sûr, je ne peux pas être sûr à 100%. Au moins, il ne semble pas y avoir d'erreurs liées à WMI.
Massimo
1
Eh bien, installez-le sur un autre serveur, puis ouvrez le ticket. ;)
TheCleaner
3

Avez-vous essayé les différents scripts de reconstruction WMI? En voici une que j'ai utilisée à l'occasion, mais pas récemment. Notez qu'il peut y avoir certains fichiers mof spécifiques à l'application qui ne sont pas inclus ici.

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
la source
1

Essaye ça:

  1. Arrêtez le service WMI
  2. Renommer (pas supprimer) ce dossier: c:\windows\system32\wbem\repository(32 bits) ou c:\windows\syswow64\wbem\repository(64 bits)
  3. Démarrez le service WMI

Si tout se passe bien, un nouveau dossier de référentiel doit être créé et le référentiel doit commencer à se reconstruire.

1,618
la source
Ça n'a pas marché. J'ai obtenu "Le référentiel WMI (Windows Management Instrumentation) a été recréé avec succès par le mécanisme de récupération automatique." (ID d'événement 5616) dans le journal des événements, mais le référentiel est toujours presque vide comme auparavant.
Massimo