DFS-R: Parameter Validity

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

This object monitors the DFS Replication configuration in Active Directory Domain Services (AD DS) and in the local database, and creates a Critical alert if it detects a configuration parameter that is not valid.

Knowledge Base article:

Summary

This object monitors the DFS Replication configuration in Active Directory Domain Services (AD DS) and in the local database, and creates a Critical alert if it detects a configuration parameter that is not valid. It does so by looking for the presence of DFS Replication Event 6008.

Causes

An unhealthy state of this monitor indicates that DFS Replication disabled the affected object because there was an incorrect string or parameter in the configuration, either in AD DS or in the local configuration.

Resolutions

Wait for configuration changes to replicate with AD DS

DFS Replication will retry this operation, which usually resolves automatically after configuration changes replicate through AD DS.

To poll immediately for configuration changes, open a command prompt window and then type the following command once for each member of the replication group, where <domain> is the domain the server is located in and <server> is the server name:

Dfsrdiag PollAD /Member:<domain>\<server>

If this problem persists, verify that AD DS replication is working and that the service is able to reach a domain controller. If the problem persists for 8 hours, the DFS Replication service will disable the connection and log DFS Replication Event 5016.

Recreate the configuration

If the issue does not resolve itself, delete the configuration that is causing the error and recreate it. To do so, examine the alert or DFS Replication Event 6008 to determine which object is affected, and then use DFS Replication or the dfsradmin command to delete and recreate the object.

Note: To change the DFS Replication configuration, you must be a member of the Domain Admins group in the domain in which the replication group is configured, the creator of the replication group, or have been delegated permissions.

Verification

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

Additional

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

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: Bad Parameter Detected in Configuration
DFS Replication detected a configuration parameter that isn't valid. DFS Replication cannot recover from this error and will disable the object in question until the parameter is fixed.
Additional Information:
Object Name: {0}
Object Type: {1}
Object GUID: {2}
Parameter Name: {3}
Error: {4}
Source Domain Controller: {5}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.FileServer.DFSR.InvalidConfigParameterMonitor" 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.InvalidConfigParameterMonitor_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[5]$</AlertParameter2>
<AlertParameter3>$Data/Context/Params/Param[2]$</AlertParameter3>
<AlertParameter4>$Data/Context/Params/Param[3]$</AlertParameter4>
<AlertParameter5>$Data/Context/Params/Param[4]$</AlertParameter5>
<AlertParameter6>$Data/Context/Params/Param[6]$</AlertParameter6>
</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">6008</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">6608</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">6604</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">6014</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>