DCLocator Health

Microsoft.Windows.Server.2016.AD.Availability.DCLocator.ServiceCheck (UnitMonitor)

Monitors the health of DCLocator

Knowledge Base article:

Summary

Monitors that the server is able to successfully use DCLocator to find a suitable domain controller in the domain.

If DCLocator fails, the server will not be able to communicate with the domain.

Causes

DCLocator is unable to find a suitable domain controller.

Resolutions

From an elevated command prompt, run "nltest /dsgetdc:" to ensure DCLocator is functioning correctly.

Check the Application and System event logs to ensure that there are no systemic problems with the server.

Element properties:

TargetMicrosoft.Windows.Server.2016.AD.DomainControllerRole
Parent MonitorMicrosoft.Windows.Server.2016.AD.AvailabilityEssentialServices.AggregateMonitor
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityHigh
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.Server.2016.AD.Availability.DCLocator.Monitortype
RemotableFalse
AccessibilityPublic
Alert Message
DCLocator test failed to locate a domain controller.
The DCLocator test failed to a locate a domain controller in the domain. From an elevated command prompt, run "nltest /dsgetdc:" to ensure DCLocator is functioning correctly.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.2016.AD.Availability.DCLocator.ServiceCheck" Accessibility="Public" Enabled="true" Target="AD2016Core!Microsoft.Windows.Server.2016.AD.DomainControllerRole" ParentMonitorID="Microsoft.Windows.Server.2016.AD.AvailabilityEssentialServices.AggregateMonitor" Remotable="false" Priority="Normal" TypeID="Microsoft.Windows.Server.2016.AD.Availability.DCLocator.Monitortype" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.2016.AD.Availability.DCLocator.ServiceCheck.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>High</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="DCLocAdOK" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="DCLocAdError" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>60</IntervalSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>