Exchange Online PowerShell ist ein Befehlszeilentool, mit dem Sie Ihre Exchange Online-Postfächer und Benutzer verwalten können. Es kann verwendet werden, um eine Vielzahl von Aufgaben auszuführen, wie z. B. das Erstellen und Verwalten von Postfächern, das Konfigurieren von Mailflussregeln und das Verwalten von Benutzerberechtigungen. In diesem Leitfaden zeigen wir Ihnen, wie Sie Exchange Online PowerShell installieren und eine Verbindung herstellen. Wenn Sie ein IT-Profi mit administrativen Aufgaben in Bezug auf Microsoft 365 im Exchange Online-Dienst sind, ist dieser Leitfaden für Sie!
So installieren und eine Verbindung zu Exchange Online PowerShell herstellen
Als IT-Profi umfassen Ihre administrativen Aufgaben in Microsoft 365 wahrscheinlich Exchange Online. Obwohl die meisten dieser Aufgaben über die Exchange Admin Center-Website erledigt werden können, stehen Ihnen über die Befehlszeile, insbesondere beim Skripting, große Effizienzen zur Verfügung!
Voraussetzungen
Sie können sich wie bei jedem anderen Office 365-Dienst mit Exchange Online über das Standard-Connect-*-Cmdlet verbinden. Es gibt jedoch ein paar Voraussetzungen zu beachten, wenn Sie Exchange Online PowerShell installieren und verwenden.
Im Laufe der Jahre gab es mehrere Versionen dieser Module. Version 2.0.5 und frühere werden als Exchange Online PowerShell V2-Modul (EXO V2) bezeichnet. Version 3.0.0 und später ist als Exchange Online PowerShell V3-Modul (EXO V3) bekannt.
Wir werden uns auf dieses neuere Modul konzentrieren, da es die Mehrfaktorauthentifizierung (MFA) unterstützt, Leistungsverbesserungen gegenüber seinen Vorgängern bietet und auch sicherer ist! Außerdem wird es auf den neuesten PowerShell-Versionen 7.x unterstützt. Darüber hinaus ermöglichen eine Vielzahl neuerer Cmdlets (EXO-*) IT-Profis, schneller und produktiver zu sein, wenn es darum geht, die Arbeit zu erledigen.
Installieren des Exchange Online PowerShell-Moduls mit ‚Install-Module‘
Wie ich bereits erwähnt habe, werde ich mich im Rest dieses Artikels auf das neueste Modul ‚V3‘ konzentrieren. Basierend auf den Schritten, die Sie zuvor auf einem bestimmten Computer abgeschlossen haben, besteht das Potenzial, zwischen 2 und 3 Hauptschritten durchzuführen. Ich werde die Schritte einzeln durchgehen, damit Sie basierend auf Ihrer Umgebung direkt einsteigen können.
I am working on a Windows 11 22H2 virtual machine (VM) in my Hyper-V lab. This machine is Azure-AD joined to my Microsoft 365 Developer tenant. This will allow me to show you the procedure and also include some basic commands at the end of this article to demonstrate how it operates.
I am using the latest version of PowerShell, version 7.3.4, at the time of writing. This will enable me to install the Exchange Online PowerShell module. All I need is a PowerShell window!
- Der erste Schritt, dem wir folgen sollten, ist die Einstellung unserer Ausführungsrichtlinie. Wir müssen die Richtlinieneinstellung mit dem Set-ExecutionPolicy Cmdlet ändern:
Set-ExecutionPolicy RemoteSigned
- Als nächstes führen Sie den Befehl Get-Module aus, um zu überprüfen, welche Module installiert sind.
Get-Module

- I have only the base set of modules installed on my computer. So, I need to install the ‘ExchangeOnlineManagement‘ module. Let’s do this with the Install-Module command:
Install-Module -Name ExchangeOnlineManagement

Hinweis: Da ich ein ’nicht vertrauenswürdiges Repository‘ verwende, muss ich angeben, dass ich dies aus dem ‚PSGallery‘-Repository herunterladen möchte. Ich habe ‚A‘ eingegeben, um ‚Ja zu allem‘ zu wählen.
Das Laden des Moduls mit ‚Import-Module‘
Lassen Sie uns nun den nächsten Haupt-Schritt durchführen, das Laden des Moduls.
- Wir können das Modul mit dem Befehl Import-Module importieren.
- Als Nächstes können wir einen weiteren Befehl Get-Module ausführen, um eine Bestätigung zu erhalten.
Import-Module ExchangeOnlineManagement

Da haben wir es, wir haben nun bestätigt, dass das Modul bereit ist!
Verbindung zu Ihrem Exchange Online-Mandanten mit ‚Connect-ExchangeOnline‘
Der letzte Schritt, um Zugriff auf die Exchange Online-Informationen Ihres Mandanten zu erhalten, besteht darin, die Verbindung unter Verwendung von Anmeldedaten herzustellen, die besagten Zugriff ermöglichen. In Azure gibt es mehrere Rollenstufen, die dies ermöglichen. Zu diesem Zweck werde ich meine Rolle als Globaler Administrator in meinem Entwicklermandanten verwenden. Diese Kontorolle gibt mir übrigens Vollzugriff auf Azure AD und alle Microsoft 365-Dienste über PowerShell.
- Lassen Sie uns unten das Connect-ExchangeOnline-Cmdlet verwenden:
Connect-ExchangeOnline -userprincipalname

- Es wurde ein Browser-Authentifizierungsfenster geöffnet, das nach meinem Benutzernamen und Passwort fragt. Hier kann ich mich mit meinem Konto als Globaler Administrator anmelden.

Ausgezeichnet! Sie erhalten einige gelbe Texte, die das Modul „EXO V3“ beschreiben, sowie einen Dokumentationslink, um weitere Informationen zu erhalten.
Wir haben nun die Möglichkeit, PowerShell-Cmdlets gegen unseren Exchange Online-Mandanten auszuführen. Als nächstes werde ich einige grundlegende/essentielle Befehle durchgehen, mit denen Sie beginnen können.
Hinweis: Wenn wir immer an die Sicherheit denken, ist es am besten, Ihre Sitzung zu beenden, nachdem Sie fertig sind. Sie können Ihre Sitzung trennen, indem Sie den folgenden Befehl ausführen, bevor Sie Ihre Shell schließen.
Disconnect-ExchangeOnline
Ganz einfach!
Grundlegende Exchange Online PowerShell-Befehle
Nachdem Sie mit dem Exchange Online Version 3 Powershell-Modul (EXO V3) verbunden sind, können Sie Exchange Online-Cmdlets ausführen. Lassen Sie uns zunächst alle Mailboxen in unserem Mandanten auflisten.
Weil dies ein Entwicklermandant ist, ist die Liste ziemlich klein. Beachten Sie, dass in normalen, größeren Umgebungen die Ausgabe nicht so nützlich sein wird. Dazu komme ich gleich. Außerdem haben wir verschiedene PowerShell-Artikel auf Petri, die Ihnen helfen können.
Anstelle des „veralteten“ Get-Mailbox-Cmdlets (das bald veraltet sein wird) zeigen wir Ihnen die neueren Befehle in EXO V3. Hier verwende ich den Befehl Get-EXOMailbox und leite ihn dann mit dem „pipe“ (|) an den ‚ft‘-Schalter (entspricht ‚Format-Table‘) weiter. Durch Verwendung des ‚Autosize‘-Schalters werden die Spaltenbreiten automatisch an Ihr Konsolenfenster angepasst.
Get-EXOMailbox | ft -Autosize

Standardmäßig erhalten wir die „ExternalDirectoryObjectId“, den „UserPrincipalName“ (normalerweise die E-Mail-Adresse) und den E-Mail-Alias. Lassen Sie uns nach einigen weiteren Informationen fragen.
Get-EXOMailbox | Select DisplayName,PrimarySMTPAddress,Alias

Das liefert uns etwas nützlichere Informationen, nicht wahr? Lassen Sie uns nun einige Statistiken zur Postfachgröße mit dem Befehl Get-EXOMailboxStatistics abrufen. Hier führe ich zuerst diesen Befehl aus, um alle Postfächer zu sammeln, leite dies dann an ‚Get-EXOMailboxStatistics‘ mit seinen Standardattributen weiter und verwende erneut ‚ft‘, um es übersichtlich zu machen.
Get-EXOMailbox | Get-EXOMailboxStatistics | ft

Das gibt uns eine anständige Menge an Informationen über die Anzahl der Elemente und die Postfachgröße unserer Organisation. Es gibt viele andere Parameter, die Sie verwenden können, um spezifische Attribute von Ihren Konten und Postfächern abzurufen.
Wie verbinde ich mich über PowerShell mit MFA mit Exchange Online?
Glücklicherweise müssen Sie nichts Besonderes tun, um eine Verbindung herzustellen, wenn Ihr Konto durch eine Multi-Faktor-Authentifizierung geschützt ist (es sollte besser sein!). Wenn Sie den Befehl eingeben und PowerShell 7 oder höher verwenden, sehen Sie den browserbasierten Authentifizierungsbildschirm in meinem obigen Screenshot erscheinen.
Wenn Sie zufällig PowerShell 5.1 oder niedriger verwenden, sehen Sie das Standard-Modern-Authentifizierungsfenster geöffnet, in dem Sie Ihr Passwort eingeben und Ihre MFA-Anfrage erfüllen müssen.
Können Sie sich über PowerShell auf einem Mac mit Exchange Online verbinden?
Es gibt mehrere Möglichkeiten, PowerShell auf einem Mac zu installieren, aber der einfachste Weg ist die Verwendung der Direkt-Download-Links von der Website von Microsoft. Ab Version 7.2 unterstützt PowerShell Apple Silicon Macs.
Sobald Sie PowerShell auf Ihrem Mac mit macOS 11 Big Sur oder neuer installiert haben, können Sie die oben bereitgestellten Anweisungen verwenden, um eine Verbindung mit Exchange Online auf macOS herzustellen.
Zusätzliche Vorteile der Verwendung von Exchange Online PowerShell
Exchange Online PowerShell ist ein wertvolles Werkzeug für jeden IT-Profi/Administrator, der mehr Kontrolle über seine Exchange Online-Umgebung haben möchte.
Hier sind einige zusätzliche Vorteile der Verwendung von Exchange Online PowerShell:
- Es kann verwendet werden, um Prozesse mit Powershell-Skripten zu automatisieren, was Ihnen Zeit und Mühe mit Skripten sparen kann.
- Es kann verwendet werden, um Probleme zu beheben, was Ihnen helfen kann, Probleme schneller zu lösen.
- Es kann verwendet werden, um Ihre Exchange Online-Umgebung anzupassen, was sie effizienter und benutzerfreundlicher machen kann.
Wenn Sie Fragen oder Kommentare haben, hinterlassen Sie bitte unten einen Kommentar. Vielen Dank fürs Lesen!
Source:
https://petri.com/connect-to-exchange-online-powershell/