I regularly check SPF records for syntax and entries during Exchange migrations or when troubleshooting mail flow. The SpfAnalyzer module from Jiri Formacek can help with that. In this blog post, I will show you how it works.
Category: Microsoft Exchange
Add, remove, or replace values using PowerShell
I had another encounter this week where a customer wanted to remove the value from something in Exchange. Setting the value to $null didn't work, and I showed him how to remove it another way. This blog post will show a few ways to add, remove, or replace a value using Active Directory and Exchange Online as examples.
Copying Exchange Full Access and Send As permissions to other users
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.
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 have often used the Send-MailMessage cmdlet to test Receive Connectors in Exchange or email 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-premises-to-Exchange Online migrations over the last few years, and because of that, I use mxtoolbox.com frequently to query MX, SPF, DMARC, and DKIM records. Wouldn't it be convenient to get a simple overview of those records in a PowerShell function? 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.