Create report schedules for Microsoft 365 reports via PowerShell

While the functionality to create report schedules for (handful of the) Microsoft 365 hasn’t received any love for years now, I want to remind you that it still exists. In this article, we will take a deeper look at the PowerShell cmdlets used to manage report schedules, as well as refresh your memory on some of the basics. And who knows, Microsoft might eventually remember this functionality exists and add support for more reports 🙂 …

Continue readingCreate report schedules for Microsoft 365 reports via PowerShell

New Copilot reporting datasets and how to fetch them programmatically

While Microsoft are quick to position AI/Copilot as the solution to all your needs, they’re not so quick to provide useful reports to gauge Copilot usage and adoption. And even when they do so, there is insufficient coverage within the Graph API, so you’re stuck with using the Microsoft 365 Admin Center instead. In this article, we will discuss how you can fetch the same Copilot usage and adoption data as the built-in reports, but without having to rely on the portal/UI. …

Continue readingNew Copilot reporting datasets and how to fetch them programmatically

How to deal with the “Migrate Service Principals from the retiring Azure AD Graph APIs to Microsoft Graph” recommendation

The “Migrate Service Principals from the retiring Azure AD Graph APIs to Microsoft Graph” Entra ID recommendation has created a bit of a stir recently, so I finally got to put an article around it. Read on to find out how to handle any of the “impacted resources” found in this recommendation, more specifically, which entries to ignore. …

Continue readingHow to deal with the “Migrate Service Principals from the retiring Azure AD Graph APIs to Microsoft Graph” recommendation

How to remove meetings from all Microsoft 365 mailboxes via the Graph API

A “proof of concept” script to remove meetings across multiple (or all) Microsoft 365 mailboxes, by leveraging the Graph API. An alternative for the Remove-CalendarEvents cmdlet in scenarios where the organizer’s mailbox is no longer available. The script also includes a simple function to help you find an event, with alternatives detailed in the article. …

Continue readingHow to remove meetings from all Microsoft 365 mailboxes via the Graph API

Remove all sharing links and permissions for items in SharePoint Online or OneDrive for Business

A “proof of concept” script that you can use to remove all sharing links (sharing permissions) across all items stored in SharePoint Online and OneDrive for Business, including Teams sites. The script is indented to be run non-interactively and requires Sites.ReadWrite.All application permissions. …

Continue readingRemove all sharing links and permissions for items in SharePoint Online or OneDrive for Business