Exchange
Discovers Exchange Online mailboxes, plans, and usage statistics.
What it does
Uses Microsoft Graph to enumerate mailbox-capable users in the tenant. Outputs ExchangeMailboxes.csv with migration-useful columns: stable ids (ObjectId/Id), names (DisplayName/UPN/Mail), relationships (ManagerId), proxy addresses, license/plan signals, timestamps. Root cause fix (prove 20260716-100352): local Get-GraphPage only inspected PSObject property names and returned @() for Graph SDK 2.x Hashtable responses (Keys/Values, not NoteProperty 'value') — silent empty SUCCESS with no CSV. Now uses DiscoveryBase Invoke-GraphAPIWithPaging.
How the app exposes it
The module runs through the ACQI discovery orchestrator and writes its rows into a dedicated results view. From there, conflicts, dependencies, and readiness scores feed the deal-wide consolidation layer.
/discovered/exchange Outputs
Each module emits a normalised CSV keyed by entity ID with readiness and risk scores, evidence-source counts, and last-seen timestamps. The exact column set varies by module — the app's results view shows the live schema.