--- type: client name: birth-biologic display_name: BirthBiologic last_compiled: 2026-05-24 compiled_by: DESKTOP-0O8A1RL/claude-main sources: - clients/birth-biologic/session-logs/2026-04-21-session.md backlinks: - 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 | [unverified — not captured in session log] | Installed 2026-04-21; used as command channel throughout Datto→SP migration | ## 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.yaml` → `credentials.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 - **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 `
` for line breaks in Syncro comments. `