DFS-R: WMI Registration

Microsoft.Windows.FileServer.DFSR.WmiProviderRegistrationFailureMonitor (UnitMonitor)

This object monitors WMI registration and creates a Critical alert if it detects that DFS Replication couldn’t register itself with WMI.

Knowledge Base article:

Summary

This object monitors Windows Management Instrumentation (WMI) registration and creates a Critical alert if it detects that DFS Replication couldn’t register itself with WMI. It does so by looking for the presence of DFS Replication Event 6104.

Causes

An unhealthy state of this monitor indicates that replication is stopped because DFS Replication failed to register itself with WMI. This can occur if the Windows Management Instrumentation service is stopped.

Resolutions

Restart the Windows Management Instrumentation service

To restart the service remotely by using the sc command, open a command prompt window and then do the following:

1.To stop the service, type the following command, where [servername] is the Universal Naming Convention (UNC) path to the remote server:

sc [servername] stop winmgmt

2.To confirm that the service is in the STOPPED state, type the following command:

sc [servername] query winmgmt

3.To restart the service, type the following command:

sc [servername] start winmgmt

Note: To restart a service, you must be a member of the local Administrators group on the affected server. You can also restart services using the Services snap-in, the Windows PowerShell Start-Service and Stop-Service cmdlets, or command-line tools such as net stop and net start.

Reregister the DFS Replication WMI Provider

To do so, follow this procedure:

1. Log on to the affected server and then open an elevated command prompt window.

2. Type the following command: Mofcomp.exe %systemroot%\system32\wbem\dfsrprovs.mof.

3. Type the following command: net stop dfsr.

4. Type the following command: net start dfsr.

Verification

This monitor automatically resets to a healthy state when the issue is resolved.

To confirm that the service is in the STOPPED state, type the following command:

sc [servername] query winmgmt

Additional

DFS Replication Event 6104 (http://go.microsoft.com/fwlink/?LinkId=187160)

Element properties:

TargetMicrosoft.Windows.FileServer.DFSR.Service
Parent MonitorSystem.Health.ConfigurationState
CategoryStateCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.2SingleEventLog2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
DFS-R: Failed to Register with WMI
DFS Replication failed to register itself with WMI. Replication is disabled until WMI registration succeeds. Error: {0} ({1})
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.FileServer.DFSR.WmiProviderRegistrationFailureMonitor" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.FileServer.DFSR.Service" ParentMonitorID="Health!System.Health.ConfigurationState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" ConfirmDelivery="true">
<Category>StateCollection</Category>
<AlertSettings AlertMessage="Microsoft.Windows.FileServer.DFSR.WmiProviderRegistrationFailureMonitor_AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Params/Param[1]$</AlertParameter1>
<AlertParameter2>$Data/Context/Params/Param[2]$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="FirstEventRaised" MonitorTypeStateID="FirstEventRaised" HealthState="Error"/>
<OperationalState ID="SecondEventRaised" MonitorTypeStateID="SecondEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<FirstComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</FirstComputerName>
<FirstLogName>DFS Replication</FirstLogName>
<FirstExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">6104</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">DFSR</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</SecondComputerName>
<SecondLogName>DFS Replication</SecondLogName>
<SecondExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">DFSR</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">6102</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1004</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1104</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
</And>
</SecondExpression>
</Configuration>
</UnitMonitor>