Read articles and blog posts about PowerShell on Practical365.com.
Latest Articles
Exchange Online keeps message trace data online for 10 days. If you want an email traffic report covering longer periods, you need to retrieve historical message data (for up to 90 days) and report that data. That's the easy description. This article explains some of the complexities involved in generating a 90-day email traffic report for a Microsoft 365 tenant.
A key aspect of a well-managed Microsoft 365 environment is to ensure that SharePoint sites are removed when they are no longer needed. In this blog, Sean McAvinue explores how to combine relatively basic PowerShell and Azure Automation skills with Power Automate to create a clean, robust way to manage the lifecycle of SharePoint sites in your Microsoft 365 tenant.
Directory extensions allow organizations to customize the data stored for Entra ID objects such as users, groups, and devices, You need to create and manage directory extensions with PowerShell. This article explains how to do the job with cmdlets from the Microsoft Graph PowerShell SDK.
Shared mailboxes are widely used in Exchange and their permissions are relatively simple to set and manage. In this blog, Jaap Wesselius deep dives into Understand Exchange shared mailbox permissions and walks you through how to grant permissions in different Exchange environments.
A Teams external access whitelist controls the domains that users can connect to for federated chats. Organizations often limit federation using a whitelist to reduce the possibility of attacks through chat communications. This article explains how administrators can discover the set of domains users chat with by analyzing chat information using the Microsoft Graph PowerShell SDK.
License assignment to Entra ID accounts with PowerShell is easy if licenses are available and the account doesn't already have the license. In this article, we explore how to check license availability and make sure that we don't try to assign a license that's already present.
You might think that maintaining scripts and processes utilizing PowerShell is a lot of work. And truth be told, it can be. In this blog, Michel De Rooij dives into some practical tips to stay on top of your scripts.
Group-based licensing is a simple way to automate the distribution of licenses to members of security groups. In this article, we review how the mechanism works and show how to automate operations with PowerShell. Finally, we update the tenant licensing report to include group-based licensing and to highlight duplicate license assignments.
A reader asked how to use a CSV file for bulk license assignment with the Microsoft Graph PowerShell SDK. We didn't have one to hand, so we wrote a new script to illustrate the principles of how to process license assignments for a set of user accounts (which don't necessarily have to come from a CSV file). We even included some error handling!
The Microsoft Graph PowerShell SDK uses a default enterprise app to hold its permissions. Over time, the SDK can accrue many permissions, so it's important to control interactive access to it. In this article, we review how to lock down the SDK app and how to create new registered apps for use with the Graph SDK.
Microsoft 365 makes it easy for administrators to get mail activity usage data for users. However, if you want to know which domains are sending most mail, you need to do some work. In this article, we cover how to use cmdlets from the Microsoft Graph PowerShell SDK to create reports about user mail activity over time and the traffic sent by different domains.
Whether your organization sees external collaboration as a risk or a benefit, it’s important to understand exactly what you have configured. Therefore, Sean McAvinue has created a PowerShell Script to control and report External Domains.