Repository navigation
Mailbox Message Report 1.1.1
A fix for pages cut short by Exchange Online. Read only. No change of configuration or report format.
Fixed
- A page cut short no longer stops the run. Exchange Online sometimes answers a page of messages with a status 200 and a JSON that ends early (seen on a tenant on a slice of a large folder:
Exception calling "AddPage"... Expected depth to be zero at the end of the JSON payload; 1.0.0 and 1.1.0 stopped without a report). The page is now asked again once; then with half as many messages, down to one (the next pages grow back toGraph.PageSize); then that one message without its sender and recipients; at last it is left out and the list goes on. - Each step is logged (Graph answered a page cut short). A message left out, or read without sender and recipients, is counted in the Detail of its folder (Folders tab) and the run finishes with warnings (exit code 2).
- A list of folders cut short is asked again (
Graph.MaxRetries), never kept incomplete.
Improved
- Large folders: the newest slice has no end and the oldest no start (but those of the period asked), so a message newer or older than the two dates read first is read as well.
- HTML report: a notice when the browser cannot run its script (scripts turned off, Internet Explorer mode, a preview) instead of an empty page.
- The log of a search from the window gives the recipients asked, the formats and the layout of the report.
Validated
- 35 Pester tests on a simulated Exchange Online tenant, with pages cut short: a message Exchange cannot return (with or without its recipients), pages too large, a page and a list of folders cut once.
- Lab tenant:
$filterwithreceivedDateTime ltorgealone accepted with$orderby; nextLinks in$top/$skip,$skiphonoured; a folder of 39,419 meeting messages read in 8 slices, 39,434 messages each once.
Workaround with 1.0.0 / 1.1.0: untick Recipients (-SkipRecipients) or set Graph.PageSize = 100.
Unblock the files after downloading: Get-ChildItem "C:\Chemin\Du\Dossier" -Recurse -File -Force | Unblock-File.
Guides: docs\MailboxMessageReport-UserGuide.html and docs\MailboxMessageReport-Guide.html in the zip.