POWERSHELL

Cleanup Microsoft.Graph PowerShell Modules

Andres Bohren
Hi All, I wanted to check the amount of Commands available in the Microsoft.Graph Powershell Modules Get-Command -Module Microsoft.Graph* | measure That seemed a bit much and it turned out, i had multiple Versions of Microsoft.Graph PowerShell Module installed. Here is a Script do remove the Old Modules and install only the newest Version. $Modules = Get-Module Microsoft.Graph* -ListAvailable | Where {$_.Name -ne "Microsoft.Graph.Authentication"} | Select-Object Name -Unique Foreach ($Module in $Modules)

ExchangeOnlineManagement v206-Preview5 (Connect-IPPSSession with CBA)

Andres Bohren
Hi All, Today the ExchangeOnlineManagement Preview 5 PowerShell Module has been released to the PowerShell Gallery. As you can see it's the first time you can use Certificate Based Authentication (CBA) to Authenticate with Connect-IPPSSession. ExchangeOnlineManagement Preview5 https://www.powershellgallery.com/packages/ExchangeOnlineManagement/2.0.6-Preview5 Installing the Module (PowerShell must be startet "As Administrator") Find-Module ExchangeOnlineManagement -AllowPrerelease Install-Module ExchangeOnlineManagement -AllowPrerelease -Force How to set up the Azure AD App i have documented here https://blog.icewolf.ch/archive/2021/04/04/exchange-online-powershell-v2-authentication-with-app-in-azuread-update.aspx Connect to Exchange Online with a Certificate stored in your CurrentUser Certificate Store

PowerShell 7.2.2 released

Andres Bohren
Hi All, Yesterday PowerShell v7.2.2 has been released PowerShell 7 Downloads https://github.com/PowerShell/powershell/releases Regards Andres Bohren

Simple Example of Sending Mail via Microsoft Graph

Andres Bohren
Hi All, I did feel to write a simple PowerShell Script to demonstrate how to Send a Mail via Microsoft Graph. You need to create an Azure AD Application with the following Permission "Application -> Mail.Send". Authentication with a SelfSigned Certificate. The whole Script is published at my GitHub Repo https://github.com/BohrenAn/GitHub_PowerShellScripts/blob/main/ExchangeOnline/GraphAPI/SimpleGraphSendMail.ps1 ############################################################################### # Limiting application permissions to specific Exchange Online mailboxes # https://docs.microsoft.com/en-us/graph/auth-limit-mailbox-access # # Limit Microsoft Graph Access to specific Exchange Mailboxes

Azure Automation: PSGallery Version Check

Andres Bohren
Hi All, I don't check daily if there are any new PowerShell modules in PSGallery. So i wrote me a Script of my most used Modules to Inform me if there are any new Modules available. With the following Code i check for the current Version of the Modules and put them into a PSCustomObject with the Attributes Release, Module, Version (for GA and Prerelease Versions). ############################################################################### # Check PSGallery Modules

Check for Microsoft Teams Update with PowerShell

Andres Bohren
Hi All, I was inspired to look a little bit deeper into the Update Mechanism of Microsoft Teams by the "Teams MSI Override" GitHub Project. You can check your Version in Teams by Settings > Info > Version Then the current Version and update Date is shown in the top bar You can invoke a update check in Settings > check for updates Then Teams will search for updates I've traced this Action in Fiddler

Check your M365 Licenses with Azure Automation V2 (with Microsoft Graph)

Andres Bohren
Hi All, Over a Year ago i did wrote a Azure Automation Script to check your M365 Licenses. Check your M365 Licenses with Azure Automation https://blog.icewolf.ch/archive/2021/04/18/check-your-m365-licenses-with-azure-automation.aspx I did rewrite that code to support Microsoft Graph for query the Licenses and also send the Mail via Microsoft Graph. Setup Environement I first created a new AzureAD Application (just to make a clear separation of Graph Permissions for the purpose of this Demo).

MicrosoftTeams PowerShell Module 3.2.0 Preview released

Andres Bohren
Hi All, A few Days ago, Microsoft has released the MicrosoftTeams PowerShell Module v3.2.0 Preview to the PSGallery. Here are the Release notes https://docs.microsoft.com/en-us/MicrosoftTeams/teams-powershell-release-notes Find-Module -Name MicrosoftTeams -AllowPrerelease Install-Module -Name MicrosoftTeams -AllowPrerelease -Force Let's see how long it takes to load the Module. It's about the same as with the Microsoft Teams PowerShell 3.1.1 Measure-Command -Expression {Import-Module MicrosoftTeams} Get-Module My usual Tests Connect-MicrosoftTeams Get-Team Get-CsOnlineUser -Identity a.bohren@icewolf.ch | fl *Ent*, *host*, *voice*, *um* Regards Andres Bohren

Microsoft Teams routing calls to unassigned Numbers

Andres Bohren
Hi All, In my M365 Tenant i use Direct Routing from Sunrise, a Telco Provider here in Switzerland. I own a Numberrange with 10 Number +41 21 555 39 70-79. If i call with my Mobilephone to a Number, that is not assignet to a User, Callflow or Autoattendant, i get an Anouncement from the Provider (Sunrise) that the Number is not active. This is because the Session Border Controller at the Provider receives a SIP 404 Not Found.

PowerShell Script to check for AAD Apps with expiring ClientSecrets and Certificates

Andres Bohren
Hi all, I guess we all wrote Applications or Scripts that use AAD Applications and used ClientSecrets or Certificates to Authenticate. But what will happen when the Certificate or ClientSecret will expire? Simple - the Application won't work anymore, because the Authentication will fail. So i searched for a way to check if the ClientSecret or Certificate will soon expire. Let me show an Application that has multiple ClientSecrets and Certificates.