Appearance
Active Directory Operations Guide
Overview
Active Directory (AD) is the on-premises identity backbone. It runs on Windows Server domain controllers in the PROD Azure environment and syncs to Entra ID via Entra Connect.
Kevin and Greg are the T1 Domain Admins — they own AD operations. This guide is for Rory (and any future IT engineer) to understand AD well enough to investigate issues, run read-only diagnostics, and handle basic operations when Kevin and Greg are unavailable.
For cloud identity operations (Entra ID, groups, PIM, Conditional Access) see Entra Identity Operations.
Domain Information
| Property | Value |
|---|---|
| Domain name | ciriusgroup.internal |
| NetBIOS name | CIRIUSGROUP |
| Forest root | ciriusgroup.internal |
| Functional level | Windows Server 2016 (or higher — verify current) |
| Domain controllers | See DC list below |
Domain Controllers
| Server | Role | Location | Notes |
|---|---|---|---|
| Primary DC | PDC Emulator, RID Master, Schema Master, Domain Naming Master | Azure PROD — vnet-identity | Writable DC — primary operations |
| RODC | Read-Only Domain Controller | Azure PROD — vnet-rodc | DMZ-facing; read-only; no cached domain admin passwords |
| DR DC (CGIRDPAZP01) | Replica DC | AWS Prod account | DR environment; syncs from primary |
Exact server names and IPs are in the network topology docs. Access via Twingate + RDP.
FSMO Roles
The five FSMO (Flexible Single Master Operations) roles control specific domain functions. Knowing where they live helps diagnose AD issues.
| Role | Holder | What It Does |
|---|---|---|
| Schema Master | Primary DC | Controls schema modifications (adding new AD attributes) |
| Domain Naming Master | Primary DC | Controls adding/removing domains from the forest |
| PDC Emulator | Primary DC | Time sync source, password changes, account lockout processing |
| RID Master | Primary DC | Issues blocks of relative IDs for new objects |
| Infrastructure Master | Primary DC | Updates cross-domain group membership references |
To verify FSMO role holders:
powershell
# Run from any domain-joined machine with AD tools
netdom query fsmo
# Or:
Get-ADDomain | Select PDCEmulator, RIDMaster, InfrastructureMaster
Get-ADForest | Select SchemaMaster, DomainNamingMasterIf the PDC Emulator goes down, time sync for all domain members will drift and Kerberos authentication will fail within 5 minutes (Kerberos tolerance is 5 minutes). Ensure the DR DC can be promoted to PDC Emulator if needed.
Checking AD Health
Replication Status
powershell
# Check replication status between all DCs
repadmin /replsummary
# Force immediate replication
repadmin /syncall /AdeP
# Check for replication errors
repadmin /showreplA healthy output shows No Errors for all partitions. Replication errors that persist more than 1 hour need investigation — stale AD data can cause authentication failures.
DC Diagnostics
powershell
# Run full DC health check (takes 5-10 minutes)
dcdiag /test:all
# Check specific tests
dcdiag /test:replications
dcdiag /test:netlogons
dcdiag /test:dnsdcdiag passes should all show passed. FAILED or WARNING results indicate problems.
AD Services Status
On the DC directly:
powershell
# Check critical AD services
Get-Service -Name "ADWS", "DFSR", "DNS", "Kerberos", "LanmanServer", "Netlogon" | Format-Table Name, StatusAll should be Running. NetLogon and ADWS (Active Directory Web Services) being stopped will break authentication and LDAP queries respectively.
Group Policy (GPO)
GPOs apply settings to computers and users in Organizational Units (OUs).
Viewing GPOs
Group Policy Management Console (GPMC) — on the DC or any machine with RSAT tools:
gpmc.mscNavigate: Forest → Domains → ciriusgroup.internal → Group Policy Objects
Key GPOs in use:
| GPO | Applies To | Purpose |
|---|---|---|
| Default Domain Policy | All domain objects | Base password policy, account lockout |
| Security Baseline | Servers OU | Windows security hardening (aligned to CIS) |
| Audit Policy | All servers | EventID 4688, 4624, 4648, 4698, 7045, 1102 enablement |
| Kill Chain Logging | All servers | PowerShell script block logging (4104), LSASS auditing |
Do not modify GPOs without Kevin or Greg's involvement. A bad GPO can lock out all machines in an OU.
Checking Which GPO Applies to a Machine
powershell
# On the target machine
gpresult /r /scope:computer
# Get full GPO report as HTML
gpresult /h "C:\Temp\gpo-report.html"This shows which GPOs are applied and in what order (last writer wins for conflicting settings).
Forcing a GPO Update
If you change a GPO and want it applied immediately instead of waiting for the 90-minute refresh cycle:
powershell
# On the target machine (or via remote)
gpupdate /force
Invoke-GPUpdate -Computer "COMPUTERNAME" -Force # remoteOrganizational Units (OU) Structure
OUs control which GPOs apply and how objects are organized. The rough structure:
ciriusgroup.internal
├── Computers
│ ├── Servers ← Production servers, DCs
│ ├── Workstations ← Staff laptops and desktops
│ └── DR ← DR machines (CGIRDPAZP01, BIZARCAZP01)
├── Users
│ ├── Staff ← Regular user accounts
│ ├── ServiceAccounts ← svc-* accounts
│ └── Disabled ← Offboarded accounts awaiting deletion
└── Groups
├── Security ← Security groups used for access control
└── Distribution ← Distribution groups (mail-enabled)When creating a new object, it must be placed in the correct OU or the wrong GPOs apply.
Common AD Operations
Find a User Account
powershell
Get-ADUser -Identity "username" -Properties *
Get-ADUser -Filter {EmailAddress -eq "user@ciriusgroup.com"} -Properties *Check Account Lockout
powershell
# Check if an account is locked
Get-ADUser -Identity "username" -Properties LockedOut, BadLogonCount, BadPasswordTime
# Unlock an account
Unlock-ADAccount -Identity "username"When an account is locked out, the PDC Emulator processes the unlock and replicates to all DCs. If unlocking doesn't stick, check if there's a process (mapped drive, service) repeatedly authenticating with the old password.
Reset a Password
powershell
# Reset password (prompts for new password)
Set-ADAccountPassword -Identity "username" -Reset
# Force password change at next login
Set-ADUser -Identity "username" -ChangePasswordAtLogon $trueCheck Group Membership
powershell
# What groups is a user in?
Get-ADPrincipalGroupMembership -Identity "username" | Select Name
# Who is in a specific group?
Get-ADGroupMember -Identity "GroupName" | Select Name, SamAccountNameFind Stale Computer Accounts
powershell
# Computers that haven't logged on in 90+ days
$cutoff = (Get-Date).AddDays(-90)
Get-ADComputer -Filter {LastLogonDate -lt $cutoff} -Properties LastLogonDate |
Select Name, LastLogonDate | Sort-Object LastLogonDateEntra Connect Sync
Entra Connect runs on the primary DC (or a dedicated sync server) and syncs on-prem AD to Entra ID every 30 minutes.
powershell
# Check sync status
Import-Module ADSync
Get-ADSyncScheduler
# Trigger immediate sync
Start-ADSyncSyncCycle -PolicyType Delta
# Check for sync errors
Get-ADSyncConnectorRunStatusIf sync fails: check the Application Event Log on the Entra Connect server for ADSync errors. The most common fix is restarting the Microsoft Azure AD Sync service.
Troubleshooting
Authentication Failures (Users Can't Log In)
- Check if the account is locked:
Get-ADUser -Identity "user" -Properties LockedOut - Check domain replication — if a DC has stale data, some users may not authenticate:
repadmin /replsummary - Check the PDC Emulator is reachable — Kerberos routes password changes and lockouts there
- Check time sync — Kerberos fails if client clock is >5 minutes from DC:
w32tm /query /statuson the client
Kerberos Errors (Event 4769, Event 14)
Usually a time skew or DNS issue. Verify:
- Time sync to PDC Emulator is working
- DNS resolves DC names correctly (
nslookup ciriusgroup.internal) - SPN (Service Principal Name) registrations are correct for the failing service:
setspn -L <service-account>
GPO Not Applying
- Run
gpresult /ron the target machine — is the GPO in the applied list? - Check WMI filter if the GPO uses one — the filter may not be matching
- Check the OU — is the machine in the correct OU?
- Force update:
gpupdate /force - Check SYSVOL replication if GPO applied on some DCs but not others:
repadmin /replsummary
When Kevin / Greg Are Unavailable
For operations that only Domain Admins can perform (schema changes, OU creation, DC promotion):
- Use the AD break-glass account (
AD Break-Glass — Primary DCin Keeper) for emergency read-only investigation - For write operations: the AD break-glass account has Domain Admin rights — use only for genuine emergencies and document per Break-Glass Procedure
- For anything that can wait: contact Kevin or Greg directly (mobile numbers in Keeper → Emergency Contacts)
Related Documents
- Entra Identity Operations — cloud identity (Entra ID, MFA, PIM)
- Break-Glass Procedure — AD break-glass account activation
- Network Topology — DC VNet placement and IP ranges
- KQL Query Reference — querying security events from AD
Document History
| Date | Change | Author |
|---|---|---|
| May 2026 | Initial draft — domain info, FSMO roles, health checks, GPO, OU structure, common operations, Entra Connect, troubleshooting, break-glass access. | Rory |