This object monitors the ability of DFS Namespaces to communicate with Active Directory Domain Services (AD DS) domain controllers.
This object monitors the ability of DFS Namespaces to communicate with Active Directory domain controllers by looking for the presence of DfsSvc event 14523 in the System log.
The DFS Namespace service failed to contact a domain controller. This can occur for many reasons including:
Network connectivity issues
No domain controllers are currently available
Test network connectivity
To test network connectivity with the affected server, use the following procedure:
1. Open a command prompt window and then use the ping command to check basic network connectivity. If the ping command fails, it is likely that the server is not running, or has network problems that require local access to resolve. If Ping is blocked in your network environment, skip this step.
2. If the ping command is successful, test the server's registration in DNS by using the nslookup command. If the nslookup command fails, there is a problem with DNS. Check the DNS server health or contact the DNS server administrator.
3. If the nslookup command succeeds, it is likely that the shared folder is offline (possibly for maintenance) or there are problems with the permissions on the shared folder.
If communication with a domain controller fails, or DFS metadata is inconsistent, restart the DFS Namespace service.
Restart the DFS Namespace service
To restart the service, use the Services snap-in, the Windows PowerShell Start-Service and Stop-Service cmdlets, or command-line tools such as net stop and net start. 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 dfs
2.To confirm that the service is in the STOPPED state, type the following command:
sc [servername] query dfs
3.To restart the service, type the following command:
sc [servername] start dfs
Note: To restart a service, you must be a member of the local Administrators group on the affected server.
If restarting the service doesn't resolve the issue, you might need to restart the affected domain controller.
Verification
After detecting DfsSvc event 14508, this monitor resets to the Healthy state.
DFS Namespaces Event 14523 (http://go.microsoft.com/fwlink/?LinkId=186543).
Target | Microsoft.Windows.FileServer.DFSN.10.0.ADPerspective | ||
Parent Monitor | System.Health.AvailabilityState | ||
Category | AvailabilityHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Windows.2SingleEventLog2StateMonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.Windows.FileServer.DFSN.10.0.ADPerspective.ADAvailability" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.FileServer.DFSN.10.0.ADPerspective" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" ConfirmDelivery="true">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.FileServer.DFSN.10.0.ADPerspective.ADAvailability_AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/EventDescription$</AlertParameter1>
</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>System</FirstLogName>
<FirstExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">14523</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>ContainsSubstring</Operator>
<Pattern>DfsSvc</Pattern>
</RegExExpression>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</SecondComputerName>
<SecondLogName>System</SecondLogName>
<SecondExpression>
<Or>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">14508</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>ContainsSubstring</Operator>
<Pattern>DfsSvc</Pattern>
</RegExExpression>
</Expression>
</And>
</Expression>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">7036</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[1]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">DFS Namespace</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[2]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">stopped</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</Or>
</SecondExpression>
</Configuration>
</UnitMonitor>