Join To domain
Set DNS to point to domain controllers:
Get-netadapter | Set-DnsClientServerAddress -ServerAddresses ("10.0.0.1","10.0.0.2")
Domain join the computer:
Add-Computer –domainname <domain> -Credential <domain account> -restart
Domain Services / Ports required
Open the following ports on firewall for active directory domain services to function correctly:
TCP - ["53", "88", "135", "139", "389", "445", "464", "636", "3268", "3269", "5722", "9389", "49152-65535"]
UDP - ["53", "88", "123", "137", "138", "389", "445", "464", "49152-65535"]
Domain Controller Info
Find all domain controllers in the domain:
Resolve-DnsName -Type ALL -Name _ldap._tcp.dc._msdcs.$env:userdnsdomain
Testing of Domain Replication between controllers can be done using "repadmin" command
repadmin /replsummary (Identifies domain controllers that are failing inbound replication or outbound replication, and summarizes the results in a report.)
Get detailed info on domain controller status:
dcdiag /v /c /e | out-file C:\temp\dctest.txt
Get FSMO Roles held by Domain Controllers
netdom query FSMO
Domain Controller Troubleshooting
If there is an issue with creating group policy there may be an issue with the sysvol directory. Check for replication issues and any changes to the permissions that might have occurred.
Check for any DNS issues for entries associated with the Domain Controllers.
Domain Recovery
Check the Microsoft Guide for recovery: MS Guide
If domain controller/controllers have been offline for over 60 days then all domain services will be complaining.
To fix the domain the easiest way will be to destroy all the domain controllers but the one which has the data you want to keep.
Seize all FSMO roles onto that domain controller and do authoritive restore of SYSVOL.
Delete all other domain controllers from Active directory using the AD users and computers MMC. This should also clear up all domain records for those domain controllers. Then delete all DNS records which point to the other domain controllers.
Then for the remaining DC set the msDFSR-Enabled attribute to False, and msDFSR-Options attribute to 1 (stop DFS service first)
Then start the DFS service and check for event 4602 which will give you details on the DFSR status:
Get-WinEvent -LogName 'DFS Replication' | Where-Object ID -EQ 4602 | Format-Table -AutoSize -Wrap
Check the output then stop the DFSR service.
Change msDFSR-Enabled attribute to True, then start the DFSR service again and check the events.
Hopefully this will restore the sysvol replication and everything will start working again.
You can then force demote/rebuild the other domain controllers and join them back to the domain. Probably best to do this process offline until you are ready to promote them back to being a domain controller.
Sysvol Replication Issues
If there are issues with domain replication use the following tools to diagnose:
- dcdiag - will provide fill diagnostics on the domain controllers use /c to do all tests (dcdiag /c)
- repadmin - will provide details on replication between domain controllers - use eg : repadmin /replsummary
Migrate from FRS to DFS Sysvol Replication
To migrate from FRS to DFS you will need to put the domain controllers through three states: Prepared, Redirected, and Eliminated
Check current state on DC:
dfsrmig /getglobalstate
This will return a state from 0-4, 0=Start, 1=Prepared, 2=Redirected, 3=Eliminated.
Detailed information can be found here: https://learn.microsoft.com/en-us/windows-server/storage/dfs-replication/migrate-sysvol-to-dfsr
Another good guide can be found here: https://techcommunity.microsoft.com/t5/storage-at-microsoft/streamlined-migration-of-frs-to-dfsr-sysvol/ba-p/425405
Migrating to prepared state
Migrating to the Prepared state includes the following tasks:
Verify the health of Active Directory Domain Services: run the following command to check sysvol share on each DC, also check disk space on the drive that contains the sysvol
net share
Check replication is healthy:
repadmin /ReplSum
Check the following Reg key for the location of sysvol and confirm location HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Netlogon\Parameters, also check the reg key "sysvolready" = 1
Check on each domain controller in Administritive tools that DFS Replication is listed and is set to automatic startup
Raise the domain functional level to Windows Server 2008 minimum if domain is not already at this functional level:
- in Active directory domains and trusts right click the domain to check (properties) Then Right click and select raise functional level (This cannot be reversed one completed, check this will not cause an issue with old gpo templates etc)
Check the state of the sysvol and connectivity between domain controllers: Make sure all tests succeed before starting:
Dcdiag /e /test:sysvolcheck /test:advertising
Migrate the domain to the Prepared state: on full domain controller (not read-only) set the global state to prepared
dfsrmig /setglobalstate 1
Verify that the domain has migrated to the Prepared state:
dfsrmig /getglobalstate
Check all domain controllers have reached the Prepared State: (this can take some time)
dfsrmig /getmigrationstate
Verify all domain controllers have reached the prepared state:
1. Open **DFS Management** from the **Administrative Tools** folder. If DFS Management is not already installed, from Server Manager, use the Add Features Wizard to install the **Remote Server Administration Tools** feature, and select the **File Services Tools** feature with the **Distributed File System Tools** option. 2. In the console tree, under the **Replication** node, click **Domain System Volume**. 3. Click the **Membership** tab, click **Membership Status**, and then for each domain controller in the domain, verify that the **Enabled** check box is selected for a **Local Path** of \[*drive*:\\\]*Windows\_folder*\\SYSVOL\_DFSR\\domain. 4. Right-click **Domain System Volume**, and then click **Create Diagnostic Report** to create a diagnostic report for DFS Replication of the SYSVOL\_DFSR folder. Follow the instructions in the Diagnostic Report Wizard and view the report that the wizard produces to verify the health of DFS Replication of the SYSVOL\_DFSR folder. DFS Management in Windows Server 2008 includes the ability to run a propagation test and generate two types of diagnostic reports—a propagation report and a general health report. To verify that SYSVOL replication is working properly, perform the propagation test and examine both reports for problems.
Migrating to Redirected State
Once all domain controllers are functioning in the prepared state you can migrate to redirected state:
dfsrmig /setglobalstate 2
Check state with the following command:
dfsrmig /getglobalstate
Check the migration status with the following command:
dfsrmig /getmigrationstate
Verify the state of the sysvol on each domain controller: you want to see that the mapped share is the dfsr share(sysvol_dfsr\sysvol)
- net share
Use DFS management to create diagnostic report to confirm dfsr status
1. Open **DFS Management** from the **Administrative Tools** folder. 2. In the console tree, under the **Replication** node, click **Domain System Volume**. 3. Click the **Membership** tab, click **Membership Status**, and then for each domain controller in the domain, verify that the **Enabled** check box is selected for a **Local Path** of \[*drive*:\\\]*Windows\_folder*\\SYSVOL\_DFSR\\domain. 4. Right-click **Domain System Volume**, and then click **Create Diagnostic Report** to create a diagnostic report for the DFS Replication of the SYSVOL\_DFSR folder. Follow the instructions in the Diagnostic Report Wizard and view the report that the wizard produces to verify the health of the DFS Replication of the SYSVOL\_DFSR folder. DFS Management in Windows Server 2008 provides the ability to run a propagation test and generate two types of diagnostic reports—a propagation report and a general health report. To verify that SYSVOL replication is working properly, perform the propagation test and examine both reports for problems.
Migrating to Eliminated State
After confirming that there are no issues with domain controllers in the Redirected state the domain controllers can be put into the Eliminated state:
Check migration status:
dfsrmig /getmigrationstate
Confirm AD replication is functioning correctly:
repadmin /ReplSum
Backup the state of the domain controllers: (run on each domain controller)
Wbadmin start systemstatebackup
Finally migrate to the eliminated state: (run on writable DC)
dfsrmig /setglobalstate 3
Check global state:
dfsrmig /getglobalstate
Check migration state:
dfsrmig /getmigrationstate
Check the sysvol share:
net share
Get DFS report:
1. Open **DFS Management** from the **Administrative Tools** folder. 2. In the console tree, under the **Replication** node, click **Domain System Volume**. 3. Click the **Membership** tab, click **Membership Status**, and then for each domain controller in the domain, verify that the **Enabled** check box is selected for a **Local Path** of \[*drive*:\\\]*Windows\_folder*\\SYSVOL\_DFSR\\domain. 4. Right-click **Domain System Volume**, and then click **Create Diagnostic Report** to create a diagnostic report for the DFS Replication of the SYSVOL\_DFSR folder. Follow the instructions in the Diagnostic Report Wizard and view the report that the wizard produces to verify the health of the DFS Replication of the SYSVOL\_DFSR folder. DFS Management in Windows Server 2008 provides the ability to run a propagation test and generate two types of diagnostic reports—a propagation report and a general health report. To verify that SYSVOL replication is working properly, perform the propagation test and examine both reports for problems.
Stop and disable the FRS service on each domain controller:
Sc *<servername>*stop ntfrs
Sc *<servername>*config ntfrs start=disabled
DFSR configuration Rebuild
Use this process to rebuild the sysvol replication group without demoting and promoting domain controllers
To check if this is required look in ADSIedit.msc for the entries for the domain controllers, if they do not have the CN=DFSR-Localsettings in the AD object then it is likely there is no DFSR config.
1: Take backups
2: Shut down DFSR services on all domain controllers
3: On the Domain controller with PDCEmulator FSMO role enter the following Reg keys:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\DFSR\Parameters\SysVols\Promoting SysVols] Information Is Committed=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\DFSR\Parameters\SysVols\Promoting SysVols\<Yourdomain>] Is Primary=dword:00000001 Command=DcPromo Parent Computer="" (entry is blank) Replicated Folder Name=<yourdomain> Replicated Folder Root=C:\Windows\SYSVOL\Domain Replicated Folder Root Set=C:\Windows\SYSVOL\sysvol\<yourdomain> Replicated Folder Stage=C:\Windows\SYSVOL\staging areas\<yourdomain> Replication Group Name=<yourdomain> Replication Group Type=Domain"
Make sure "is primary" is only = 1 on the PDC emulator DC
4:Start DFSR on PDCEmulator domain controller CN=Domain System Volume will be recreated under CN=Dfsr-GlobalSettings,CN=System,DC=<DOMAIN> All created registry keys and values will be deleted DFSR Event 4602 will be written on the PDCE
5:Create the following Reg keys on the other writable domain controllers(not RODC):
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\DFSR\Parameters\SysVols\Promoting SysVols] Information Is Committed=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\DFSR\Parameters\SysVols\Promoting SysVols\<Yourdomain>] Is Primary=dword:00000000 Command=DcPromo Parent Computer="DC01.yourdomain" (point to FQDN of PDC emulator DC - the previously configured one) Replicated Folder Name=<yourdomain> Replicated Folder Root=C:\Windows\SYSVOL\Domain Replicated Folder Root Set=C:\Windows\SYSVOL\sysvol\<yourdomain> Replicated Folder Stage=C:\Windows\SYSVOL\staging areas\<yourdomain> Replication Group Name=<yourdomain> Replication Group Type=Domain"
6: Start DFSR server on other domain controllers - CN=Domain System Volume will be recreated under CN=Dfsr-GlobalSettings,CN=System,DC=<DOMAIN> All created registry keys and values will be deleted DFSR Event 4614, 6805, and 4804 will be written when the server is replicating SYSVOL successfully Be Patient, it might take few minutes before replication starts
Restore Destroyed DFSR from backup
If the sysvol is damaged but the replication group is still functioning and the dfsr=true flags can be seen for the domain controllers in adsiedit.msc then you may be able to restore from backup and start the replication again from the known good restored sysvol
See the guide below:
https://gist.github.com/RavuAlHemio/00e51d3ea64731be9d43b01eda18734f
Time Service Configuration
All domain members should use NT5DS domain time.
Desktops and member servers sync with any domain controller.
Domain controllers sync with PDC emulator (one per domain)
PDC emulator in child domain can sync with any domain controller in parent domain.
PDC emulator in parent domain syncs with either a hardware clock or possibly an external source.
https://blogs.technet.microsoft.com/nepapfe/2013/03/01/its-simple-time-configuration-in-active-direc...
for all domain members (aside from PDCe) should have happened by default but you can confirm by running;
w32tm /unregister
net stop w32time
w32tm /register
net start w32time
w32tm /config /syncfromflags:domhier /update
net stop w32time
net start w32time
then check
w32tm /query /source
w32tm /query /configuration
for the PDCe
w32tm /unregister
net stop w32time
w32tm /register
net start w32time
w32tm /config /manualpeerlist:<preferred ip address> /syncfromflags:manual /reliable:yes /update
net stop w32time
net start w32time
then check
w32tm /query /source
w32tm /query /configuration
If some servers are unable to change the time zone because they are synced via group policy settings but are on the wrong time zone use powershell:
If the time zone is not able to be changed from the GUI open an admin powershell session and use the following cmdlet:
- set-timezone "GMT Standard Time"
Can check connection to NTP server with the following command:
- w32tm /stripchart /computer:time.windows.com /dataonly
Capture FSMO Roles from other domain controller
Move-ADDirectoryServerOperationMasterRole -Identity <domain controller hostname receiving roles> -OperationMasterRole schemamaster, domainnamingmaster, pdcemulator, ridmaster, infrastructuremaster -Force
Lost Trust Relationship With Domain
If a server has lost the trust relationship after being restored use the following commands:
Test local computer password:
Test-ComputerSecureChannel -verbose
Check the Servers Computer account is in the domain and is not disabled
Reset the Computer machine account:
Reset-ComputerMachinePassword -Server <DomainController> -Credential <DomainAdmin>
Reset-ComputerMachinePassword -Server DC01 -Credential DomainAdminAccount
The other way to restore is to unjoin the Server from the domain and then re-join it to the domain.
Demote Domain Controller
To demote a domain controller you can select in server manager to uninstall the Active Directory Services Role.
Alternatively you can use powershell for windows server versions >= 2012:
Uninstall-Addsdomaincontroller
Ref: MS KB
For older domain controllers dcpromo.exe can be used: MS KB
If the demote does not go correctly or the domain controller is no longer able to contact the other domain controllers you may need to carry out the process manually: MS KB
Migrate Certificate Authority
See the following guide: MS KB
Migrate Domain controller services
FSMO Roles
Move FSMO roles with powershell: MS KB
Move-ADDirectoryServerOperationMasterRole -Identity “Target_DC_Name” –OperationMasterRole 0,1,2,3,4
ID FSMO Role 0 PDC Emulator 1 RID Master 2 Infrastructure Master 3 Schema Master 4 Domain Naming Master
IP Address
To change the IP address of a domain controller make sure services are functioining then change over the ip address. After changing the IP address carry out the following commands to make sure DNS and active directory records are correct:
- ipconfig /flushdns to remove local cache
- ipconfig /registerdns to ensure the new IP is registered by the DNS server
- dcdiag /fix to ensure service records are registered.
Then check AD sites and services has been updated.
Can check for issues with the command:
- dcdiag /test:dns /v
Get DNS records from domain controller
Use the following powershell command to access the DNS records on the domain controller:
Get-DnsServerResourceRecord -ZoneName "contoso.com"
you can specify specific types of records with the -rrtype flag
Get-DnsServerResourceRecord -ZoneName "contoso.com" -RRType "srv"
Add Domain controller
Promote member server to domain controller:
Install-ADDSdomaincontroller -InstallDns -DomainName "<domain>" -credential (Get-Credential)
check domain promotion logs: $env:systemroot\debug\DCPROMO.LOG