DFS-R: AD DS Schema Version

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

This object monitors the Active Directory Domain Services (AD DS) schema version, and creates a Critical alert if it detects a version that is incompatible with DFS Replication.

Knowledge Base article:

Summary

This object monitors the Active Directory Domain Services (AD DS) schema version, and creates a Critical alert if it detects a version that is incompatible with DFS Replication. It does so by looking for the presence of DFS Replication Event 6012.

Causes

An unhealthy state of this monitor indicates that AD DS schema objects required by DFS Replication are not available on the specified domain controller. This problem can occur if the schema was not upgraded, if the schema partition has not yet replicated to the domain controller, or if the version of the schema is incompatible with the version of the service on the affected computer.

Resolutions

Wait for configuration changes to replicate with AD DS

DFS Replication will retry this operation, which might resolve automatically after schema updates 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>

Extend the AD DS Schema

Extend (or update) the Active Directory Domain Services (AD DS) schema to include Windows Server 2003 R2, Windows Server 2008, or Windows Server 2008 R2 schema additions. To use read-only replicated folders, the schema must include the Windows Server 2008 or newer schema additions.

For information about extending the AD DS schema, see the Microsoft Web site at (http://go.microsoft.com/fwlink/?LinkId=93051).

Verification

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

Additional

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

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: Incompatible AD DS Schema Version
DFS Replication detected an Active Directory Domain Services (AD DS) schema version that is incompatible with DFS Replication. Replication is stopped until the version is updated.
Additional Information
Server: {0}
Expected Version: {1} Incompatible Server Version: {2}
Domain Controller: {3}
Polling Cycle (minutes): {4}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.FileServer.DFSR.IncompatibleDsSchemaMonitor" 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.IncompatibleDsSchemaMonitor_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>
<AlertParameter3>$Data/Context/Params/Param[3]$</AlertParameter3>
<AlertParameter4>$Data/Context/Params/Param[4]$</AlertParameter4>
<AlertParameter5>$Data/Context/Params/Param[5]$</AlertParameter5>
</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">6012</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">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>