
π 1. Assess & Inventory First (Donβt Delete Yet)
Start by understanding what you actually have.
What to collect:
- All user accounts
- Computer accounts
- Groups (especially nested ones)
- Domain Controllers
- GPOs (Group Policy Objects)
- OU structure
Tools:
- Native tools like Active Directory Users and Computers
- PowerShell (essential for reporting)
- Optional: PingCastle (great for quick health/security insights)
π Focus on reporting only at this stageβno changes.
π§Ή 2. Identify Stale & Unused Objects
This is usually the biggest win.
Look for:
- Users not logged in for 90β180+ days
- Disabled accounts that were never deleted
- Computer accounts not active (old machines)
- Service accounts (β οΈ handle carefully)
Example PowerShell:
Search-ADAccount -AccountInactive -UsersOnly -TimeSpan 180.00:00:00
π Move these to a βQuarantine OUβ instead of deleting immediately.
π 3. Clean Up Groups (Huge Risk Area)
Over 10 years, group sprawl becomes a nightmare.
Actions:
- Identify empty groups
- Find duplicate groups
- Review nested groups
- Validate privileged groups (Domain Admins, etc.)
π Document before changing anything.
π₯οΈ 4. Review Domain Controllers & Replication
Check:
- Old/decommissioned DCs still in metadata
- Replication health
- FSMO roles
Tools:
dcdiagrepadmin
π 5. GPO Cleanup (Often Forgotten)
Over time, GPOs pile up and conflict.
Look for:
- Unlinked GPOs
- Duplicate policies
- Legacy settings (XP/2003 era)
Tool:
- Group Policy Management Console
ποΈ 6. OU Structure Review
Ask:
- Does the OU design still reflect your organization?
- Are permissions delegated properly?
π Avoid overcomplicated nesting.
π 7. Service Accounts Audit (Critical)
These are dangerous to touch blindly.
- Identify accounts used by apps/services
- Check:
- Password expiration settings
- SPNs
- Hardcoded credentials
π Consider moving toward Managed Service Accounts (gMSA).
π‘οΈ 8. Security Baseline Check
Run a security scan:
- Weak password policies
- Kerberos issues
- Delegation risks
π Tools like PingCastle or Microsoft Defender for Identity help here.
β οΈ 9. Implement a Safe Cleanup Process
Never delete directly.
Best practice:
- Move object β Quarantine OU
- Disable it
- Wait 30β60 days
- Monitor impact
- Then delete
π 10. Put Maintenance in Place (Most Important)
After cleanup, avoid repeating the problem.
- Monthly stale account review
- Automated scripts (PowerShell)
- Joiner/Mover/Leaver process
- Regular AD health checks
π Suggested Starting Point (Simple Plan)
If you want a clean starting sequence:
- Export all users & computers
- Identify inactive >180 days
- Create Quarantine OU
- Move + disable inactive objects
- Wait & monitor
- Then proceed to groups and GPOs