Author: Tony Redmond

Latest Articles

Practical Graph: Use App Management Policies to Control App Credentials

App secrets are used to authenticate registered apps with Entra ID. App secrets (or passwords) are convenient and easy to use, but they're relatively insecure. The default app management policy for the tenant can block app secrets while custom app management policies can allow selective apps to use app secrets for testing or other well-defined purposes. All explained here.

May 5, 2025

Practical Graph: Running Audit Log Searches with the AuditLog Query API

After a year or so of using the AuditLog Query Graph API, we have enough experience to be able to explain how to take advantage of the API and when it could be used to run audit searches instead of the Search-UnifiedAuditLog cmdlet. There's lots of PowerShell code in this article to give anyone who wants to experiment with the API a good start to finding audit events.

April 8, 2025

Microsoft Increases for On-Premises Licenses Coming on July 1

On April 3, Microsoft announced a 10% increase in prices for on-premises products including Exchange Server SE, SharePoint Server, and Skype for Business SE. Prices for CAL suites also increase with the Enterprise CAL increasing by 20%. The transition to the cloud means that on-premises engineering costs must be met by fewer customers, so it's higher prices all round!

April 5, 2025

Practical Graph: Figuring Out Inactive Teams Isn’t That Easy

Some people say that the Teams usage report (available in the Microsoft 365 admin center) is a great way of finding inactive teams. I consider that viewpoint to be rubbish because the Teams usage report doesn't include all the kinds of activities that a team might host. This article explains how to use audit data to supplement the usage report and create a better view of inactive teams.

March 31, 2025

How Microsoft Put Purview Priority Cleanup Together and How it Works

For years, Microsoft has told us that items held by retention policies or eDiscovery holds are immutable and cannot be removed. Well, that's not quite the case as proven by the launch of the Purview Priority Cleanup solution, which is able to find and remove held items (only in Exchange Online for now). There's lots of interesting technology to discuss, but I wonder if Priority Cleanup is too complex and a tad slow to succeed.

March 25, 2025

Practical Graph: Reporting the Status of Group-Based License Assignments

This article describes how to create a report about group-based licensing assignments and any errors that might have occurred. The code uses the Microsoft Graph PowerShell SDK to fetch information about the groups used for licensing assignments, interpret the assignments, find users with assignment errors, and send email to inform administrators about what's been found.

March 12, 2025