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.