How to send a custom email to a group of recipients using PowerShell and Office 365

I was recently working with a client who needed to send out an email from Office 365 that was built from various fields in a CSV file to recipients also held in the CSV. A good example would be a class list where you have the students’ details, along with their course name and grade … More How to send a custom email to a group of recipients using PowerShell and Office 365

Quick Script: How to identify domains used that aren’t accepted domains in Office 365

This post follows on from my earlier post with a script to remove Domains from Exchange On-Premises. If you haven’t read that yet, you can find it here. After realising that I had users in my Exchange environment that were using domains that were not added as accepted domains in Office 365, I worked out … More Quick Script: How to identify domains used that aren’t accepted domains in Office 365

New Script – LicenseAndHold.ps1 – License/Delicense users in batches and place on hold

My new script has been added to the Technet Gallery for use in migration scenarios moving to Exchange Online where you want to create mailboxes for batches of users, place the new mailboxes on hold immediately, and then remove the mailboxes all in batches. I have a lot of projects coming up where I need … More New Script – LicenseAndHold.ps1 – License/Delicense users in batches and place on hold

Script to update users’ UPN to their email address

When using AAD Connect with Office 365 the general accepted best practice is to use a publicly routable UserPrincipalName attribute in your on-premises Active Directory rather than using AlternateLoginID. I run across the this at lots of customers and have written a script that can be used at any customer to reset UPNs for all … More Script to update users’ UPN to their email address