Improving your Microsoft Graph PowerShell Scripts with the Graph Developer Proxy

Why should a tenant admin care about the Microsoft Graph Developer Proxy? Many Tenant Admins are becoming more familiar with the Graph API and seeing the benefits of using it to manage Microsoft 365 tenants. Some of the concepts you need to understand to use the Graph API can seem a bit more “developer” than …

Continue reading Improving your Microsoft Graph PowerShell Scripts with the Graph Developer Proxy

Graph API / PowerShell Script to Remove OneDrive Share Permissions

In a recent migration project, due to legacy permissions in the source environment, I had a requirement to clear permissions for a specific user from other users OneDrive files and folders. As with a lot of the scripting I do for Office 365, the Graph API was the perfect tool for the job. I built …

Continue reading Graph API / PowerShell Script to Remove OneDrive Share Permissions

Using Azure KeyVault to Secure Graph API Automation Scripts

I previously published a post on how we can use Certificates to securely connect to the Microsoft Graph API. This is a great way to secure automation with Graph. Taking this idea and going a step further, by using Azure KeyVault to store our certificate, it can be used with Azure Functions or Azure Automation …

Continue reading Using Azure KeyVault to Secure Graph API Automation Scripts

Dealing with Teams Guest Users During Tenant to Tenant Migrations

During Microsoft 365 tenant to tenant migrations, the question of Guest Accounts often comes up. How they are dealt with is critical as they are not internal users who can rely on our helpdesk for support. Because of this, a lot of organizations will choose to ignore Guest accounts and inform end users to re-invite …

Continue reading Dealing with Teams Guest Users During Tenant to Tenant Migrations

Migrate Microsoft Team and Private Channel Members with Graph API and PowerShell

As Microsoft Teams grows into one of the most successful tools in the Microsoft 365 suite, more organizations are seeing Teams as business critical. Entire processes are built around Teams and it has become more important to be able to manage Teams at scale. Generally when managing Teams membership, we can use the Exchange Online …

Continue reading Migrate Microsoft Team and Private Channel Members with Graph API and PowerShell

Removing Duplicate Contacts from Exchange Online Mailboxes with Graph API

I've recently completed a tenant to tenant consolidation and usually at the tail end of these types of projects, I end up with a library of scripts for different postfixes or modifications that I use to patch up things after migration. I've decided that rather than store them locally where they tend to get lost …

Continue reading Removing Duplicate Contacts from Exchange Online Mailboxes with Graph API

Search and Delete and Emails from Exchange Online with Graph API and PowerShell

As Exchange Online admins, there are various reasons we may want to remove a mail from one of our users mailboxes. We may want to remove a specific Phishing mail, or a sensitive mail that was sent to the wrong person. To do this, we can create a new content search and delete the results, …

Continue reading Search and Delete and Emails from Exchange Online with Graph API and PowerShell

7 Tips for Working with the Graph API in PowerShell

The Graph API is an amazingly powerful tool for both developers and admins to achieve some really cool things in Microsoft 365. There are multiple ways to leverage it using multiple languages but for somebody coming from an infrastructure background, that wants to manage, report or automate tasks in Microsoft 365, PowerShell makes the most …

Continue reading 7 Tips for Working with the Graph API in PowerShell

Script to Quickly Document your Conditional Access Policies

Conditional Access Policies are often critical to an organizations security configuration for Microsoft 365 and any other integrated apps that leverage Azure AD. I've been using this script for a while to document and 'snapshot' Conditional Access Policies in customer environments and thought I would share via GitHub. The script will gather each existing Conditional …

Continue reading Script to Quickly Document your Conditional Access Policies

Export Microsoft Planner Instances and Details Using Graph API and PowerShell

I recently had a requirement to include Planner instances in a tenant to tenant migration I was carrying out. The options for Planner migration are few and far between and the tooling we had in place was only scoped to migrate data. After some investigation, it was a job for Microsoft Graph API. I've begun …

Continue reading Export Microsoft Planner Instances and Details Using Graph API and PowerShell