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.
This includes Exchange Online, Lync, and others:
This has been updated recently, and many changes have occurred. Ports have been reduced considerably, and many more FQDNs added.
The following method is appearing to work always, at least it has not yet failed in many attempts on many platforms:
$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.
There is a newer method, below, which recently we have sometimes seen fail. Visually it appears to use newer APIs. Requires Powershell 5.1:
Set-ExecutionPolicy RemoteSigned -Force
Install-Module -Name AzureAD
If you let the eDiscovery Export Tool time out, it will eventually give you a link:
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
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:
50000-59999, TCP and UDP
to the following list of locations, and it is done.
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.
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.
Archiving and retention deletions, are only executed once every seven days in Exchange Online, unless a manual execute is performed. This is done thusly:
- Connect Windows PowerShell to the Office 365 account.
Start-ManagedFolderAssistant -Identity username
where username is appropriate for the mailbox in study.
From the profound Mike Crayton. We do this:
- Create an admin role group named “Manage Distribution Groups”, with the admin role of “Distribution Groups”, setting as members the user(s) to be given this ability
- Give them this URL for getting to the management console: