Wie man sich über PowerShell mit Exchange Online verbindet

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!

Werbung

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.

Werbung

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!

Set-ExecutionPolicy RemoteSigned
  • Als nächstes führen Sie den Befehl Get-Module aus, um zu überprüfen, welche Module installiert sind.
Get-Module
Running Get-Module to see what modules are installed (Image credit: Petri/Michael Reinders)
  • 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
Running Connect-ExchangeOnline to connect to my tenant (Image credit: Petri/Michael Reinders)

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.

Werbung

  • 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
After importing the module, we confirm it is installed and loaded (Image credit: Petri/Michael Reinders)

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.

Connect-ExchangeOnline -userprincipalname
Connecting to my tenant prompts in-browser authentication (Image credit: Petri/Michael Reinders)
  • 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.
We’re connected and ready to enter cmdlets (Image credit: Petri/Michael Reinders)

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
Using Get-EXOMailbox to list our mailboxes (Image credit: Petri/Michael Reinders)

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
Listing additional attributes with the ‘Select’ command (Image credit: Petri/Michael Reinders)

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
Mailbox statistics are a cmdlet away – Get-EXOMailboxStatistics (Image credit: Petri/Michael Reinders)

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/