PowerShell

Latest Articles

Exchange Online to Enable Plus Addressing Everywhere in January 2022

Microsoft has announced their intention to enable plus addressing across Exchange Online in January 2022. Plus addressing is a good capability, but it might cause some problems for tenants with mail-enabled recipients that have plus addresses in their set of proxy email addresses. Fortunately, we've written some PowerShell code to report those pesky addresses and to remove them if you want to do a big clean up before Microsoft makes the big switch in five months' time.

August 16, 2021

Attend TEC 2021 and Learn from the Very Best

TEC 2021, The Experts Conference, takes place as a virtual event on September 1-2. In this article, Tony selects his favorite sessions from the event agenda. This isn't to say that the other sessions are no good. Everyone's got their own favorite topics and there are many other TEC 2021 sessions covering other topics which will make others very happy.

August 4, 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

Microsoft Is Moving the Office 365 Service Communications API to the Graph

Microsoft is moving the Office 365 Service Communications API to the Microsoft Graph. The new API is in public preview. Converting PowerShell scripts from the old API to the new isn't particularly difficult if you have ever worked with the Graph before. As always, the devil is in the detail, but persistence and some mild swearing should be enough to get scripts over the line. This article explores how to use the new API to fetch and report details of service incidents.

July 15, 2021

Using Filters with the Get-ExoMailbox Cmdlet

It's a good idea to replace older calls to the Get-Mailbox cmdlet with Get-ExoMailbox. However, it's not just a matter of cut and paste updates. In some cases, the nature of the new REST-based cmdlets mean that some additional care is necessary to ensure that the updated code works as expected. As we examine in this article, filters are just one example where some attention to detail is needed to make sure Exchange Online delivers the right set of mailbox data.

June 21, 2021

Creating Personal Contacts in User Mailboxes with PowerShell and the Graph

An earlier article explained how to create organizational contacts in user mailboxes with Graph API calls. This article builds on that idea with three improvements. First, we select target mailboxes for update by looking for those added in the last month. Second, we allow any mail-enabled recipient to be added as an organizational contact. Third, we incorporate some code to check if a contact already exists in a mailbox. Like anything with PowerShell, this code can be improved..

June 15, 2021
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
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