Задался целью настройки SCOM – на один компьютер ни в какую не устанавливается агент.
Свойства WMI подсказали, что с ним что-то не так.
И тут на помощь пришел Duncan McAlynn:
net stop winmgmt
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 /f %%s in ('dir /b /s *.dll') do regsvr32 /s %%s
for /f %%s in ('dir /b *.mof') do mofcomp %%s
for /f %%s in ('dir /b *.mfl') do mofcomp %%s
echo DONE reboot
pause
Помогло.
Наша поддержка пользуется чуть расширенной версией скрипта
@ECHO OFF
NET STOP SharedAccess
NET STOP winmgmt
CD %WINDIR%\System32\Wbem\Repository
DEL /F /Q /S %WINDIR%\System32\Wbem\Repository\*.*
CD %WINDIR%\system32\wbem
REGSVR32 /s %WINDIR%\system32\scecli.dll
REGSVR32 /s %WINDIR%\system32\userenv.dll
MOFCOMP cimwin32.mof
MOFCOMP cimwin32.mfl
MOFCOMP rsop.mof
MOFCOMP rsop.mfl
FOR /f %%s IN (‘DIR /b /s *.dll’) DO REGSVR32 /s %%s
FOR /f %%s IN (‘DIR /b *.mof’) DO MOFCOMP %%s
FOR /f %%s IN (‘DIR /b *.mfl’) DO MOFCOMP %%s
MOFCOMP exwmi.mof
MOFCOMP -n:root\cimv2\applications\exchange wbemcons.mof
MOFCOMP -n:root\cimv2\applications\exchange smtpcons.mof
MOFCOMP exmgmt.mof
rundll32 wbemupgd, UpgradeRepository
NET STOP Cryptsvc
DEL /F /Q /S %WINDIR%\System32\catroot2\*.*
DEL /F /Q C:\WINDOWS\security\logs\*.log
NET START Cryptsvc
msiexec /unregister
msiexec /regserver
REGSVR32 /s msi.dll
NET START winmgmt
NET START SharedAccess
Обсуждали сейчас с Mr_Nobody скрипты и выяснили, что оба работают без перезагрузки!
У меня был третий вариант скрипта с более жестоким вариантом 🙂
http://blog.wadmin.ru/2010/04/rebuild-wmi/
Естественно, все работает без перезагрузки.
Спасибо, Сергей 🙂
Мне первым нагуглился (и помог) MSMVP. Собственно , как памятку я и решил написать данный пост. Теперь (с тремя скриптами) он будет еще более памятным.