Read articles and blog posts about PowerShell on 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.
Anyone who learned PowerShell to manage Exchange has probably written a script to report Exchange mailbox statistics, which means that many scripts have been written since 2006. This article describes a new take on the topic that produces a nice HTML report and two lists that can be used for other reporting.
In our second edition of Practical PowerShell, Michel De Rooij dives into Functions and Parameters, what they are, and how to use them properly.
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.
In this blog, James Yip reviews how to use PowerShell to examine details of managed devices and installed apps on endpoints.
This blog is the first installment in our new monthly "Practical PowerShell" series, designed to help part-time PowerShell developers freshen up their scripting skills.
This article describes how to include user license costs in a Microsoft 365 tenant licensing report created with the Microsoft Graph PowerShell SDK. The report includes annual costs for all licenses assigned to each user plus an overall licensing summary for the tenant. It even reports how effective the tenant is at assigning licenses!
Microsoft 365 Tenant-to-Tenant Migrations are more than just a data transfer! In this blog, Karin Skapski explores practical steps and scripts to establish cohesive visual branding in a Microsoft 365 tenant, ensuring a seamless transition for both your team and data.
Microsoft doesn't provide a PowerShell cmdlet to return an accurate MFA status for Entra ID user accounts, but by combining data from multiple sources we can write a script to generate a report showing details of user password settings and MFA status.
In this article, Sean McAvinue explains how to use PowerShell and Azure Automation runbook to create a Daily Microsoft Entra Risk Report.
Microsoft 365 subscriptions are what tenants buy to access functionality. The service plans in the subscriptions (product licenses) control what features are available. This article explains how to use PowerShell to generate a report about subscriptions and the service plans in each license.
Exchange Online recipient filters calculate the membership of dynamic distribution groups. The filters support email addresses, but they don't work. Another method is needed to create dynamic distribution lists based on user mailbox email addresses, as we describe in this article and script.