# G1 AD Hygiene - Post-Execute Idempotency Verification **Command ID:** 2bd999a0-b9a1-4599-a44b-d90f32a332ad **Exit:** 0 **Completed:** 2026-04-23T03:33:28.670135Z ## STDOUT ``` G1 AD Hygiene - 2026-04-22 20:33:27 -07:00 Host: CS-SERVER Mode: DRY-RUN (no changes) Backup dir: D:\Backups\g1-hygiene-2026-04-22-203327 ============================================================================ == 0. Pre-state backup (always runs) ============================================================================ [OK] Exported users-pre.csv [OK] Exported groups-pre.csv [OK] Exported ous-pre.csv [OK] Pre-state saved at D:\Backups\g1-hygiene-2026-04-22-203327 Rollback commands (if needed after execute): - proxyAddresses: Set-ADUser from users-pre.csv column ProxyAddresses - OU moves: Move-ADObject back to old DistinguishedName - Groups created today: Remove-ADGroup (safe since memberless) ============================================================================ == 1. OU=Excluded-From-Sync + move 4 role accounts ============================================================================ [SKIP] OU=Excluded-From-Sync already exists [SKIP] Culinary already in Excluded-From-Sync [SKIP] Receptionist already in Excluded-From-Sync [SKIP] saleshare already in Excluded-From-Sync [SKIP] directoryshare already in Excluded-From-Sync ============================================================================ == 2. Populate proxyAddresses (34 users - live data from M365 Graph 2026-04-22) ============================================================================ [SKIP] Allison.Reibschied proxyAddresses already current [SKIP] Alyssa.Brooks proxyAddresses already current [SKIP] Ashley.Jensen proxyAddresses already current [SKIP] britney.thompson proxyAddresses already current [SKIP] Cathy.Kingston proxyAddresses already current [SKIP] Christina.DuPras proxyAddresses already current [SKIP] Christine.Nyanzunda proxyAddresses already current [SKIP] Christopher.Holick proxyAddresses already current [SKIP] Crystal.Rodriguez proxyAddresses already current [SKIP] howard proxyAddresses already current [SKIP] JD.Martin proxyAddresses already current [SKIP] John.Trozzi proxyAddresses already current [SKIP] Julian.Crim proxyAddresses already current [SKIP] karen.rossini proxyAddresses already current [SKIP] Kyla.QuickTiffany proxyAddresses already current [SKIP] lauren.hasselman proxyAddresses already current [SKIP] Lois.Lane proxyAddresses already current [SKIP] Lupe.Sanchez proxyAddresses already current [SKIP] Matt.Brooks proxyAddresses already current [SKIP] Megan.Hiatt proxyAddresses already current [SKIP] Meredith.Kuhn proxyAddresses already current [SKIP] Michelle.Shestko proxyAddresses already current [SKIP] Ramon.Castaneda proxyAddresses already current [SKIP] Ray.Rai proxyAddresses already current [SKIP] Richard.Adams proxyAddresses already current [SKIP] Sebastian.Leon proxyAddresses already current [SKIP] Sharon.Edwards proxyAddresses already current [SKIP] Shelby.Trozzi proxyAddresses already current [SKIP] Sheldon.Gardfrey proxyAddresses already current [SKIP] Shontiel.Nunn proxyAddresses already current [SKIP] Susan.Hicks proxyAddresses already current [SKIP] sysadmin proxyAddresses already current [SKIP] Tamra.Matthews proxyAddresses already current [SKIP] Veronica.Feller proxyAddresses already current ============================================================================ == 3. Create 16 SG-* security groups (CA / file-share / break-glass) ============================================================================ [SKIP] SG-External-Signin-Allowed already exists [SKIP] SG-Caregivers already exists [SKIP] SG-FrontDesk already exists [SKIP] SG-CourtesyPatrol already exists [SKIP] SG-Drivers already exists [SKIP] SG-Management-RW already exists [SKIP] SG-Sales-RW already exists [SKIP] SG-Culinary-RW already exists [SKIP] SG-IT-RW already exists [SKIP] SG-Receptionist-RW already exists [SKIP] SG-Directory-RW already exists [SKIP] SG-Server-RW already exists [SKIP] SG-Chat-RW already exists [SKIP] SG-Office-PHI-External already exists [SKIP] SG-Office-PHI-Internal already exists [SKIP] SG-CA-BreakGlass already exists ============================================================================ == 4. DisplayName cosmetic fixes (3 users) ============================================================================ [SKIP] Crystal.Rodriguez DisplayName already 'Crystal Rodriguez' [SKIP] howard DisplayName already 'Howard Dax' [SKIP] Cathy.Kingston DisplayName already 'Cathy Kingston' ============================================================================ == 5. Summary ============================================================================ Mode: DRY-RUN (no changes) Created: 0 Moved: 0 Updated: 0 Skipped: 0 Errors: 0 Backup dir: D:\Backups\g1-hygiene-2026-04-22-203327 DRY-RUN complete. To execute: 1. Review the [WOULD] lines above 2. Re-run this script with $doExecute = $true 3. Compare post-state vs pre-state CSVs in the backup dir Completed at 2026-04-22 20:33:28 -07:00 ```