Skip to content

Microsoft 365

Various management notes, mostly for myself

Exchange Online

Initiate pwsh connection

Import-Module ExchangeOnlineManagement
Connect-ExchangeOnline -UserPrincipalName admin@company.tld

Storage

Exchange Online Mailbox Storage Limits

Check usage per mailbox
Get-EXOMailbox -ResultSize Unlimited | Get-EXOMailboxStatistics | Select-Object DisplayName, TotalItemSize | Sort-Object TotalItemSize -Descending

Online Archives:

Get-EXOMailbox -ResultSize Unlimited -Archive | ForEach-Object { Get-EXOMailboxStatistics -Identity $_.Identity -Archive -ErrorAction SilentlyContinue } | Select-Object DisplayName, TotalItemSize, ArchiveQuota | Sort-Object TotalItemSize -Descending

Auto-Expanding Archiving

Automatically expands the archive up to 1.5TB, increasing in 10GB intervals.

Enable-Mailbox user@company.tld -AutoExpandingArchive
Get-Mailbox user@company.tld | FL AutoExpandingArchiveEnabled
Also possible to configure for the entire organization.

Limit room bookings

Limit rooms to only select users:

Set-CalendarProcessing -Identity "Meeting Room 123" -AutomateProcessing AutoAccept -BookInPolicy "[email protected]","[email protected]","[email protected]" -AllBookInPolicy $false

Allow everyone again:

Set-CalendarProcessing -Identity "Meeting Room 123" -AllBookInPolicy $true

Check which rooms can be booked by everyone (AllBookInPolicy):

Get-Mailbox -RecipientTypeDetails RoomMailbox | Get-CalendarProcessing | Select-Object Identity, AutomateProcessing, AllBookInPolicy, AllRequestInPolicy | Format-Table -AutoSize