Files
claudetools/wiki/clients/birth-biologic.md
Mike Swanson 324c3b94a4 feat(birth-biologic): KSTEEN SmartBadge daily watch + remediation scripts
Corrected the 2026-05-28 SmartBadge fix on KSTEENBB2025: the older Datto
Workplace Desktop v8 had been left in place (diverged from the fleet, which
runs Datto Workplace v10.53.4 / Workplace2). Removed v8, installed v10,
aligned the SmartBadge _CC add-in + CLSID to the EVO-X1 reference, and cleared
Kristin's stuck per-user LoadBehavior=2.

- ksteen-smartbadge-verify.ps1: PASS/FAIL verdict vs fleet reference
- ksteen-smartbadge-fix.ps1: machine + per-user remediation
- check-ksteen-smartbadge.sh: daily runner (RMM -> verdict -> #bot-alerts,
  coord message to Mike on drift); driven by a 7-day scheduled task on GURU-5070
- wiki: agents table, dual-Workplace SmartBadge known issue + fleet standard,
  2026-05-28/29 history

Syncro #32339. Coord todo 4a5b09b3 (watch expires 2026-06-05).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 08:40:54 -07:00

10 KiB

type, name, display_name, last_compiled, compiled_by, sources, backlinks
type name display_name last_compiled compiled_by sources backlinks
client birth-biologic BirthBiologic 2026-05-24 DESKTOP-0O8A1RL/claude-main
clients/birth-biologic/session-logs/2026-04-21-session.md
projects/gururmm

BirthBiologic

Profile

  • Company type: Corporate (exact industry not documented — biological/healthcare services implied by name and SharePoint site structure: Donor Services, Quality Department, Birth Biologic Activity Reports)
  • Contract type: [unverified — MSP-managed implied; no explicit contract type documented]
  • Key contacts:
    • Annise — primary client contact for SharePoint migration; no last name or email documented
    • sysadmin@birthbiologic.com — M365 shared admin account; M365 Business Premium license assigned 2026-04-21
  • Billing rate: [unverified]
  • Syncro ticket: #109277420 (Datto Workplace to SharePoint Migration; assigned to Mike Swanson, user_id 1735; contact: Annise; due 2026-04-22)
  • Syncro customer ID: [unverified — not documented in available session logs]

Infrastructure

Servers & Services

Host IP Role OS Notes
BB-SERVER [unverified] On-premise Windows server Windows Server 2016 GuruRMM agent installed 2026-04-21; used as command channel for Datto→SharePoint migration script execution

Email & Identity

  • M365 tenant: birthbiologic.com (tenant ID: [unverified — "not yet looked up" as of 2026-04-21 session])
  • License: M365 Business Premium (SKU cbdc14ab-d96c-4132-b7f4-1f3a3a819bb4) assigned to sysadmin@birthbiologic.com; includes EMS (standalone EMS removed after upgrade)
  • MFA status: [unverified]
  • ACG remediation tool consent status (as of 2026-04-21):
    • Security Investigator: consented
    • Tenant Admin (709e6eed-0711-4875-9c44-2d3518c47063): consented
    • Exchange Operator: NOT consented
    • User Manager: NOT consented
    • Defender Add-on: NOT consented
  • sysadmin SharePoint role: sysadmin@birthbiologic.com confirmed as SharePoint admin (required for SPMT destination access)
  • Note: sysadmin@birthbiologic.com did not have a SharePoint/M365 license prior to 2026-04-21. For SharePoint app-only access, use Tenant Admin app with Sites.ReadWrite.All (no user license required for app-only).

File Storage

  • Pre-migration: Datto Workplace (on-premise network file server, accessed from BB-SERVER)
  • Post-migration target: Microsoft SharePoint (M365)
  • Migration tool: Custom PowerShell script (clients/birth-biologic/scripts/migrate-datto-to-sharepoint.ps1) + SPMT for bulk folders

SharePoint Site Map

Datto Folder SharePoint Site Notes
Admin birthbiologic.sharepoint.com/sites/Admin Migrated via SPMT
Birth Biologic Activity Reports birthbiologic.sharepoint.com/sites/Admin Same site as Admin; SPMT preserves source folder name as subfolder
Donor Services birthbiologic.sharepoint.com/sites/DonorServices Migrated via SPMT
Quality Department birthbiologic.sharepoint.com/sites/QualityDepartment Migrated via SPMT
Supply Management birthbiologic.sharepoint.com/sites/SupplyManagement 160/160 files migrated via custom PS script (2026-04-21)
ITSvcs EXCLUDED ACG-owned folder; not client data

Site IDs are hardcoded in $SITE_MAP hashtable in the migration script.

Network

  • ISP / WAN: [unverified]
  • Firewall: [unverified]
  • VPN: [unverified]

GuruRMM

  • Client name: BirthBiologic
  • Client ID: da526b38-e832-4159-ab13-a3d94e9897a2
  • Site name: Main Office
  • Site code: BRIGHT-PEAK-5980
  • Site ID: 3b20ef97-c764-4ef8-9154-79c3d5b486f8
  • Agent enrollment key: clients/birthbiologic/gururmm-site-main.sops.yaml (vault)
  • Install landing page: https://rmm.azcomputerguru.com/install/BRIGHT-PEAK-5980
  • MSI download: https://rmm.azcomputerguru.com/sites/3b20ef97-c764-4ef8-9154-79c3d5b486f8/installer

Enrolled Agents

Agent Host OS Agent ID Notes
BB-SERVER BB-SERVER Windows Server 2016 6c02baa7-0f1c-4990-b466-c9ab9eaefd3b Installed 2026-04-21; used as command channel throughout Datto→SP migration; runs Datto Workplace Server
KSTEENBB2025 KSTEENBB2025 Windows 11 ee3c6aea-e9cc-4d2f-9e79-a38dd0eb129e Kristin Steen's workstation
EVO-X1 EVO-X1 Windows 11 9595f002-5cfe-4db6-b7aa-1df4a20e9f9b Vicki Fountain's workstation; used as SmartBadge fleet reference
BB-Office2 BB-Office2 Windows 11 48763401-4859-49f9-b64a-7a50d0148b23 Shared/office workstation

Access

  • GuruRMM: Dashboard → BirthBiologic → Main Office
  • M365 admin: sysadmin@birthbiologic.com
  • Vault paths:
    • clients/birthbiologic/gururmm-site-main.sops.yaml — GuruRMM site enrollment key
    • msp-tools/computerguru-tenant-admin.sops.yamlcredentials.credential — Tenant Admin app secret
  • Tenant Admin app: client_id 709e6eed-0711-4875-9c44-2d3518c47063; consent redirect URI must be https://azcomputerguru.com (NOT https://rmm.azcomputerguru.com)
  • Migration script: clients/birth-biologic/scripts/migrate-datto-to-sharepoint.ps1

Patterns & Known Issues

  • Datto Workplace fleet standard = "Datto Workplace" v10.53.4 (installs to C:\Program Files\Datto\Workplace2\). EVO-X1 and BB-Office2 run this version only. Never run the older "Datto Workplace Desktop" v8.50.13 (folder …\Workplace Desktop\) alongside it — having both installed breaks the Excel SmartBadge add-in (see below). Note the confusing naming: despite "Desktop" sounding newer, v8 Desktop is the older product; plain "Datto Workplace" v10 is current.
  • SmartBadge Excel add-in failure from dual Datto Workplace installs: When both Workplace2 (v10) and Workplace Desktop (v8) are present, the _CC COM class {3C639243-95A2-400D-B4B4-4384DA7F61D3} gets a 64-bit InprocServer32 pointing at the wrong DLL (or only a 32-bit WOW64 entry), so 64-bit Excel can't load the shim and silently drops the SmartBadge ribbon tab. Excel then auto-disables the add-in (per-user LoadBehavior=2). Fix = align to fleet: remove Workplace Desktop v8 (Revo for a full leftover sweep), install Workplace v10.53.4, ensure only the _CC add-in (HKLM+WOW64, LoadBehavior=3) with the _CC CLSID → …\Workplace2\SmartBadge\DattoSmartBadgeShim_x64/x86.dll, and reset the user's LoadBehavior to 3 + clear Excel Resiliency. Reference machine: EVO-X1. Scripts: .claude/scripts/ksteen-smartbadge-verify.ps1, .claude/scripts/ksteen-smartbadge-fix.ps1.
  • Windows Server 2016 TLS: BB-SERVER defaults to TLS 1.0. PowerShell scripts must include [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 at the top or Graph API calls will fail.
  • GuruRMM command timeout on long-running processes: The RMM command channel times out on operations running longer than ~300 seconds. An 8 MB PDF upload at ~77 KB/s exceeded this limit during the migration. Workaround: base64-encode file on server, capture stdout, decode and upload locally.
  • SharePoint 409 Conflict on retry: If a chunked upload session is interrupted, a partial item remains in SharePoint. Subsequent upload sessions against the same path return 409 Conflict. Fix: DELETE the item before creating a new upload session.
  • SPMT requires sysadmin to be SharePoint admin: SPMT destination access requires the running account to have SharePoint admin rights. Confirm before scheduling future SPMT runs.
  • Syncro comment rendering: Use <br> for line breaks in Syncro comments. <ul>/<li> collapses into a single line in the Syncro renderer.
  • Syncro duplicate comments on #109277420: Two duplicate comments were noted in the session log. GUI deletion only (no API delete for comments). Verify status next time in ticket view.
  • ITSvcs folder exclusion: The ITSvcs folder on the Datto share is ACG-owned, not client data. Always exclude from any migration or client-facing file audit.
  • GuruRMM command body requirements: command_type field is required (use "powershell" for PS scripts). Missing field returns 422. JWT must include sub, role, orgs, exp, iat claims — any missing claim returns 401.
  • PS5.1 quirks on BB-SERVER: No Unicode box-drawing characters (parse error in PS5.1); no @{} + @{} hashtable merge (use foreach loop); use ${encodedPath} not $encodedPath: in URL strings (colon interpreted as drive reference).

Active Work

  • Datto → SharePoint migration: Supply Management folder complete (160/160 files). SPMT launched for Admin, Birth Biologic Activity Reports, Donor Services, Quality Department as of end of 2026-04-21 session (20% on Donor Services at session end). [WARNING] Migration completion unconfirmed — no follow-up session log found. Outstanding tasks from session log:
    • Verify SPMT migration complete for all 4 folders
    • Verify file counts in each SharePoint site match Datto source
    • Notify Annise to test access
    • Schedule delta sync (-DeltaOnly flag) after client confirms
    • Delete two duplicate Syncro comments on #109277420 (GUI only)
    • Verify ITSvcs state file on BB-SERVER is not causing issues

History Highlights

Date Event
2026-05-29 Mike: Corrected the SmartBadge fix — Kristin's machine had been left on the older Workplace Desktop v8 (diverged from fleet). Revo-removed v8, installed Workplace v10.53.4 (Workplace2), aligned SmartBadge _CC add-in/CLSID to EVO-X1, cleared her stuck per-user LoadBehavior=2. Verified working. Public tech notes + 1hr warranty on Syncro #32339. Stood up a 7-day daily verification (scheduled task on GURU-5070 + coord todo 4a5b09b3, expires 2026-06-05).
2026-05-28 Mike: Initial Kristin Steen SmartBadge remediation (Syncro #32339) — diagnosed dual Workplace2/Workplace Desktop install; uninstalled the wrong one (Workplace2 v10), leaving v8 Desktop (corrected 2026-05-29).
2026-04-21 Mike: New client onboarded to GuruRMM (client + site created, vault entry saved). Tenant Admin app consented. sysadmin@birthbiologic.com assigned M365 Business Premium. GuruRMM agent installed on BB-SERVER. Custom Datto→SharePoint migration script built. Supply Management (160 files) migrated via script. SPMT launched for 4 remaining folders. Syncro ticket #109277420 opened.