These steps change quite often, fair warning!
Steps below are as of 2021-01-04. Please note this has to be done in Internet Explorer or Edge.
First, set permissions.
- Browse to protection.office.com/homepage , log in as tenant administrator
- Click eDiscovery Manager.
- Open eDiscovery Administrator, and add your current admin user.
It takes one hour (as of Microsoft support 2021-01-04) for the permissions to take effect. Used to be up to 24. Afterwards, perform the export.
- Browse to protection.office.com/homepage , log in as tenant administrator
- In left pane, click Search, then click Content Search
- Click New Search
- At bottom, item Specific locations, click Modify
- At top left, Exchange email, click “Choose users, groups, or teams”
- Click “Choose users, groups, or teams” in the new window
- Enter mailbox email address, wait until the search results come
- Check the mailbox, and click Choose, then Done
- Click Save
- Click Save & run
- Name the query (and PST), click Save. The query will run. Don’t continue until it’s done. It will say “Status: completed” at the lower left.
- Click on the word “More” at the top, just to the left of the word “Sort”.
- Click on “Export results”. Choose options appropriately. Click Export.
- Click on “Exports” above that area, to the right of “Searches”. If the export does not appear, click on Refresh.
- Click on the export item.
- Click on “Download results”. A download applet will start, requiring an export key which can be copied from the browser. Paste it in, choose your download destination, and go! It can take a very long time to start, there is a long preparation phase.
Categories:
Exchange and Exchange Online

The following method is the Microsoft-recommended current one. You may need to use Install-Module instead of Update-Module depending on pre-existing installations et cetera:
Set-ExecutionPolicy RemoteSigned -Force -Scope Process
Update-Module -Name ExchangeOnlineManagement
Update-Module -Name AzureAD
Update-Module -Name MSOnline
Import-Module -Name ExchangeOnlineManagement
Import-Module -Name MSOnline
Import-Module -Name AzureAD
Connect-ExchangeOnline -UserPrincipalName login@domain.com -ShowProgress $true
The following method is the previous, and is the one which works pre-Windows-10 and/or Powershell before 5.1:
$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session -DisableNameChecking
When you’re done, be sure to do the following afterwards, or you may have to wait for automatic session expiration.
Remove-PSSession $Session
Categories:
Exchange and Exchange Online
Office 365
In administrative Powershell:
Install-Module AzureAD
Install-Module MSOnline
Connect-AzureAD
Connect-MsolService
In Active Directory Users and Computers, remove the user object from OU being AD-synched. Then complete an Azure/AD sync cycle. Then:
Restore-MsolUser -UserPrincipalName users_login_probably_email
Set-MsolUser -UserPrincipalName users_login_probably_email -ImmutableId "$null"
Do the last step before the next automatic AD sync!
Categories:
Office 365
Exchange and Exchange Online
A couple of links:
https://itpro-tips.com/2019/this-users-on-premises-mailbox-hasnt-been-migrated-to-exchange-online/
https://answers.microsoft.com/en-us/msoffice/forum/all/this-users-on-premise-mailbox-hasnt-been-migrated/5735f499-7079-42a4-a5e9-8da275404d09
Categories:
Office 365
Exchange and Exchange Online
If you let the eDiscovery Export Tool time out, it will eventually give you a link:
https://docs.microsoft.com/en-us/office365/securitycompliance/increase-download-speeds-when-exporting-ediscovery-results
which has the registry edit below. No explanation is given, but it does say that adjustment of the number (in some direction?) can help.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange\Client\eDiscovery\ExportTool]
"DownloadConcurrency"="2"
Categories:
Office 365
Exchange and Exchange Online
To count the total number of folders in use within a mailbox, first connect Powershell to Exchange Online, then:
$MailboxToCountFoldersWithin = Get-Mailbox username
$MailboxToCountFoldersWithin | Get-MailboxFolderStatistics | Measure-Object | Select-Object -ExpandProperty Count
The total number of folders, will be output as a number.
Categories:
Exchange and Exchange Online
Outlook & Exchange / Exchange Online
This includes Exchange Online, Lync, and others:
https://support.office.com/en-us/article/Office-365-URLs-and-IP-address-ranges-8548a211-3fe7-47cb-abb1-355ea5aa88a2?ui=en-US&rs=en-US&ad=US#BKMK_Portal-identity
This has been updated recently, and many changes have occurred. Ports have been reduced considerably, and many more FQDNs added.
Categories:
Exchange and Exchange Online
Office 365

Some firewalls have FQDN capability (e.g., Watchguards), which makes careful rule creation practical for a behemoth like Microsoft Office 365 and all of its related services. The info below is condensed and sorted from here. I have omitted a very few items (e.g., ports 25, 143, 465, and 993, and *.msn.com), for reasons which I hope are reasonably obvious.
Create one rule with these ports:
80, TCP
443, TCP
587, TCP
3478-81, UDP
5223, TCP
50000-59999, TCP and UDP
to the following list of locations, and it is done.
*.aadrm.com
*.aadrm.com
*.aka.ms
*.apple.com
*.aspnetcdn.com
*.aspnetcdn.com
*.assets-yammer.com
*.azure.com
*.azure.net
*.azureedge.net
*.azurerms.com
*.azurerms.com
*.azurewebsites.net
*.cloudapp.net
*.cloudapp.net
*.cloudappsecurity.com
*.cloudfront.net
*.edgekey.net
*.edgesuite.net
*.getmicrosoftkey.com
*.gfx.ms
*.live.com
*.lync.com
*.microsoft.com
*.microsoftazuread-sso.com
*.microsoftonline.com
*.microsoftonline-p.com
*.microsoftonline-p.com
*.microsoftonline-p.net
*.microsoftonline-p.net
*.microsoftstream.com
*.msappproxy.net
*.msecnd.net
*.msecnd.net
*.msecnd.net
*.msecnd.net
*.msedge.net
*.msft.net
*.msftauth.net
*.msocdn.com
*.mstea.ms
*.o365weve.com
*.office.com
*.office.net
*.office365.com
*.onedrive.com
*.onenote.com
*.onenote.net
*.onestore.ms
*.onmicrosoft.com
*.optimizely.com
*.outlook.com
*.phonefactor.net
*.sfbassets.com
*.sfx.ms
*.sharepoint.com
*.sharepointonline.com
*.skype.com
*.skypeassets.com
*.skypeforbusiness.com
*.sway.com
*.sway-cdn.com
*.sway-extensions.com
*.tenor.com
*.trafficmanager.net
*.trafficmanager.net
*.virtualearth.net
*.visualearth.net
*.visualstudio.com
*.windows.net
*.windowsazure.com
*.windowsazure.com
*.yammer.com
*.yammerusercontent.com
ajax.googleapis.com
ms.tific.com
Categories:
Firewalls
Exchange and Exchange Online
This is is caused by bad permissions in a receive connector. The fix:
- Open ADSIEdit
- Browse to Configuration, Services, Microsoft Exchange, , Administrative Groups, Exchange Administrative Group, Servers, , Protocols, SMTP Receive Connectors
- Open the properties for the receive connector(s) involved in the transmissions you are debugging
- Open the Security Tab. Under “Authenticated Users”, make sure “Accept any Sender” and “Accept Authoritative Domain Sender” are checked.
- Wait five or ten seconds, and try again.
- If still not, or if it works for a little while and then does the error again, you probably have severe issues in your Exchange. For a stopgap, you can set permissions for Everyone, but an Exchange rebuild is probably warranted.
Categories:
Exchange and Exchange Online

From the extraordinary Mike Hunsinger.
The method below has worked perfectly on several servers and has not caused a recovery situation. That said, assure there’s good backups and perform these procedures word-for-word as these Exchange updates have been known to bootloop and bluescreen servers, particularly SBS servers when the original (and these days, ancient) install was not very cleanly done.
The key is to determine the current Exchange SP level, then based on the current version, plan your updates like this: First, install the highest-level rollup for the current SP. Then install the next SP by version. Followed by that SP’s highest-level rollup, then the next SP.
Here’s an example:
Your 2010 Exchange Server is using SP1 RU 3 (Roll-Up3). You intend to upgrade this system to SP3 RU14 (Latest version of Exchange).
Here’s the order in which you should install the updates based on this exchanges current version:
- Update Rollup 8 for Exchange Server 2010 SP1 (Highest version of SP1)
- Exchange Server 2010 SP2
- Update Rollup 8 for Exchange Server 2010 SP2 (Highest version of SP2)
- Exchange Server 2010 SP3
- Update Rollup 14 for Exchange Server 2010 SP3 (Highest version of SP3)
Notes found to be important:
- Assure the server’s OS itself is running the latest service pack for Windows Server.
- Exchange SP’s must be downloaded from the web and installed using an exe. Roll-Ups must only be installed via Windows Update.
- Using this pattern of installs and installing Roll-Ups using only Windows Update, will prevent having to perform the lengthy staging process where the mailbox databases are manually converted between versions using CMD.
- Completely review the prerequisites for each Rollup and SP before installing it. There are corroborative softwares such as .net and sql client or certain hotfixes that may need to be installed prior to a given service pack or roll-up.
- During the Service Pack updates, you will see a long checklist the server is moving down while performing the upgrades. If the server errors on one of the checklist items and asks if you wish to continue or roll-back. ROLL IT BACK. Resolve the issue noted and try the update again. You want all 10 lights green when it hits the bottom of the checklist. Errors here are usually the result of insufficient permissions someplace in the server. The errors are usually easy to trace down online.
- Between every update listed. Launch the ECM. Assure the mailboxes are all listed. Then run the builtin Exchange testing. If Exchange says it’s passed, move onto the next update. If Exchange fails any factors, they must be eliminated before continuing.
- Allow up to 1 hour for the server to reboot following an Exchange SP Upgrade. It’s advisable that ILO be activated prior to installing the upgrades described in this document, so you can keep an eye on the server while it reboots.
- I usually allow 1.5h for each service pack and it’s associated rollup.
- It never goes exactly smoothly, so there’s usually some challenges to overcome during each of the updates.
Categories:
Exchange and Exchange Online