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

Connect To Graph API Using PowerShell With Delegated Permissions

Previously on this blog, I have posted some Graph API / PowerShell examples. Most of these examples so far have used application permissions. I have a few examples planned over the next week or so which leverage Delegated Permissions which have a different authentication flow which we need to keep in mind when writing our …

Continue reading Connect To Graph API Using PowerShell With Delegated Permissions

OneDrive File Structure and Sharing Report – Graph API & PowerShell

I've previously posted a PowerShell script I put together to report the file and folder structure in OneDrive. This script used PowerShell and Graph API to loop through all files and folders and output the information to a CSV. I've recently had a requirement to add to that script, I didn't just need the file …

Continue reading OneDrive File Structure and Sharing Report – Graph API & PowerShell