PowerShell

Latest Articles

Deploying .exe Applications with Microsoft Endpoint Manager

With an increasing number of companies moving to Intune for endpoint management, more applications must be deployed via Intune to ensure users can access the applications they need to perform job functions. This article walks you through the steps to deploy a legacy application and guides you through converting an .exe installer into an import-ready format for Intune.

January 11, 2022

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

How to Use Cloud Shell from the Microsoft Teams Admin Center

Microsoft has updated the Teams PowerShell module to allow it to run in a Cloud Shell session. This is good news if you need to run one or two Teams cmdlets without access to your normal workstation, but it's not so good if you expect to run code which runs well in normal PowerShell sessions. The limitations which exist get in the way of getting work done, which is a pity.

December 14, 2021

Use PowerShell to Create a Report About the Teams Policies Assigned to User Accounts

Like all the other Microsoft 365 administrative consoles, the Teams admin center doesn't have any print options. If you want to print off any kind of information about Teams settings, you need to write your own code. PowerShell makes it easy to create a report about the Microsoft Teams policy assignments for user accounts. In this article, we explain how to extract policy information and generate a HTML report.

November 29, 2021

Using Certificate-based Authentication with the Microsoft Graph PowerShell SDK

Although it's easy to write scripts using cmdlets in the Microsoft Graph PowerShell, SDK you probably don't want to execute the scripts interactively. In this article, we explain how to use certificate-based (app-only) authentication to run scripts. This is very much an explanation about how to accomplish the task in a testing environment. If you want to run scripts in production, some extra work is needed.

November 9, 2021

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

Send Exchange Online Email Using the Microsoft Graph SDK for PowerShell

Many people use the PowerShell Send-MailMessage cmdlet to send email from Exchange Online. In this article, we explain how to use cmdlets from the Microsoft Graph SDK for PowerShell to do the same job. The reason why this is important is that Microsoft will eventually deprecate the Send-MailMessage cmdlet as part of its campaign to eliminate basic authentication from Exchange Online. A replacement will be needed for all those PowerShell scripts which uses Send-MailMessage. This is one solution.

October 18, 2021

Connecting to the Microsoft Graph Using the PowerShell SDK

The Microsoft Graph SDK for PowerShell exists to help developers use Graph API calls from PowerShell. It works, but like anything in life, there's a right way to connect and use the SDK and a wrong way. In this article we explore topics like how to connect to the right tenant, how permissions are managed (or not), and why running Graph SDK cmdlets interactively isn't something you should do in production. Good as the SDK is, Microsoft has some big issues to solve to address some obvious security issues.

September 23, 2021

Microsoft Forces Move from Azure AD Cmdlets for License Management

On June 30, 2022, Azure AD and Microsoft Online Services cmdlets will stop working for license management. The result is that you need to upgrade PowerShell scripts which use these cmdlets. The choice is to use Graph API calls or cmdlets from the Microsoft Graph PowerShell SDK. In this article, we explore the steps necessary to upgrade a script to remove service plans from an Office 365 license (SKU).

September 9, 2021

How to Convert Azure B2B Guest Users to Members While Maintaining User Collaboration

Azure B2B guest accounts are often created during a Merger & Acquisition, so teams from both organizations can easily collaborate during the business and technology integration. However, these external users with B2B Guest accounts in their directory will eventually need to be migrated, which is problematic since B2B Guest accounts aren’t recognized as being licensed. The guest account can be removed and a new one created, but previous permissions would be lost. So how do we preserve permissions, keep collaborating without managing two sets of credentials while preparing the user account for data migrations? This article walks you through a solution that can be used in certain situations to help you easily manage the account to meet your needs.

September 8, 2021

Manage Exchange Online at Scale

Microsoft Certified Master (MCM) and Microsoft Certified Solutions Master (MCSM) Ingo Gegenwarth provides a glimpse into his speaking session at TEC and how to manage ExO at scale with PowerShell.

August 23, 2021