Repository navigation
Large folders read 4 requests at a time to the end, a progress bar that shows the messages read, and the read state in the HTML report. Read only.
Faster on large folders
- Slices of the same number of messages: a folder of more than
Graph.SplitFolderItemsmessages (now 2,000, 5,000 before) is cut at the dates of the messages at 1/n, 2/n... of the folder ($top=1&$count=true, then$top=1&$skip=k·N/n), 16 slices at most. Version 2.0 cut the period in equal parts: a room's Deleted Items had 39,372 of its 39,419 messages in 3 days of 6 months, so one slice held almost all of them and was read one page after the other. - Slices cut again while read: when a mailbox has free request slots (Exchange Online answers 4 at a time per mailbox), the list with the longest period left is cut in two (the list in course stops at the cut, a new slice reads the older half). Every message is read once, newest first.
| Lab: Deleted Items of a room, 6 months, with the recipients | 2.0.0 | 2.1.0 |
|---|---|---|
| Duration | 14 min 06 s | 3 min 08 s |
| Messages a second | 47 | 214 |
| Requests at a time | 1 at the end | 3.9 on average (Exchange allows 4 per mailbox) |
Progress and speed
- Progress bar: the share of the messages read, folder by folder (the number of messages of the filter of each list,
$counton its first page), with the messages a second and the time left. Version 2.0 counted the empty slices of a folder as read: the bar stayed at 100 %. - Speed in the log: the time of a page (average, longest), the requests in flight on average, the messages a second of the run and of each mailbox, the 5 slowest folders. New column Seconds in
Folders.csv, Read in in the Folders tab of the HTML report.
HTML report
- A Read column in the table of the messages (No in colour; the subject of an unread message in bold, as in Outlook) and a Read filter (all, read, unread), with the others.
Validated
- 38 Pester tests (cuts at k·N/n, a folder whose messages came in a few days, a slice cut again while read, the progress, the read state).
- Lab tenant: Exchange Online
$count(0.4 s) and$skipup to 30,000 (4 s at most) measured; the folder above read in 3 min 08 s, 39,414 messages, each once, newest first, with their recipients; the progress of a real run (2 %, 8 %, 27 %, 42 %... 100 %).
Upgrade
Take the configuration file of the package (Graph.SplitFolderItems = 2000). An older configuration file works, with its value.
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.