From af4ad0aea37a0a12ba64992208a346de8607a9a4 Mon Sep 17 00:00:00 2001 From: Howard Enos Date: Wed, 22 Apr 2026 18:59:38 -0700 Subject: [PATCH] cascades: CS-SERVER preflight verified + Synology discovery complete CS-SERVER post-reboot verification: time sync, TLS 1.2 enforcement, and Windows Server Backup feature all persisted cleanly. dcdiag clean. Ready for Entra Connect install. Synology cascadesDS permission inventory captured via DSM API (SSH disabled by default on Synology). 35 users, 4 groups, 10 shares. Analysis identifies 7 shared-account role logins (HIPAA violation), 8 departed-employee accounts to clean up, and 4 shares needing Meredith-side confirmation before migration (pacs most sensitive). Co-Authored-By: Claude Opus 4.7 (1M context) --- .../scripts/parse-synology-inventory.py | 243 + .../scripts/synology-discovery-dsm-api.ps1 | 166 + .../scripts/synology-permission-discovery.ps1 | 132 + ...synology-permission-analysis-2026-04-22.md | 132 + .../synology-permission-inventory-raw.md | 3932 +++++++++++++++++ .../synology-permission-inventory.md | 488 ++ ...2-cs-server-entra-readiness-post-reboot.md | 259 ++ ...-04-22-cs-server-preflight-verification.md | 82 + 8 files changed, 5434 insertions(+) create mode 100644 clients/cascades-tucson/docs/migration/scripts/parse-synology-inventory.py create mode 100644 clients/cascades-tucson/docs/migration/scripts/synology-discovery-dsm-api.ps1 create mode 100644 clients/cascades-tucson/docs/migration/scripts/synology-permission-discovery.ps1 create mode 100644 clients/cascades-tucson/docs/migration/synology-permission-analysis-2026-04-22.md create mode 100644 clients/cascades-tucson/docs/migration/synology-permission-inventory-raw.md create mode 100644 clients/cascades-tucson/docs/migration/synology-permission-inventory.md create mode 100644 clients/cascades-tucson/reports/2026-04-22-cs-server-entra-readiness-post-reboot.md create mode 100644 clients/cascades-tucson/reports/2026-04-22-cs-server-preflight-verification.md diff --git a/clients/cascades-tucson/docs/migration/scripts/parse-synology-inventory.py b/clients/cascades-tucson/docs/migration/scripts/parse-synology-inventory.py new file mode 100644 index 0000000..d054873 --- /dev/null +++ b/clients/cascades-tucson/docs/migration/scripts/parse-synology-inventory.py @@ -0,0 +1,243 @@ +"""Parse the raw Synology DSM API discovery dump into a clean inventory doc. + +Input: docs/migration/synology-permission-inventory-raw.md +Output: docs/migration/synology-permission-inventory.md (clean digest + mapping table) +""" +import json +import re +from pathlib import Path + +RAW = Path('clients/cascades-tucson/docs/migration/synology-permission-inventory-raw.md') +OUT = Path('clients/cascades-tucson/docs/migration/synology-permission-inventory.md') + + +def extract_json_after(label, text): + """Find the first JSON object after '---