Trivial things and self-note

Blog @ Ben | imbushuo


  • Home
  • Archive
  • Categories
  • Tags
  • Links
  •    

© 2022 Bingxing Wang

Theme Typography by Makito

Proudly published with Hexo

Fix broken Windows Management Instrumentation

Posted at 2019-02-24 Comments uncategorized  Windows Batch Script Fix WMI 

A colleague told me a Windows Server 2016 node entered an inconsistent state after an abnormal shutdown. The following symptoms were observed:

  • Explorer hangs with “loading…” text
  • Hyper-V Management couldn’t connect to the local server
  • Group Policy Update consequently failed
  • Telemetry metrics disappeared
  • WMI Management reported “RPC: the requested object does not exist” for object Root

A quick diagnostics indicated a component failure with Windows Management Instrumentation. To determine the failure source, I ran WMIDiag from Microsoft. The log showed a metadata failure:

.1526 21:47:43 (1) !! ERROR: WMI CONNECTION errors occured for the following namespaces: ………………………………………….. 20 ERROR(S)!
.1527 21:47:43 (0) ** - Root, 0x80010114 - The requested object does not exist..
.1528 21:47:43 (0) ** - Root, 0x80010114 - The requested object does not exist..
.1529 21:47:43 (0) ** - Root/subscription, 0x80010114 - The requested object does not exist..
.1530 21:47:43 (0) ** - Root/DEFAULT, 0x80010114 - The requested object does not exist..
.1531 21:47:43 (0) ** - Root/CIMV2, 0x80010114 - The requested object does not exist..
.1532 21:47:43 (0) ** - Root/CIMV2/Security, 0x80010114 - The requested object does not exist..
.1533 21:47:43 (0) ** - Root/CIMV2/TerminalServices, 0x80010114 - The requested object does not exist..
.1534 21:47:43 (0) ** - Root/nap, 0x80010114 - The requested object does not exist..
.1535 21:47:43 (0) ** - Root/SECURITY, 0x80010114 - The requested object does not exist..
.1536 21:47:43 (0) ** - Root/STANDARDCIMV2, 0x80010114 - The requested object does not exist..
.1537 21:47:43 (0) ** - Root/RSOP, 0x80010114 - The requested object does not exist..
.1538 21:47:43 (0) ** - Root/RSOP/User, 0x80010114 - The requested object does not exist..
.1539 21:47:43 (0) ** - Root/RSOP/Computer, 0x80010114 - The requested object does not exist..
.1540 21:47:43 (0) ** - Root/WMI, 0x80010114 - The requested object does not exist..
.1541 21:47:43 (0) ** - Root/directory, 0x80010114 - The requested object does not exist..
.1542 21:47:43 (0) ** - Root/directory/LDAP, 0x80010114 - The requested object does not exist..
.1543 21:47:43 (0) ** - Root/Policy, 0x80010114 - The requested object does not exist..
.1544 21:47:43 (0) ** - Root/Microsoft, 0x80010114 - The requested object does not exist..
.1545 21:47:43 (0) ** - Root/Microsoft/HomeNet, 0x80010114 - The requested object does not exist..
.1546 21:47:43 (0) ** - Root/aspnet, 0x80010114 - The requested object does not exist..

The documentation suggested performing a metadata registration. The following script is utilized for the metadata repair:

@echo on
cd /d c:\temp
if not exist %windir%\system32\wbem goto TryInstall
cd /d %windir%\system32\wbem
net stop winmgmt
winmgmt /kill
if exist Rep_bak rd Rep_bak /s /q
rename Repository Rep_bak
for %%i in (*.dll) do RegSvr32 -s %%i
for %%i in (*.exe) do call :FixSrv %%i
for %%i in (*.mof,*.mfl) do Mofcomp %%i
net start winmgmt
goto End

:FixSrv
if /I (%1) == (wbemcntl.exe) goto SkipSrv
if /I (%1) == (wbemtest.exe) goto SkipSrv
if /I (%1) == (mofcomp.exe) goto SkipSrv
%1 /RegServer

:SkipSrv
goto End

:TryInstall
if not exist wmicore.exe goto End
wmicore /s
net start winmgmt
:End

It will throw some errors. Ignore them. Then reboot the server.

 Previous post: Debugging early ARM ACPI bringup without UART Next post: Status Update: Lumia950XLPkg 

© 2022 Bingxing Wang

Theme Typography by Makito

Proudly published with Hexo