Exchange Online PowerShell V2 Module supports Powershell 7 and Linux

Hallo zusammen,

An der Ignite 2020 wurde angekündigt, dass das EXO V2 PowerShell Module nun auch PowerShell 7 unterstützt.

Exchange Online Admin News at Microsoft Ignite 2020

https://techcommunity.microsoft.com/t5/exchange-team-blog/exchange-online-admin-news-at-microsoft-ignite-2020/ba-p/1687700

 

PowerShell Core support in the EXO V2 module

https://docs.microsoft.com/en-us/powershell/exchange/exchange-online-powershell-v2?view=exchange-ps#powershell-core-support-in-the-exo-v2-module

Aktuell wird das PreRelease Module 2.0.4 benötigt

Ich starte deshalb eine PowerShell als Admin ohne PS Profile

start PowerShell -nologo -noprofile

Um das neueste PreRelease Modul zu installieren benötigt man folgende Befehle

Get-Module ExchangeOnlineManagement -ListAvailable
Uninstall.-Module ExchangeOnlineManagement
Find-Module -Name ExchangeOnlineManagement -AllowPrerelease
Install-Module -Name ExchangeOnlineManagement -AllowPrerelease
Get-Module ExchangeOnlineManagement -ListAvailable

Nun kann das EXO V2 PowerShell Modul in der PowerShell 7 geladen und benutzt werden

Import-Module ExchangeOnlineManagement
Connect-ExchangeOnline
Get-EXOMailbox -identity <Identity>

Linux

Das ganze funktioniert auch auf Linux

PowerShell 7.x auf Linux starten

pwsh
get-host

Das EXO V2 Modul installieren

Install-Module -Name ExchangeOnlineManagement -AllowPrerelease
Get-Module ExchangeOnlineManagement -ListAvailable

Beim Connect Befehl kommt es dann zu einer Fehlermeldung wegen einem fehlendem WSMan

Eine ganze Abhandlung dazu gibt es hier 

Wacky WSMan on Linux

https://www.bloggingforlogging.com/2020/08/21/wacky-wsman-on-linux/

Die Lösung das OMI Shared Object

https://github.com/jborean93/omi

Mit folgendem Befehl wird das PowerShell Home Directory angezeigt

dirname "$( readlink "$( which pwsh )" )"

Nun kann das Shared Object (SO) mit PowerShell ins Home Directory herunterladen

pwsh

$url = "https://github.com/jborean93/omi/releases/download/v1.2.0-pwsh/libmi-centos7.so"

$output = "/opt/microsoft/powershell/7/libmi.so"

Invoke-WebRequest -Uri $url -OutFile $output

 

Nun kann das PowerShell Modul geladen werden und verbunden werden

Import-Module ExchangeOnlineManagement

Connect-ExchangeOnline -Device

Grüsse
Andres Bohren