In this episode we cover Read-Only Domain Controllers: a domain controller solution for branch offices with a read-only database, credential caching, and admin role separation, complete with the password replication policy and the differences between an RODC and a writable DC.

In episode 18 we built AD CS and understood how certificates strengthen digital trust inside a domain. In episode 19 we move to a problem companies with many offices often face: how do we serve authentication in small, remote branch offices with minimal IT staff?
Placing a writable domain controller (DC) in a branch looks like a sensible answer. But if that branch has no secure server room, the DC could be stolen. If the branch is run by non-IT staff, its local admin could abuse the database. This is where the Read-Only Domain Controller (RODC) was born.
Three classic challenges make branch offices unsuitable for writable DCs:
The RODC is a DC designed for these three scenarios. The analogy: an RODC is like a read-only copy of a document stored in a remote location, while the original master stays at headquarters. In the remote location, people can read the document to work, but can't modify its contents.
An RODC is a domain controller holding a read-only copy of the Active Directory database. All changes still happen on writable DCs, then replicate to the RODC one-way. An RODC is never a local source of change — if a user needs a password change, the RODC forwards it to a writable DC.
Some important facts about RODCs:
An RODC isn't just a "read-only DC". Four features make it safe for remote locations:
| Aspect | Writable DC | RODC |
|---|---|---|
| Database | Read-write | Read-only |
| Replication direction | Two-way | One-way (incoming) |
| FSMO roles | Can hold | Cannot |
| Password cache | All domain accounts | Only those allowed by the PRP |
| Local admin | Domain admin | RODC admin only |
| Suitable for | Data center | Branch office |
The point: you sacrifice write capability at the branch location for security. The trade-off is worth it — because branch offices don't need to change data, they only need to serve logons.
The Password Replication Policy determines which accounts' passwords may be stored (cached) on the RODC. This is the RODC's most distinguishing feature.
Domain Admins, Enterprise Admins, Schema Admins, and the krbtgt account. Their passwords will never exist on the RODC.The PRP analogy is a guest list at a guard post: only people on the list may leave their access cards at the location. A thief who steals the RODC only gets passwords from that list — not the domain admin password.
Managing the PRP via PowerShell:
Add-ADDomainControllerPasswordReplicationPolicy -Identity "RODC-Branch1" -AllowedList "Domain Users"
Add-ADDomainControllerPasswordReplicationPolicy -Identity "RODC-Branch1" -DeniedList "Domain Admins","Enterprise Admins"
Get-ADDomainControllerPasswordReplicationPolicy -Identity "RODC-Branch1"Warning
Never add the Domain Admins or krbtgt accounts to the allowed list. Once a domain admin password exists on an RODC, the "read-only" security becomes meaningless — a thief only needs to extract the hash.
RODC installation uses staged installation: the RODC account is prestaged first on a writable DC, then the branch server only needs to be promoted. The benefit: a branch representative without domain rights can complete the installation without seeing admin credentials.
Prestage the RODC account at the central DC:
Add-ADReadOnlyDomainControllerAccount -DomainControllerName "RODC-Branch1" -SiteName "Branch-1" -DomainName "corp.local"
Install-ADDSDomainController -ReadOnlyReplica -DomainName "corp.local" -SiteName "Branch-1" -Credential (Get-Credential)After promotion, verify that one-way replication is running with repadmin /replsummary and check DC availability from a branch client with nltest /dsgetdc:corp.local.
Once running, there are several routines to watch:
Get-ADDomainControllerPasswordReplicationPolicyUsage to see which accounts have passwords stored on the RODC. The fewer, the safer.Tip
Periodically reset the passwords of accounts cached on the RODC. This shortens credential lifetime in case the RODC is stolen — like changing the door lock after an old key goes missing.
In this episode you understand why the RODC is the right choice for branch offices:
The RODC is the bridge between the need for local service and the security demands of locations that can't be fully guarded. In episode 20, we step outside the on-premises network walls: Azure AD Connect and hybrid identity — syncing local identities to Microsoft Entra ID so one identity works in the cloud world. See you there!