Cannot Delete a Mailbox with Retention Policies Enabled

I ran into a weird issue this week where I was trying to forcibly remove a deleted (inactive) mailbox, and was getting the following error: "The user mailbox couldn't be permanently deleted. The user mailbox has at least one type of hold or hold policy applied to it." The annoying thing about it was that … Continue reading Cannot Delete a Mailbox with Retention Policies Enabled

Force Teams to Sign Out

Token Resistance I ran into an interesting scenario yesterday during a tenant migration where users from tenant A were successfully migrated to Tenant B, but their accounts remained logged into Teams - even changing the user account names to their onmicrosoft.com domain and removing their Teams license wouldn't force them to log out… talk about … Continue reading Force Teams to Sign Out

PowerShell: Manage Privileged Roles (PIM)

Edit: The PIM PowerShell module has been deprecated now, and you need to use the Graph API to elevate PIM roles.  --------------------------------------------------------------------------------------------------------------- I've done some work recently with Azure AD Privileged Identity Management, and I wanted to find a way to streamline the request process for an administrator who needs to run some PowerShell scripts or … Continue reading PowerShell: Manage Privileged Roles (PIM)

PowerShell: Bulk Forwarding Script

Here's another handy script in my migration toolbelt - one of my very frequent tasks during different types of migration projects is to configure forwarding on mailboxes. Often times you might be forwarding in one direction for the duration of the backend migration, and then after cutover, you might need to remove that forwarding and … Continue reading PowerShell: Bulk Forwarding Script

Run Multiple Teams Clients Simultaneously

I am unapologetically a huge fan of Teams. I use it constantly, and have almost completely stopped using Skype for Business for my day to day work - apart from a few outliers, and a few features that haven't quite hit parity between the two… I'm all in! That said, one of my biggest frustrations … Continue reading Run Multiple Teams Clients Simultaneously

Mitigating Azure MFA Outages

With the recent MFA outages (twice in the last two weeks), the question has come up in conversation several times - what do we do when MFA is down, and when our users can't log in? As you might expect, there are several approaches you can take that allow you to maintain the balance between … Continue reading Mitigating Azure MFA Outages

Export Sent Items using eDiscovery

Security & Compliance - eDiscovery for the win I recently ran into a situation where I needed to export all the Sent Items from a number of mailboxes within a very specific date range - we needed to export these items so that they could be ingested into a journaling mailbox later. Since you can't … Continue reading Export Sent Items using eDiscovery

PowerShell: Connect to the Security & Compliance Center

I had to recently do some eDiscovery work in the Security and Compliance Center (I'll post about that next, there was some cool PowerShell in there too 🙂 ), and as I often do, I turn to PowerShell to automate the process - or at least make it easier for me to do more things … Continue reading PowerShell: Connect to the Security & Compliance Center

PowerShell: Reset WAP Configuration

I was working on a project where we were both upgrading ADFS and migrating it from Azure to AWS - it was way more difficult than it should have been, and ADFS sure did not play nicely on AWS. Maybe it's gotten better now, but it was overall quite the headache - the WAP servers … Continue reading PowerShell: Reset WAP Configuration