What I built
- A Windows Server promoted to a Domain Controller for
corp.local
(think: the “boss” of the network) - A basic OU (Organizational Unit) structure to keep things tidy (
Corp Users
,Workstations
) - A couple of users and groups, with a role-based pattern (e.g. Helpdesk group)
- Password policies – one for everyone, and a stricter one for admins
- Some baseline Group Policies to lock things down
Core steps (in plain English)
- Made the server a Domain Controller – so it could run AD DS.
- Created OUs – folders where you keep users/computers for easier management.
- Added users & groups – e.g. created Emily Chen, then put her into the Helpdesk group.
- Set password rules – 12+ characters for normal users, 16+ for admins.
- Applied baseline security policies – through Group Policy Objects (GPOs).
The real lessons (things that went wrong)
-
DNS & time are everything. If your Domain Controller isn’t using itself as DNS or the time drifts, Kerberos breaks and logins fail.
- Fix: point DNS to
127.0.0.1
and make the DC a reliable time source.
- Fix: point DNS to
-
Think about OUs first. Don’t dump policies at the domain root. Put computers/users into OUs and link GPOs there.
-
Password rules aren’t always obvious. The “Default Domain Policy” applies to everyone, but fine-grained policies only kick in for the groups you explicitly target.
-
Don’t assume policies applied. Always check with tools like
gpresult /r
orwhoami /all
to confirm. -
Automate early. PowerShell makes life easier when adding multiple users/groups – way faster than clicking.
-
Use groups properly. Instead of giving people permissions directly, add them to groups and assign access at the group level. Cleaner, safer, easier to audit.
Quick checks I ran
Get-ADDomain; Get-ADForest
– make sure the domain is alive.gpresult /r
– confirm which policies apply to a workstation.whoami /all
– see what groups/privileges a logged-in user has.
What I learned
- A reliable AD setup starts with good DNS, correct time, and a sensible OU design.
- Group Policies are powerful but can also cause chaos – test them in a lab first.
- Fine-grained password policies are best used for special cases (like admins), not everyone.
- Scripts > clicking around. Automation makes your setup reproducible.
What’s next
- Add a second Domain Controller for backup.
- Set up System State backups.
- Write and test a restore runbook (so I know how to recover if things break).