如何解决添加角色和功能时提示“服务器管理器正在收集清单数据”问题?

问题现象

在 Windows Server中,通过服务器管理器执行添加角色和功能操作时,界面长时间卡在“服务器管理器正在收集清单数据”提示,无法继续。

问题原因

在添加角色和功能时,服务器管理器需要通过Windows管理规范(Windows Management Instrumentation,简称WMI)服务来查询和收集服务器的配置信息。当收集清单数据卡住,本质上是WMI服务的功能异常或其核心数据库(即WMI存储库)损坏。

解决方案

为解决因WMI服务异常或存储库损坏导致的服务器管理器清单收集失败问题,需重建WMI存储库来修复WMI服务。

重要

操作涉及系统核心组件的重建,请为ECS实例手动创建单个快照以备份数据。

  1. 登录ECS实例。

    1. 访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。

    2. 进入目标实例详情页,单击远程连接,选择通过Workbench远程连接。选择连接方式为终端连接,输入账号和密码,登录图形化终端页面。

  2. 以管理员身份打开命令提示符。

    单击开始,输入cmd,右键单击命令提示符并选择以管理员身份运行

  3. 修复WMI服务。

    1. 停止并禁用WMI服务,防止在修复过程中自动重启或被其他程序调用。

      sc config winmgmt start= disabled
      net stop winmgmt /y
    2. 备份WMI存储库文件。

      cd %windir%\system32\wbem
      ren repository repository-backup
    3. 重新注册WMI相关的所有动态链接库(DLL)文件。

      for /f %s in ('dir /b *.dll') do regsvr32 /s %s
    4. 恢复WMI服务到自动启动状态,并启动WMI服务。

      sc config winmgmt start= Auto
      net start winmgmt
    5. 重新编译所有非卸载用途的MOFMFL文件,并将它们加载到新创建的WMI存储库中。

      dir /b *.mof *.mfl | findstr /v /i uninstall > moflist.txt & for /F %s in (moflist.txt) do mofcomp %s
  4. 重启实例,验证添加角色和功能是否正常。