Read articles and blog posts about PowerShell on Practical365.com.
Latest Articles
Many examples of how to report inactive guest accounts 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.
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.
In this blog, we explore practical ways to optimize SharePoint Online performance for large document libraries. From avoiding the 5,000-item list view threshold to using PnP PowerShell and Microsoft Graph API for bulk updates, you'll learn how to keep your libraries fast, responsive, and scalable.
In this article, we explore the best way to configure Microsoft Defender for Servers on Windows. From PowerShell and GPO to SCCM and Defender Security Management, we break down the pros and cons of each method.
Everyone probably knows how to use the Send As and Send on Behalf of permissions to send email from user mailboxes. Here we venture into the same task, but for Microsoft 365 Groups, shared mailboxes, distribution lists, and mail-enabled security groups. Once your permissions are aligned, everything is pretty simple.
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 blog, we explore how IT admins can leverage WinGet, Microsoft’s Windows Package Manager, to streamline application deployment and updates across Intune-managed devices.
In this installment of our Graph Activity Log series, we’ll provide a practical playbook for using the Graph Activity Log and Kusto Query Language (KQL) to hunt for indicators of document exfiltration.
In this article, Sean McAvinue explores how Microsoft's Multi-Tenant Organizations (MTO) can help make tenant-to-tenant migrations a smoother process for both administrators and end users.
In this installment of Practical Teams, we explain what App-Centric Management is, how Integrated Apps work, and how Unified App Management differs from earlier methods.