POWERSHELL

PowerShell 7.2.3 released

Andres Bohren
Hi All, Yesterday a new Version of PowerShell 7 has been released by Microsoft. v7.2.3 Release of PowerShell https://github.com/PowerShell/PowerShell/releases/tag/v7.2.3 Regards Andres Bohren

Detect if your PowerShell code is running in Windows Terminal

Andres Bohren
Hi All, Ever wanted to detect if your PowerShell Script is running in a WindowsTerminal Session? As you can see, the default Font is a bit bigger than in the other PowerShell Windows Here is some code to detect that if ($env:WT_SESSION) { Write-Host "Windows Terminal detected" } else { Write-Host "Windows Terminal not detected" } Windows Terminal PowerShell 5 PowerShell 7 PowerShell ISE Regards Andres Bohren

Microsoft.Graph PowerShell Modules 1.9.5 released

Andres Bohren
Hi All, Yesterday Microsoft has released a new Version of theyr Microsoft.Graph PowerShell Modules. Just a few days after releasing 1.9.4... I like the fact that they fixed a bug in "user-agent", but maybe it shows somee missing quality control. Microsoft.Graph 1.9.5 https://www.powershellgallery.com/packages/Microsoft.Graph/1.9.5 Release notes https://github.com/microsoftgraph/msgraph-sdk-powershell/releases Check the installed module and what's published in PowerShell Gallery Get-InstalliedModule Microsoft.Graph Find-Module Microsoft.Graph If you uninstall the Microsoft.Graph Module, you don't uninstall the sub modules Uninstall-Module Microsoft.

Extract M365 Licensing GUID's and Product names from MS Website

Andres Bohren
Hi All, For a Project i wanted to Extract the M365 License and ServicePlan Guids from the Website below Product names and service plan identifiers for licensing https://docs.microsoft.com/en-us/azure/active-directory/enterprise-users/licensing-service-plan-reference The whole Script is published at my GitHub Repo https://github.com/BohrenAn/GitHub_PowerShellScripts/blob/main/AzureAD/ExtractGUIDandLicensesFromWebsite.ps1 Why not using PowerShell for that $URI = "https://docs.microsoft.com/en-us/azure/active-directory/enterprise-users/licensing-service-plan-reference" $WebRequest = Invoke-WebRequest -URI $URI $WebRequest | get-member As you can see, with PowerShell 7 the Property "ParsedHtml" is missing. It somehow has a dependency to the local installed Browser.

Azure PowerShell Module Az 7.4.0 released

Andres Bohren
Hi All, Just a few Hours ago the new Microsoft Azure PowerShell Module AZ 7.4.0 has been released. Microsoft Azure PowerShell Module Az 7.4.0 https://www.powershellgallery.com/packages/az/7.4.0 To check your installed Module and what Version is available in the PowerShell Gallery you can use the following commands Get-InstalledModule AZ Find-Module AZ AZ is just a Wrapper - the Modules have names Az.* Get-InstalledModule AZ.* I've checked my installed Modules. It's a mess - multiple Versions of the Modules.

Exchange Online Plus addressing update

Andres Bohren
Hi All, There has been an update to Plus addressing in Exchange online. Plus adressing will be enabled by default starting from 17. April 2022 If you wish to Opt-Out of Plus Adressing you will need to use this command Set-OrganizationConfig -DisablePlusAddressInRecipients $true Plus Addressing in Exchange Online https://docs.microsoft.com/en-us/exchange/recipients-in-exchange-online/plus-addressing-in-exchange-online If you want to check your current Recipients for Plus addresses you can use my Script from GitHub https://github.com/BohrenAn/GitHub_PowerShellScripts/blob/main/ExchangeOnline/CheckPlusEmailAddresses.ps1 You can review your Exchange Online Settings in your tenant with the following Command

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