I was working on a user provisioning script for a customer, and he asked if I could copy all Shared Mailbox permissions of a template user to the new user. (It was something that was quickly forgotten during the user creation process) Sure, because PowerShell 🙂 In this blog post, I will show you how to retrieve Full Access permissions and copy them (Including Send As) to another user.
Microsoft Exchange
Using Get-ManagementRole to get the permissions required for Exchange-specific cmdlets
I ran into an issue where one of my Exchange scripts didn't work, "a parameter could not be found that matches the parameter..." Strange error because the parameter is there... Or is it? In this blog post, I will show you how Get-ManagementRole works in Exchange and how it can help you with issues like this.
Report on SMTP Send/Receive Logs from Exchange using PowerShell
I had to check many log files of an Exchange 2016 server to see which clients or applications were on which Exchange Send Connector and what emails were being received on which Receive Connector. A nice thing to do using PowerShell 🙂 This blog post will show you how to get a simple overview of the logs.
Import Exchange Relay Connector IP-Addresses to IIS SMTP instance
For one of our customers, who's moving away from their On-Premise Exchange 2016 server, I needed to move all the relay connectors (Used by legacy applications, appliances, and hardware) to an IIS SMTP instance. It's pretty straightforward, but... Adding the long list of addresses myself... No 🙂 In this blog post, I will show you how to easily migrate the IP addresses from a Receive Connector into an IIS SMTP instance.
Using Send-MgUserMail as the Send-MailMessage replacement
I used the Send-MailMessage cmdlet a lot in the past for testing Receive Connectors in Exchange or emailing reports in scheduled PowerShell scripts. When you try to use the Send-MailMessage cmdlet, it has been showing you this message for quite a while now: WARNING: The command 'Send-MailMessage' is obsolete. This cmdlet does not guarantee secure connections to SMTP servers. While no immediate replacement is available in PowerShell, we recommend you not use Send-MailMessage. See https://aka.ms/SendMailMessage for more information. In this blog post, I will show you the new way of sending emails using Send-MgUserMail.
Retrieve Email DNS records using PowerShell
I have been doing a lot of Exchange on-prem to Exchange Online migrations over the last few years, and because of that, I use mxtoolbox.com a lot for querying MX, SPF, DMARC, and DKIM records. Wouldn't getting a simple overview of those records in a PowerShell function be convenient? This blog post will show you how 🙂
Copy Exchange Receive Connector Settings using PowerShell
Currently working on rebuilding a failed Exchange 2016 DAG node, installing Exchange, and getting the databases in sync again... And then you remember that the Anonymous Relay settings are something that's configured on each node separately, and it contains a lot of IP addresses 🙁 This blog post shows you how to easily copy an existing Receive Connector to a new Exchange server!
How to create a report on PST files in your environment
Recently I've been working on an Exchange migration from an Exchange 2016 environment to Exchange Online. The company had a lot of PST archives on home directories which we could import as an Online Archive for the users. But there also were a lot of PST files on department File Shares that needed to be inventoried. This blog post describes how to create a report on those files.