Introduction During a migration of Public Folders from Exchange 2010 (Legacy Public Folders) to Exchange 2016 (Modern Public Folders), an situation occurred where the Public Folder migration would not complete properly as the migration batch for PFMailbox1 would fail. The error received was ‘Error Unexpected Mailbox State. This is a very non-descript error with no…
Category: Exchange
Microsoft Exchange Server
Updated Exchange 2019 PowerShell Module Reference Coming Soon!
Learning PowerShell does not have to be difficult and having some reference material on hand can help in the learning process. In that vein I have a series of PowerShell Quick References that are updated probably once a year at this point. In October, I am updating the Quick Reference for Exchange 2019 to cover…
Quick PowerShell #36 – PowerShell Add License / Check Mailbox Creation
Introduction A common task for migrations is to assign licenses to uses so that they can use Microsoft 365 services including Exchange Online. For some migrations, like Lotus Notes to Exchange Online we need to provision a users mailbox so that the third-party tools out there can push mailbox data to the new location. In…
Quick PowerShell #35 – Exchange, .NET version and Windows Server 2022
Introduction While working on a script I use with Exchange, I noticed that I was unable to detect the version of .NET that was installed as 4.8 on a Windows 2022 server. With a quick search of Microsoft’s .NET documentation, I realized that the version of .NET on Windows Server 2022 had a different release…
Exchange 2019 on Windows 2022 Prerequisite Script
For those looking to install Exchange Server 2019 on Windows Server 2022, I’ve updated my prerequisite script to make your life easier. There wasn’t too much to tweak in the script as the installation requirements appear to be about the same between Windows Server 2019 and 2022. Go ahead and download version 1.17 of the…
Quick PowerShell #34
Quick Introduction Continuing with my series of Quick PowerShell article, we will cover a quick PowerShell script that can check to see if a server will respond for TLS1, TLS11 or TLS12 connections. For simplicity, we will use a premade tool that is free for download – TestSSLServer. The scrip queries a list of Exchange…
Quick PowerShell #33
For this article we’ll walk through connecting to a random Exchange server in an environment to run a script. Why would we want to do this? Perhaps a pseudo load balance or just to keep the script from connecting to the same server all the time. So how would we do this? First, we need…
Saturday Short #1
Introduction This is a very quick blog article and I just wanted to point out an interesting change that has come to the installation process for a Cumulative Update for Exchange. Recently I’ve involved myself with a few security updates for clients and are upgrading their Exchange 2016 servers to the latest CU and Security…
Updated PowerShell book for the Exchange Online – OUT TODAY!
Another month, another update. This time it was Exchange Online that got the love of a redo. PowerShell for Exchange Online is the second book I wrote, right after finishing the Exchange 2016 book I did with Dave Stork in 2017 … an idea that was started way back in 2015. Exchange Online was originally…
Exchange Maintenance Scripts #4: Disk Space Monitoring
Introduction In the previous three blog posts (one, two and three) we have scripts that are monitoring for IIS Logs as well as IMAP/POP logs that may be taking up space. We also reviewed how to monitor our Exchange Databases for proper backups which will ensure the logs get properly truncated and keep disk space…