Undocumented Features
Backup and Restore Office 365 Groups
While working with a partner this weekend on a tenant to tenant migration, we had the need to...
Author: Aaron Guilmette Date: 10/22/2017
Update to Wipe Exchange Online Mailbox script
Earlier today, I was asked to make an update to my script to wipe Exchange Online mailboxes to...
Author: Aaron Guilmette Date: 10/19/2017
Recovering from Crypto- or Ransomware attacks with the OneDrive for Business Admin Tool
Recently, I had a requirement come up to enable the bulk restore of content from a OneDrive for...
Author: Aaron Guilmette Date: 10/16/2017
Update to Advanced AAD Connect Permissions tool
Since it's initial creation, I've made a few updates to the Advanced AAD Connect permissions tool....
Author: Aaron Guilmette Date: 10/11/2017
Office 365 Secure Score Script
In light of the discovery that a recent comprise involved administrator credentials that were not...
Author: Aaron Guilmette Date: 10/02/2017
Use AAD Connect to disable accounts with expired on-premises passwords
This week, I received an email from a colleague asking if there was a way to work around the default...
Author: Aaron Guilmette Date: 09/15/2017
OneDrive for Business Admin Tool
Update: I've also added some new features, detailed in...
Author: Aaron Guilmette Date: 08/25/2017
Manage Office 365 Distribution Groups via Excel spreadsheet or CSV
A consultant friend of mine posed an interesting question to me this week--one of his customers...
Author: Aaron Guilmette Date: 07/13/2017
Office 365 Administration Inside Out
I meant to post this earlier, but I wanted to let everyone know that I've had the great honor of...
Author: Aaron Guilmette Date: 06/09/2017
Update to the Office 365 Proxy PAC tool
The people have spoken. I've updated the tool with a couple of features: Include the Skype for...
Author: Aaron Guilmette Date: 06/07/2017
BitTitan MigrationWiz Resource Migrations Revisited
A while ago, I wrote about a script that I had built for creating BitTitan MigrationWiz connectors...
Author: Aaron Guilmette Date: 06/05/2017
Managing Content Searches in the Security & Compliance Center
Recently, a customer asked for clarification on the difference between Content Search (Security...
Author: Aaron Guilmette Date: 06/02/2017
WannaCry/WannaCrypt and other Ransomware
This past week has seen the widespread growth of the WannaCry ransomware attack, which was based on...
Author: Aaron Guilmette Date: 05/23/2017
Copy Get-History to Clipboard
I've been working on a little project, and the need to retrieve the last n number of commands I've...
Author: Aaron Guilmette Date: 05/15/2017
AADConnect Undocumented Filters
From time to time, you may find that you need to selectively filter out users going to Office 365....
Author: Aaron Guilmette Date: 05/09/2017
Disable Office 365 Groups Creation: Redux
Update: I posted roll-back steps at the bottom of the article. Several months ago, I wrote a blog on...
Author: Aaron Guilmette Date: 04/29/2017
AAD Connect Error CD-8235 Exporting to AD Connector
This afternoon, I ran into a customer with a very interesting configuration--a 300-user department...
Author: Aaron Guilmette Date: 04/04/2017
Testing AD FS for Office 365 without Directory Synchronization
Let's say you're in one of the following scenarios: You need to set up AD FS for a shared hosting...
Author: Aaron Guilmette Date: 02/22/2017
Troubleshooting Mailbox Migration Error "You can't use the domain because it's not an accepted domain for your organization."
While migrating users via MRS between organizations (especially to Exchange Online), a pretty common...
Author: Aaron Guilmette Date: 02/15/2017
Removing Proxy Addresses from Exchange Recipients
I saw a request come through the other day for a method to remove unwanted proxy addresses for...
Author: Aaron Guilmette Date: 02/10/2017
PingProvisioningServiceEndPoint error when configuring AAD Connect
This afternoon, while configuring AAD Connect for a customer, I ran into a new error when I clicked...
Author: Aaron Guilmette Date: 02/08/2017
Migrating EOP Settings Between Tenants
I find myself currently writing tools to both support my and other organization projects, as well as...
Author: Aaron Guilmette Date: 01/23/2017
Export and Import Calendar Processing Information
During my current project, it became necessary to capture additional calendar processing parameters...
Author: Aaron Guilmette Date: 01/19/2017
Checking for an elevated PowerShell prompt
I just built a tool for a team of consultants to use, and some of the commands require elevation....
Author: Aaron Guilmette Date: 11/28/2016
Mailbox Delivery Settings
From time to time, I run into environments where things are configured in "non-standard" ways....
Author: Aaron Guilmette Date: 10/29/2016
Synchronizing objects between tenants
A few months ago, I developed a script/tool to use for a rather large customer divesting from an...
Author: Aaron Guilmette Date: 10/19/2016
PowerShell Random Password Generator
On a project earlier this year, I had to create random passwords for user accounts as part of a...
Author: Aaron Guilmette Date: 09/20/2016
Create a Transport Rule to Reject a Message When Both Domain Conditions Are Met
Today, I saw a question come up as to how to block a message when it's sent to two different classes...
Author: Aaron Guilmette Date: 09/20/2016
Bulk Adding Calendars to a Google Account for Migration
In my last Google migration post, I talked about creating a MigrationWiz project with the correct...
Author: Aaron Guilmette Date: 09/19/2016
Using MigrationWiz for Google Resources, Bulk Edition
Update The script for this post has been updated with new parameters and requires a new version of...
Author: Aaron Guilmette Date: 09/15/2016
ActiveSync Device and User Report for Office 365 D, MT, and Exchange 2010+
Today, I had a customer ask me for an ActiveSync device report. Normally, this is a somewhat simple...
Author: Aaron Guilmette Date: 09/08/2016
Using a ScriptBlock to pass a variable into another variable
So, during the course of my current project, I've been able to re-use a lot of scripts that I've...
Author: Aaron Guilmette Date: 09/08/2016
Fix those IMCEAEX NDRs
I had a customer migrate some mailboxes a few weeks ago, and they're now just getting some NDRs....
Author: Aaron Guilmette Date: 08/29/2016
Updates to Office 365 Proxy PAC Generator
I wrote the original Proxy PAC tool for a customer almost a year ago, and since have added a lot of...
Author: Aaron Guilmette Date: 08/18/2016
Use AADConnect to add a Proxy Address
- UPDATE* After doing this originally, I decided to take a different route and write it back to the...
Author: Aaron Guilmette Date: 08/10/2016
Quick and Dirty Array Subtraction - Otherwise known as "Just say NO to VLOOKUP"
Today, I had to subtract one list of users from another list of users. Some Excel wizards can do...
Author: Aaron Guilmette Date: 08/04/2016
Disable Office 365 Groups Creation
Update: There are new cmdlets available for this task. This blog is for historical reference only....
Author: Aaron Guilmette Date: 08/02/2016
Testing for bad SMTP Addresses
While working on my latest project, I encountered a significant number of objects with malformed...
Author: Aaron Guilmette Date: 07/22/2016
Use AADConnect to Populate Office 365 Usage Location
So, a million years and tens of thousands of lines of code ago, I wrote a script for a customer to...
Author: Aaron Guilmette Date: 07/22/2016
Create an Opt-Out Tool for Exchange Online
Earlier this week, a question popped up on a distribution list for managing an opt-out process with...
Author: Aaron Guilmette Date: 07/18/2016
How to Merge Duplicate Mail-Enabled User and Contact Objects
One of the first steps in preparing for an Office 365 migration is running a tool we provide called...
Author: Aaron Guilmette Date: 07/08/2016
Updating Remote Recipient Types on-Premises
During migrations from third-party platforms like Gmail or various POP3 providers or from hosted...
Author: Aaron Guilmette Date: 07/07/2016
Backup and Restore Distribution Groups from Exchange or Exchange Online
I've been involved in a lot of Exchange migrations over the years, to and from all sorts of...
Author: Aaron Guilmette Date: 06/27/2016
Remove an unwanted ProxyAddress pattern from users via AADConnect
I had an interesting request from a customer the other day where they were synchronizing Active...
Author: Aaron Guilmette Date: 06/21/2016
Office 365 License Assignment
There is perpetually a lot of angst around licensing users for Office 365 workloads. Most of my...
Author: Aaron Guilmette Date: 06/21/2016
Remove a user's oldest ActiveSync device
A few weeks ago, I saw something come up for a peer that needed a way to manage the maximum number...
Author: Aaron Guilmette Date: 06/20/2016