Author: Sean McAvinue

Latest Articles

Separating users in Office 365 using Address Book Policies

Microsoft 365 has many built-in controls to manage how users communicate externally, however, these controls do not generally extend to internal communication. While this is fine in most environments, situations exist where a degree of separation is required to segregate communication across different groups of users. This article details the configuration of Address Book Policies, and how they can be extended to include Teams.

January 5, 2022

Use Desired State Configuration to Snapshot the Configuration of Your Microsoft 365 Tenant

Microsoft 365 Desired State Configuration (DSC), is a way to capture details of a tenant's configuration using PowerShell in such a way that any changes made to the configuration can be easily detected. DSC allows administrators to understand when configurations change so that they can take action when necessary. In this article, Sean McAvinue explains how to use DSC to capture and report details of your Microsoft 365 tenant.

November 8, 2021

Getting the Most out of Microsoft Defender for Office 365 Policies

This article examines the different components of Defender for Office 365, and how you can customize the configuration beyond the baselines to enhance the relevance and impact the policies have on your tenant. The most important aspects to review when modifying the configuration from baselines and the reasons to consider each configuration option are highlighted, but they don’t take you all the way. The items listed here are a subset of what’s available, but when combined with the baselines will help you to bring your Defender implementation to the next level.

October 1, 2021

How Many Channels Should a Team Have?

There's no definitive 'right' or 'wrong' way to structure Teams and channels, however there are some limits and best practices that can be followed to ensure the structures created are easy to use and navigate. This article explores the decision process Team owners can use to assess if a new channel is needed, what type should be used and how to manage large numbers of channels in a team.

September 10, 2021

Configuring Microsoft Defender for Office 365

Microsoft Defender for Office 365 (Previously Office 365 Advanced Threat Protection) is a suite of tools/policies that provides powerful protection for your Office 365 environment. This article explores the various tools available at the different licensing levels and shows how Preset Policies and Configuration Analyzer can help you quickly align with the guidance provided, allowing you to focus on the settings that matter the most in your environment.

July 21, 2021

How to Report Teams Channel Storage with Microsoft Graph API and PowerShell

Within large organizations utilizing Teams, generating reports on channel storage and then migrating this data is extremely difficult. To help map out how Teams uses SharePoint, this article introduces a simple Graph API/PowerShell script to report Teams channels and their SharePoint locations and walks you through the steps so you can run the report yourself.

July 15, 2021
Creating Custom B2B Guest User Invitations with Graph API 14 Comments
Azure AD Microsoft Graph API PowerShell

Creating Custom B2B Guest User Invitations with Graph API

Azure AD business-to-business guest user accounts are a terrific way to securely grant access to apps and services for external users and partner organizations. In this article, a script is introduced that can be used to automate the guest user invitation process, integrating it more seamlessly with any custom applications.

June 2, 2021
Prepopulating Outlook Contacts with the Graph API 55 Comments
Microsoft Graph

Prepopulating Outlook Contacts with the Graph API

When contacts are added to an organizations Global Address List (GAL), they do not always populate in the users personal device contacts depending on what app, device, etc. is being used. This becomes problematic when users working from outside the office are unable to contact the IT Service Desk, HR, or other internal services. To solve the problem, this article introduces a PowerShell script that will read a set of standard contacts from a CSV file and write them as personal contacts to user mailboxes. Mobile devices can then synchronize these contacts along with others created by the user.

May 20, 2021
“Right to Disconnect” – Implementing a Timed Disclaimer in Exchange Online with Azure Automation 3 Comments
Working from home

“Right to Disconnect” – Implementing a Timed Disclaimer in Exchange Online with Azure Automation

Over the past year, the pandemic has disrupted traditional work patterns. With many working from home, many organizations now focus on how to help employees manage their work/life balance. Platforms like Microsoft Viva Insights can help, but there are many steps admins can take using existing technology to support a wellbeing mindset in their organization. An easy and effective change is to implement a transport rule that reminds people they have the “Right to Disconnect” when an email is received outside work hours. This article walks you through how to implement a timed disclaimer in Exchange Online with Azure Automation.

May 13, 2021