Skip to content

Mailbox Message Report 1.1.1

Choose a tag to compare

@Nico77600 Nico77600 released this 07 Oct 13:57
· 17 commits to main since this release

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 to Graph.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: $filter with receivedDateTime lt or ge alone accepted with $orderby; nextLinks in $top / $skip, $skip honoured; 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.