Articles, views, and insights about the practical application of the Microsoft Graph APIs (including the Microsoft Graph PowerShell SDK) from Practical365.com
Latest Articles
The unified audit log is the source of a lot of information about a Microsoft 365 tenant. The Search-UnifiedAuditLog cmdlet is available to search the audit log and now we have the AuditLog Graph API. This article explains how to use the new API to query and retrieve audit records from the log.
When you're new to Graph API requests, you might not know pagination and end up retrieving less data from queries than is available. In this article, we explain how to use pagination to retrieve data using Graph queries and SDK cmdlets.
In this blog, James Yip reviews how to use PowerShell to examine details of managed devices and installed apps on endpoints.
In the past, we've described how to use PowerShell to report tasks in Planner plans. This article completes the circle by discussing how to create Planner tasks. The scenario used is synchronizing Microsoft 365 message center notifications to create tasks in a target plan. There are some interesting issues to discuss, like how to assign a label to a task.
The fallout from the Midnight Blizzard attack against Microsoft continues as Microsoft takes action to harden the security of its own and customer tenants. One step is to retire the EWS Application Impersonation role. This will happen in February 2025 ahead of the retirement of Exchange Web Services in October 2026.
In this blog, Andy Scheider deep dives into GitHub Copilot and how it can be used to upgrade PowerShell Scripts to the Microsoft Graph PowerShell SDK.
A key aspect of a well-managed Microsoft 365 environment is to ensure that SharePoint sites are removed when they are no longer needed. In this blog, Sean McAvinue explores how to combine relatively basic PowerShell and Azure Automation skills with Power Automate to create a clean, robust way to manage the lifecycle of SharePoint sites in your Microsoft 365 tenant.
The Microsoft Graph PowerShell SDK uses a default enterprise app to hold its permissions. Over time, the SDK can accrue many permissions, so it's important to control interactive access to it. In this article, we review how to lock down the SDK app and how to create new registered apps for use with the Graph SDK.
In the first article about using the Planner Graph API to report details of plans in a Microsoft 365 tenant, we explained the basics of how to extract data about plans, tasks, and buckets to create a report using a PowerShell script. Now we take the lessons learned a step forward to illustrate the principle that with access to data, the possibility for creative use of that data is boundless and upgrade the script to include a listing of incomplete tasks and per-user analysis of incomplete tasks for each plan.
It's great to be able to run Graph API requests in PowerShell scripts if everything goes right. This article describes why some common Graph API errors occur in scripts and what to do when the errors happen. Most errors are due to permissions assigned to the Azure AD apps used to run scripts and getting the basics will resolve those problems.
This article explains how to use the Microsoft Graph API and PowerShell to extract meeting data from the calendars of room mailboxes to generate statistics about the usage of the rooms. Only confirmed meetings are included in the data.
In this article, Sean McAvinue explains how to Microsoft Graph PowerShell SDK to Interact with Exchange Online and SharePoint Online.