Articles, views, and insights about the practical application of the Microsoft Graph APIs (including the Microsoft Graph PowerShell SDK) from Practical365.com
Latest Articles
Server-side filtering is always best when PowerShell retrieves items from the server. In this article, we explore how to construct a server-side filter to find large mailbox items over a certain threshold. The answer lies in filtering against an old Outlook property. The Graph represents the property through the single value extended property resource. But how do you filter against such a thing?
The Microsoft Graph service uses throttling to restrain applications that might want to use more resources than they should. Graph throttling applies to Microsoft Graph PowerShell SDK cmdlets, but you might never notice this because of the way that the retry handler works to smoothen delays imposed by the Graph service.
This article describes the steps to configure Microsoft 365 Copilot connectors to extend SharePoint Enterprise Search with Microsoft Graph.
Managing devices across large organizations can be complex. Administrative Units (AUs) help scope admin rights, but what about newly registered devices? In this article, we explain how to automate adding devices to the correct AU using Microsoft Graph and Azure Automation runbooks with managed identities—eliminating manual steps and improving security.
Microsoft 365 now runs on agentic AI, but tracking custom, shared, and ISV agents isn’t simple. This post breaks down where agents live, how the Admin Center inventory works, and why scalable management remains a challenge. Plus, what’s next with Graph API.
In this episode of Practical AI, we dive into using Lokka, a free tool for working with the Microsoft Graph, built by Microsoft’s Merill Fernando. Lokka lets you query and manage your Microsoft 365 tenant using natural language, removing the need for complex scripting.
Microsoft Teams Phone has improved over the years, but missed call reporting in call queues remains a gap. In this blog, Martin Heusser shows how to use Microsoft Graph and PowerShell to build a custom report that captures missed and answered calls, complete with caller info and agent details. Until Microsoft adds shared call history natively, this DIY approach is a solid workaround.
Many PowerShell scripts need to run on a scheduled basis or have to process large amounts of data. Azure Automation runbooks are a good way to handle both types of task. This article describes three important and practical steps to improve writing PowerShell code for Azure Automation.
A reader asked if it's possible to analyze the external meeting participants for Teams online events. The information is available through the Events Graph API, and some PowerShell code written using the Graph PowerShell SDK quickly extracts events to analyze and determine the set of external domains meeting participants come from.
In this installment of the Graph Activity Log series, we uncover how attackers exploit OAuth app consent to silently access Microsoft 365 data. Using targeted KQL queries and PowerShell automation, this blog shows how to detect, investigate, and respond to these stealthy identity-based threats.
Dynamic Microsoft 365 Groups come with many advantages, but they also require Entra P1 licenses. This article explores how to create and maintain a DIY version of dynamic Microsoft 365 groups using the Microsoft Graph PowerShell SDK and Azure Automation. At the end of the day, the principle is proven, but maybe it's best to pay for the licenses.
In this article, we guide you through the process of using the Graph Activity Log and Kusto Query Language (KQL) to hunt for common indicators of mailbox compromise, with useful tips along the way.