DFS-N: Namespace Server AD DS Connectivity

Microsoft.Windows.DfsnRootTarget.ADConfigState (UnitMonitor)

This object monitors the ability of a namespace server to access namespace data in Active Directory Domain Services (AD DS) and creates an alert if the namespace server cannot access AD DS.

Knowledge Base article:

Summary

This object monitors the ability of a namespace server to access namespace data in Active Directory Domain Services (AD DS) by looking for the presence of DfsSvc event 14530. If this object detects the event, it sets the health state of the monitor to Warning.

Causes

A namespace server can fail to access AD DS for a number of reasons including the following:

Resolutions

If the namespace server is running in a virtual machine, restart the DFS Namespace service (Distributed File System on Windows Server 2003) after the host operating system resets the system clock. To do so, open a command prompt window on the affected server and then type the following commands:

net stop dfs

net start dfs

To test communication with AD DS, use the dfsdiag /testdcs command. Confirm that all domain controllers report healthy results.

If communication with a domain controller fails, or DFS metadata is inconsistent, try restarting the DFS Namespace service (Distributed File System on Windows Server 2003). If restarting the DFS Namespace service doesn’t help, you might need to restart the affected domain controller.

After detecting DfsSvc event 14532, this monitor resets to the Healthy state.

Additional

DfsSvc event 14530 (http://go.microsoft.com/fwlink/?LinkID=171057)

Element properties:

TargetMicrosoft.Windows.DfsnRootTarget
Parent MonitorSystem.Health.ConfigurationState
CategoryConfigurationHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.2SingleEventLog2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
DFS-N: Namespace Server Cannot Access Data in AD DS
{0}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.DfsnRootTarget.ADConfigState" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.DfsnRootTarget" ParentMonitorID="Health!System.Health.ConfigurationState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" ConfirmDelivery="false">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.DfsnRootTarget.ADConfigState_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/EventDescription$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UIGeneratedOpStateIda8f4ad24e530423cbc729db8aa748258" MonitorTypeStateID="FirstEventRaised" HealthState="Warning"/>
<OperationalState ID="UIGeneratedOpStateId40ab3fe74c79417d90cc92f7b02d252c" MonitorTypeStateID="SecondEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<FirstComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</FirstComputerName>
<FirstLogName>System</FirstLogName>
<FirstExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">14530</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>ContainsSubstring</Operator>
<Pattern>DfsSvc</Pattern>
</RegExExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[1]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="Microsoft.Windows.DfsnRootTarget"]/Folder$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</SecondComputerName>
<SecondLogName>System</SecondLogName>
<SecondExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">14532</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>ContainsSubstring</Operator>
<Pattern>DfsSvc</Pattern>
</RegExExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[1]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="Microsoft.Windows.DfsnRootTarget"]/Folder$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</SecondExpression>
</Configuration>
</UnitMonitor>