Virtualization

警告:缺少 WMI ProgID 註冊

  • October 16, 2017

我今天啟動了一台 Windows Server 2012 R2 虛擬機並收到以下警告:

警告:缺少 WMI ProgID 註冊

起初我只在伺服器管理器中看到一個模糊的錯誤:

在此處輸入圖像描述

執行 WMI 診斷實用程序後,我從發現警告的日誌文件中獲得了更多資訊:

.1502 14:35:51 (0) ** Windows Server 2012 R2 - No Service Pack - 64-bit (9600) - User 'POLIFORMA\ADMINISTRATOR' on computer 'WIN-52BO8J9011M'.
.1503 14:35:51 (0) ** ----------------------------------------------------------------------------------------------------------------------------------
.1504 14:35:51 (0) ** Environment: ........................................................................................................ OK.
.1505 14:35:51 (0) ** There are no missing WMI system files: .............................................................................. OK.
.1506 14:35:51 (0) ** There are no missing WMI repository files: .......................................................................... OK.
.1507 14:35:51 (0) ** WMI repository state: ............................................................................................... N/A.
.1508 14:35:51 (0) ** AFTER running WMIDiag:
.1509 14:35:51 (0) ** The WMI repository has a size of: ................................................................................... 31 MB.
.1510 14:35:51 (0) ** - Disk free space on 'C:': .......................................................................................... 6692 MB.
.1511 14:35:51 (0) **   - INDEX.BTR,                     5365760 bytes,      10/15/2017 1:22:46 PM
.1512 14:35:51 (0) **   - MAPPING1.MAP,                  88520 bytes,        10/15/2017 1:03:40 PM
.1513 14:35:51 (0) **   - MAPPING2.MAP,                  88520 bytes,        10/15/2017 1:16:08 PM
.1514 14:35:51 (0) **   - OBJECTS.DATA,                  26607616 bytes,     10/15/2017 1:22:46 PM
.1515 14:35:51 (0) ** ----------------------------------------------------------------------------------------------------------------------------------
.1516 14:35:51 (0) ** INFO: Windows Firewall status: ...................................................................................... ENABLED.
.1517 14:35:51 (0) ** Windows Firewall Profile: ........................................................................................... DOMAIN.
.1518 14:35:51 (0) ** Inbound connections that do not match a rule BLOCKED: ............................................................... ENABLED.
.1519 14:35:51 (0) ** => This will prevent any WMI remote connectivity to this computer except
.1520 14:35:51 (0) **    if the following three inbound rules are ENABLED and non-BLOCKING:
.1521 14:35:51 (0) **    - 'Windows Management Instrumentation (DCOM-In)'
.1522 14:35:51 (0) **    - 'Windows Management Instrumentation (WMI-In)'
.1523 14:35:51 (0) **    - 'Windows Management Instrumentation (ASync-In)'
.1524 14:35:51 (0) **    Verify the reported status for each of these three inbound rules below.
.1525 14:35:51 (0) ** 
.1526 14:35:51 (0) ** Windows Firewall 'Windows Management Instrumentation (WMI)' GROUP rule: ............................................. ENABLED.
.1527 14:35:51 (0) ** Windows Firewall 'Windows Management Instrumentation (ASync-In)' rule: .............................................. ENABLED.
.1528 14:35:51 (0) ** Windows Firewall 'Windows Management Instrumentation (WMI-Out)' rule: ............................................... ENABLED.
.1529 14:35:51 (0) ** Windows Firewall 'Windows Management Instrumentation (WMI-In)' rule: ................................................ ENABLED.
.1530 14:35:51 (0) ** Windows Firewall 'Windows Management Instrumentation (DCOM-In)' rule: ............................................... ENABLED.
.1531 14:35:51 (0) ** ----------------------------------------------------------------------------------------------------------------------------------
.1532 14:35:51 (0) ** DCOM Status: ........................................................................................................ OK.
.1533 14:35:51 (0) ** WMI registry setup: ................................................................................................. OK.
.1534 14:35:51 (0) ** INFO: WMI service has dependents: ................................................................................... 1 SERVICE(S)!
.1535 14:35:51 (0) ** - Internet Connection Sharing (ICS) (SHAREDACCESS, StartMode='Disabled')
.1536 14:35:51 (0) ** => If the WMI service is stopped, the listed service(s) will have to be stopped as well.
.1537 14:35:51 (0) **    Note: If the service is marked with (*), it means that the service/application uses WMI but
.1538 14:35:51 (0) **          there is no hard dependency on WMI. However, if the WMI service is stopped,
.1539 14:35:51 (0) **          this can prevent the service/application to work as expected.
.1540 14:35:51 (0) ** 
.1541 14:35:51 (0) ** RPCSS service: ...................................................................................................... OK (Already started).
.1542 14:35:51 (0) ** WINMGMT service: .................................................................................................... OK (Already started).
.1543 14:35:51 (0) ** ----------------------------------------------------------------------------------------------------------------------------------
.1544 14:35:51 (0) ** WMI service DCOM setup: ............................................................................................. OK.
.1545 14:35:51 (0) ** WMI components DCOM registrations: .................................................................................. OK.
.1546 14:35:51 (2) !! WARNING: WMI ProgID registrations missing: .......................................................................... 7 ProgID(S)!
.1547 14:35:51 (0) ** - WBemscripting.SWBemlocator -> C:\WINDOWS\SYSTEM32\WBEM\WBEMDISP.DLL
.1548 14:35:51 (0) ** - WbemScripting.SWbemDateTime -> C:\WINDOWS\SYSTEM32\WBEM\WBEMDISP.DLL
.1549 14:35:51 (0) ** - WbemScripting.SWbemObjectPath -> C:\WINDOWS\SYSTEM32\WBEM\WBEMDISP.DLL
.1550 14:35:51 (0) ** - WbemScripting.SWbemSink -> C:\WINDOWS\SYSTEM32\WBEM\WBEMDISP.DLL
.1551 14:35:51 (0) ** - WbemScripting.SWbemLocator -> C:\WINDOWS\SYSTEM32\WBEM\WBEMDISP.DLL
.1552 14:35:51 (0) ** - WbemScripting.SWbemNamedValueSet -> C:\WINDOWS\SYSTEM32\WBEM\WBEMDISP.DLL
.1553 14:35:51 (0) ** - WbemScripting.SWbemRefresher -> C:\WINDOWS\SYSTEM32\WBEM\WBEMDISP.DLL
.1554 14:35:51 (0) ** => Missing WMI ProgID(s) could prevent WMI applications to run properly!
.1555 14:35:51 (0) **    To correct this problem, you must re-register the DLL(s) corresponding to the missing ProgID(s)
.1556 14:35:51 (0) **    with the following command:
.1557 14:35:51 (0) **    i.e. 'REGSVR32.EXE C:\WINDOWS\SYSTEM32\WBEM\WBEMDISP.DLL'
.1558 14:35:51 (0) ** 
.1559 14:35:51 (0) ** WMI provider DCOM registrations: .................................................................................... OK.
.1560 14:35:51 (0) ** WMI provider CIM registrations: ..................................................................................... OK.
.1561 14:35:51 (0) ** WMI provider CLSIDs: ................................................................................................ OK.
.1562 14:35:51 (0) ** WMI providers EXE/DLL availability: ................................................................................. OK.
.1563 14:35:51 (0) ** ----------------------------------------------------------------------------------------------------------------------------------
.1564 14:35:51 (0) ** INFO: User Account Control (UAC): ................................................................................... ENABLED.
.1565 14:35:51 (0) ** => WMI tasks requiring Administrative privileges on this computer MUST run in an elevated context.
.1566 14:35:51 (0) **    i.e. You can start your scripts or WMIC commands from an elevated command
.1567 14:35:51 (0) **         prompt by right clicking on the 'Command Prompt' icon in the Start Menu and
.1568 14:35:51 (0) **         selecting 'Run as Administrator'.
.1569 14:35:51 (0) **    i.e. You can also execute the WMI scripts or WMIC commands as a task
.1570 14:35:51 (0) **         in the Task Scheduler within the right security context.
.1571 14:35:51 (0) ** 
.1572 14:35:51 (0) ** INFO: Local Account Filtering: ...................................................................................... ENABLED.
.1573 14:35:51 (0) ** => WMI tasks remotely accessing WMI information on this computer and requiring Administrative
.1574 14:35:51 (0) **    privileges MUST use a DOMAIN account part of the Local Administrators group of this computer
.1575 14:35:51 (0) **    to ensure that administrative privileges are granted. If a Local User account is used for remote
.1576 14:35:51 (0) **    accesses, it will be reduced to a plain user (filtered token), even if it is part of the Local Administrators group.
.1577 14:35:51 (0) ** 
.1578 14:35:51 (0) ** Overall DCOM security status: ....................................................................................... OK.
.1579 14:35:51 (0) ** Overall WMI security status: ........................................................................................ OK.
.1580 14:35:51 (0) ** - Started at 'Root' --------------------------------------------------------------------------------------------------------------
.1581 14:35:51 (0) ** WMI permanent SUBSCRIPTION(S): ...................................................................................... NONE.
.1582 14:35:51 (0) ** WMI TIMER instruction(s): ........................................................................................... NONE.
.1583 14:35:51 (1) !! ERROR: WMI MONIKER CONNECTION errors occured for the following namespaces: .......................................... 1 ERROR(S)!
.1584 14:35:51 (0) ** - Root, 0x1A8 - Object required.
.1585 14:35:51 (0) ** 
.1586 14:35:51 (1) !! ERROR: WMI CONNECTION errors occured for the following namespaces: .................................................. 20 ERROR(S)!
.1587 14:35:51 (0) ** - Root, 0x1A8 - Object required.
.1588 14:35:51 (0) ** - Root, 0x1A8 - Object required.
.1589 14:35:51 (0) ** - Root/subscription, 0x1A8 - Object required.
.1590 14:35:51 (0) ** - Root/DEFAULT, 0x1A8 - Object required.
.1591 14:35:51 (0) ** - Root/CIMV2, 0x1A8 - Object required.
.1592 14:35:51 (0) ** - Root/CIMV2/Security, 0x1A8 - Object required.
.1593 14:35:51 (0) ** - Root/CIMV2/TerminalServices, 0x1A8 - Object required.
.1594 14:35:51 (0) ** - Root/nap, 0x1A8 - Object required.
.1595 14:35:51 (0) ** - Root/SECURITY, 0x1A8 - Object required.
.1596 14:35:51 (0) ** - Root/STANDARDCIMV2, 0x1A8 - Object required.
.1597 14:35:51 (0) ** - Root/RSOP, 0x1A8 - Object required.
.1598 14:35:51 (0) ** - Root/RSOP/User, 0x1A8 - Object required.
.1599 14:35:51 (0) ** - Root/RSOP/Computer, 0x1A8 - Object required.
.1600 14:35:51 (0) ** - Root/WMI, 0x1A8 - Object required.
.1601 14:35:51 (0) ** - Root/directory, 0x1A8 - Object required.
.1602 14:35:51 (0) ** - Root/directory/LDAP, 0x1A8 - Object required.
.1603 14:35:51 (0) ** - Root/Policy, 0x1A8 - Object required.
.1604 14:35:51 (0) ** - Root/Microsoft, 0x1A8 - Object required.
.1605 14:35:51 (0) ** - Root/Microsoft/HomeNet, 0x1A8 - Object required.
.1606 14:35:51 (0) ** - Root/aspnet, 0x1A8 - Object required.
.1607 14:35:51 (0) ** 
.1608 14:35:51 (0) ** WMI GET operations: ................................................................................................. OK.
.1609 14:35:51 (0) ** WMI MOF representations: ............................................................................................ OK.
.1610 14:35:51 (0) ** WMI QUALIFIER access operations: .................................................................................... OK.
.1611 14:35:51 (0) ** WMI ENUMERATION operations: ......................................................................................... OK.
.1612 14:35:51 (0) ** WMI EXECQUERY operations: ........................................................................................... OK.
.1613 14:35:51 (0) ** WMI GET VALUE operations: ........................................................................................... OK.
.1614 14:35:51 (0) ** WMI WRITE operations: ............................................................................................... NOT TESTED.
.1615 14:35:51 (0) ** WMI PUT operations: ................................................................................................. NOT TESTED.
.1616 14:35:51 (0) ** WMI DELETE operations: .............................................................................................. NOT TESTED.
.1617 14:35:51 (0) ** WMI static instances retrieved: ..................................................................................... 0.
.1618 14:35:51 (0) ** WMI dynamic instances retrieved: .................................................................................... 0.
.1619 14:35:51 (0) ** WMI instance request cancellations (to limit performance impact): ................................................... 0.
.1620 14:35:51 (0) ** ----------------------------------------------------------------------------------------------------------------------------------
.1621 14:35:51 (0) ** 
.1622 14:35:51 (0) ** 21 error(s) 0x1A8 - (WBEM_UNKNOWN) This error code is external to WMI.
.1623 14:35:51 (0) ** ----------------------------------------------------------------------------------------------------------------------------------
.1624 14:35:51 (0) ** WMI Registry key setup: ............................................................................................. OK.
.1625 14:35:51 (0) ** ----------------------------------------------------------------------------------------------------------------------------------
.1626 14:35:51 (0) ** ----------------------------------------------------------------------------------------------------------------------------------
.1627 14:35:51 (0) ** ----------------------------------------------------------------------------------------------------------------------------------
.1628 14:35:51 (0) ** ----------------------------------------------------------------------------------------------------------------------------------
.1629 14:35:51 (0) ** 
.1630 14:35:51 (0) ** ----------------------------------------------------------------------------------------------------------------------------------
.1631 14:35:51 (0) ** ------------------------------------------------------ WMI REPORT: END -----------------------------------------------------------
.1632 14:35:51 (0) ** ----------------------------------------------------------------------------------------------------------------------------------
.1633 14:35:51 (0) ** 
.1634 14:35:51 (0) ** ERROR: WMIDiag detected issues that could prevent WMI to work properly!.  Check 'C:\USERS\ADMINISTRATOR\APPDATA\LOCAL\TEMP\WMIDIAG-V2.2_2K12R2.SRV.RTM.64_WIN-52BO8J9011M_2017.10.15_14.35.50.LOG' for details.
.1635 14:35:51 (0) ** 
.1636 14:35:51 (0) ** WMIDiag v2.2 ended on Sunday, October 15, 2017 at 14:35 (W:24 E:26 S:1).

到目前為止我做了什麼:

  • 在日誌文件中執行建議的命令:REGSVR32.EXE C:\WINDOWS\SYSTEM32\WBEM\WBEMDISP.DLL
  • 我嘗試恢復所有 .mof 文件(可能它們已損壞)。我無法讓建議的命令起作用。
  • 在 windows 文件夾中重新註冊我的 DLL:Dir *.dll /s /b > c:re-regdll.bat
  • 使用來自tweaking.com 的Windows 修復應用程序來修復WMI。

為了解決警告,我做了以下 3 個步驟:

  1. 我使用 VirtualBox 將主機桌面上的一個文件夾共享給我的虛擬機。
  2. 我製作了我的虛擬機目前狀態的快照,並將WBEMDISP.DLL從我拍攝的快照的c:/windows/system32/wbem文件夾複製到共享文件夾。
  3. 然後我回到我的快照,警告替換 WBEMDISP.DLL。

我還必須將 WMI 服務設置為自動啟動並啟動該服務: 在此處輸入圖像描述

我要做的最後一件事是在伺服器管理器中重新啟動更多服務。

來自 AD 和本地伺服器角色的服務。例如,IP Helper 被禁用。

引用自:https://serverfault.com/questions/878553