powershell
237 TopicsCreating a Comprehensive Inactive Guest Account Report
Many examples of how to report inactive Entra ID guest accounts with PowerShell are available on the internet, but they're all flawed because they make decisions based on the last sign in. That's a shortsighted method because it doesn't take guest activity into account. This article explains how to combine audit data with sign-in data to create an enhanced view of guest account activity so that intelligent decisions can be made to keep or retain the accounts. https://practical365.com/inactive-guest-account-report/14Views0likes0CommentsWhat’s the Best Way to Find SharePoint Online Sites with Graph PowerShell?
What’s the best way to find SharePoint sites with the Microsoft Graph PowerShell SDK? Is the Get-MgAllSite cmdlet best or should you use the Get-MgSite cmdlet? Does it matter if you’re looking for one site or many sites? We explore the issue in this article by examining some reasons why you’d choose Get-MgSite and others that drive the decision for Get-MgAllSite. https://office365itpros.com/2025/10/06/get-mgallsite-and-get-mgsite/19Views0likes0CommentsAssembly Clashes Make Microsoft 365 PowerShell Frustrating
An assembly clash happens when a PowerShell module attempts to load a .NET assembly only to find that a different version is already loaded in the session. Unhappily, this kind of thing happens far too often with Microsoft 365 modules, which implies that there isn’t a great deal of coordination between different development groups. All you can do is to load modules in the right order. https://office365itpros.com/2025/09/24/assembly-clash-microsoft-365-ps/13Views0likes0CommentsUpdating the User Password and Authentication Report
A change to a Graph beta API meant that some data used to create the user password and authentication report was no longer available. An update was required for the PowerShell script. The experience underlines the truth that developers should not rely on the Graph beta APIs because the APIs are prone to change at any time as Microsoft moves them along to become production-ready. https://office365itpros.com/2025/09/23/password-and-authentication-report/21Views0likes0CommentsAutomating Microsoft 365 with PowerShell Second Edition
The Office 365 for IT Pros team are thrilled to announce the availability of Automating Microsoft 365 with PowerShell (2nd edition). This completely revised 350-page book delivers the most comprehensive coverage of how to use Microsoft Graph APIs and the Microsoft Graph PowerShell SDK with Microsoft 365 workloads (Entra ID, Exchange Online, SharePoint Online, Teams, Planner, and more). Existing subscribers can download the second edition now free of charge. https://office365itpros.com/2025/06/30/automating-microsoft-365-with-powershell2/214Views1like4CommentsTeams Voice
One of my client was asking that Is there any way if they have already Voice devices from different vendor. He wants to configure PSTN with old number which he was using before with different device. How can we incorporate old PSTN and number with Teams environment?104Views0likes3CommentsReporting Authentication Method Usage Data via the Graph
Three new Graph API resources provide easy access to Entra ID authentication method summary usage data. The information is helpful to understand the type of sign-ins that happen, and the authentication methods used by user connections. The article includes a script based on the MFA sign-in summary to highlight non-MFA connections and the apps users connect to. https://office365itpros.com/2025/08/21/authentication-methods-graph/26Views0likes0CommentsCreating Dynamic Microsoft 365 Groups without Entra P1 Licenses
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. https://practical365.com/diy-dynamic-microsoft-365-group/39Views1like0CommentsMaintaining a Microsoft 365 Retention Policy with PowerShell
The Connect-IPPSSession cmdlet is needed to connect to the Security and Compliance endpoint to update a Microsoft 365 retention policy. Unhappily, the Security and Compliance module doesn’t support managed identities, which makes it harder to run Connect-IPPSSession securely in an Azure Automation runbook. In the end, we use a credential stored in the automation account. And then we had to disable WAM. All explained here. https://office365itpros.com/2025/08/12/connect-ippssession-azure/21Views0likes0Comments