Monitoring Domain Controller Health Status with PowerShell
Monitoring it's one of the most important task that i have in my job to keep healthy the enviroment. It's not the best to have issues all the time with your Servers and have downtimes at work times. With monitoring you can get the whole image of your enviroment and where must give more attention to prevent serious problems In this article i will focus in Monitoring of Domain Controllers and how can get quickly a health status.
Of Course you can find lot of tools to do this job but with powershell you can have quick results without lot of clicks in GUI Enviroment until get the results that you want.
Let' s Start
If you are working with Domain Controllers you know that you must monitoring the most critical Services. These Services are
- Active Directory Domain Services
- Active Directory Web Services
- Distributed File System Replication (DFSR)
- DNS client and Server service
- Remote Procedure Call (RPC) service
- Kerberos Key Distribution Center
- Windows Time Service
- Net Logon service
The first thinh that you must do is to open services and find what is your name of the specific services. So for my example i have already prepare some of them.
- Active Directory Domain Services - - > ntds
- Active Directory Web Services - - -> adws
- DNS client and Server service - - >dnscache and dns
- Kerberos Key Distribution Center - - -> kdc
- Windows Time Service - - -> w32time
- Net Logon service - - - > netlogon
- DHCP Client and Server Service - - > dhcp and dhcpserver
Now open the powershell as Administrator and type to get the status of Active Directory Domain Services
Get-Service -name ntds -ComputerName dc1
Type the following commandto get the status of Active Directory Web Services
Get-Service -name adws -ComputerName dc1
Type the following commandto get the status of DNS Server Service
Get-Service -name dns -ComputerName dc1
Type the following command to get the status of all the critical services.
Get-Service -name ntds,adws,dns,dncache,kdc,w32time,netlogon,dhcpserver,dhcp -ComputerName dc1
Now we have an image of the health status of Domain Controller in my enviroment.Quick and simple. Not Bad !!!
Also you can use as the first step of troubleshooting when you face problems with your Domain Controller.
All we know that the best practise is to have 2 Domain Controllers and replicate between them. So another one critical status is to monitoring the Replication.. If you working with lot of Domain Controllers you already know repadmin command that you can use it to check replication. But Powershell is more powerfull and you get more info instead of repadmin. Your decision what will use.
Before start to use Powershell command to check Replication status you must need the following prerequisites.
- Remote Server Administration Tools
- Active Directory Module for PowerShell
Base on your OS download and install the specific Remote Server Administration Tools
Download "Remote Server Administration Tools" on Win 7
Download "Remote Server Administration Tools" on Win 8.1
Download "Remote Server Administration Tools" on Win 10
When finish the installation follow the steps to enable Active Directory Module for Windows Powershell.
- Open Controll Pannel
- Select Programm and Features
- From the right side select Turn Windows Featurs On or Off.
- Expand Remote Server Administration Tools - - - > Role Administration Tools - - - > AD DS and AD LDS Tools
and tick Active Directory Module for Windows Powershell. Click Ok and wait until finish.
- Run as Administrator PowerShell and type the following command
Get-ADReplicationPartnerMetadata -Target * -Partition * | Select-Object Server,Partition,Partner,
ConsecutiveReplicationFailures,LastReplicationSuccess,LastRepicationResult | Out-GridView
We use Select-Object to get only the info that you want and the Out-GridView to get an export in Grid View.
If you don't understand run only the following command to see the export that you get
Get-ADReplicationPartnerMetadata -Target * -Partition *
This is it. You have 2 commands and you get the health status of your Domain Controllers.
I hope to find intresting the article
If you have something to say or share any related powershell command just write it in the comments. Discuss with other readers and give us your feedback.