Subscribe

Latest Posts

Moving on from Send-MailMessage: Sending Email from PowerShell using the Graph API 36 Comments
PowerShell Microsoft Graph

Moving on from Send-MailMessage: Sending Email from PowerShell using the Graph API

Many PowerShell scripts use the Send-MailMessage cmdlet to send mail. That's fine, but if you want to remove basic authentication to improve tenant security, you need to stop using Send-MailMessage. One solution is to move to use the Graph API SendMail call. This works fine, but it creates some new security issues that need to be thought through. In this article, we explain how to use the Graph to send email and some of those security considerations to ponder.

June 8, 2021
Getting Exchange Online Distribution List Membership Counts with PowerShell 15 Comments
Exchange Online Powershell

Getting Exchange Online Distribution List Membership Counts with PowerShell

It's important to know if a tenant has any very large distribution lists as these might be the source of reply-all mail storms. An old article explains how to report the membership counts for distribution lists on an on-premises Exchange server. Life is different in the cloud, and we need to take a different approach. This article explains how to use different calls in a PowerShell script to create a nice report about distribution list memberships.

June 7, 2021
Taming Teams Notifications
Microsoft Teams notifications

Taming Teams Notifications

There are several areas where Microsoft could improve the way Teams handles out-of-office and away-from-work scenarios. Are the default "quiet hours" reasonable? Should there be a global setting for quiet hours or do-not-disturb? While there may be good reasons to leave some of these as a tenant-level settings, you don't want to forget about the extra steps you must take to truly escape from Teams for a bit.

June 4, 2021
Deploying Custom Teams Group Policy Assignments
Microsoft Teams

Deploying Custom Teams Group Policy Assignments

Microsoft Teams uses an array of policies to control the features available to end users. Group policy assignments make it easier to assign packages of policies to groups of users. Microsoft provides a set of policy packages out of the box, and organizations can create custom packages. That is, if they have the Teams Advanced Communications license. Demanding a special license for functionality which helps tenants manage Teams better seems excessive, especially as you could relatively easily recreate policy assignments with PowerShell.

June 3, 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

The Practical 365 Update: S2, Ep 19 – What’s new from Build 2021, and Accenture IT on Running the Largest Teams Deployment in the World

On the show this week, we're talking through the news from Build and going into detail on the most important announcements for IT pros. We're also joined by Jason Warnke and Tony Leraris from Accenture, who give us a glimpse into the fun and games around running the world's largest Microsoft Teams deployment.

May 28, 2021

Upgrade Your Exchange Online Scripts to Use the Get-EXOMailbox Cmdlet

Many Exchange Online scripts use the old Get-Mailbox cmdlet to fetch mailbox data. It's time to change these calls out and replace them with Get-ExoMailbox. The new cmdlet is faster than the old and more resilient in its ability to handle server glitches. There's no reason to continue using the old Remote PowerShell cmdlets unless you like slowness and errors.

May 26, 2021
Talking Teams with Rish Tandon
Microsoft Teams

Talking Teams with Rish Tandon

Tony Redmond sat down (virtually) with Rish Tandon, Corporate VP for Microsoft Teams Development, to discuss how Teams has evolved over the last few years. The conversation was wide-ranging and covered many topics, including the operationalization of Teams to create a service capable of running at massive scale, client performance, compliance, backups, people, the effect of Teams on other Microsoft 365 workloads, and more.

May 24, 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