Auf Exchange Online unter macOS mit der PowerShell zugreifen

Auf Exchange Online, Bestandteil vom Microsoft Office 365, kann mit der PowerShell zugegriffen werden. Da die PowerShell bereits seit einiger Zeit auch auf einem Mac-System (und auch unter Linux) installiert werden kann, ist der Zugriff auf Exchange Online nicht nur Windows-Nutzern vorbehalten. Dieses Tutorial erklärt welche Schritte hierfür erforderlich sind.

PowerShell installieren

Standardmäßig steht die PowerShell nur unter Windows zur Verfügung. Mac- und Linux-Nutzer müssen sie erst installieren. Die erforderlichen Installationsdateien finden sich auf der offiziellen Projektseite bei Github. Zum Zeitpunkt der Erstellung dieses Tutorials liegen nur Binaries für Intel-Macs vor. Eine finale Version für Macs mit Apples M1-Chips ist aber in Arbeit und dürfte alsbald veröffentlicht werden. Es gibt bereits eine Preview-Version.

Noch einfacher geht die Installation es mit dem Paketmanager Homebrew. Falls er noch nicht auf Eurem System sein sollte, könnt Ihr dies nachholen, indem Ihr die Homebrew-Seite aufruft, die dortige Anweisung kopierte und im Terminal ausführt.

Sobald Homebrew auf dem Mac vorhanden ist, reicht für die Installation der PowerShell das Ausführen folgender Anweisung aus:

$ brew install --cask powershell

Ob die PowerShell einwandfrei installiert wurde, kann mit der Ausführung von

$ pwsh
PS /Users/bodo>

überprüft werden. Es sollte dann die PowerShell-Eingabeaufforderung erscheinen. Mit

exit

kann die PowerShell wieder beendet werden. Wird ein Upgrade auf eine neuere PowerShell-Version erforderlich, hilft folgende Anweisung weiter:

$ brew upgrade powershell --cask

Ein Hinweis für Windows-Systeme: Wie oben erwähnt, ist unter Windows die PowerShell bereits vorinstalliert, allerdings in einer alten Version. Wie zusätzlich eine aktuelle Version installiert werden kann, wird in diesem Artikel erklärt.

EXO V2-Modul und PSWSMan installieren

Des Weiteren wird das EXO V2-Modul benötigt, dass entweder für alle oder nur für den aktuellen Nutzer installiert werden kann:

Install-Module -Name ExchangeOnlineManagement

oder

Install-Module -Name ExchangeOnlineManagement -Scope CurrentUser

Die Aktualisierung dieses Moduls erfolgt mit

Update-Module -Name ExchangeOnlineManagement

oder

Update-Module -Name ExchangeOnlineManagement -Scope CurrentUser

Die Deinstallation für alle oder den aktuellen Nutzer wird mit folgender Anweisung durchgeführt:

Uninstall-Module -Name ExchangeOnlineManagement

Sofern nicht bereist vorhanden, wird außerdem das Modul PSWSMan benötigt:

Install-Module -Name PSWSMan

Eine Übersicht der bereits installierten Module erhält man übrigens mit folgendem Befehl:

Get-InstalledModule

Verbindung zu Exchange Online herstellen

Damit sind alle Voraussetzungen für den Zugriff auf Exchange Online erfüllt. Um eine Verbindung herzustellen, ist jetzt folgendes einzugeben:

Connect-ExchangeOnline -UserPrincipalName <E-Mail-Adresse>

Dies führt dazu, dass ein Browser-Fenster geöffnet wird, in dem die Zugangsdaten einzugeben sind.

Alternativ kann auch folgende Anweisung verwendet werden:

Connect-ExchangeOnline -InlineCredential
PowerShell credential request
Enter your credentials.
User: <E-Mail-Adresse
>Password for user <E-Mail-Adresse>: ****************

In diesem Fall öffnet sich kein Browser-Fenster. Stattdessen werden die Zugangsdaten jetzt direkt in der Shell eingegeben. Erscheint keine Fehlermeldung, war der Login erfolgreich.

Mit

Disconnect-ExchangeOnline

kann die Verbindung wieder getrennt werden.

Nach der Verbindungsherstellung

Einmal mit Exchange Online verbunden, können verschiedene Anweisungen eingegeben werden. Eine Übersicht der vorhandenen Befehle erscheint direkt nach dem Login. Dort findet sich beispielsweise Get-Mailbox, ein Befehl, der alle vorhandenen Accounts anzeigt.

Weiterführende Links