Die Verwaltung von Microsoft 365 (ehemals Office 365) erfordert häufig PowerShell für Massenoperationen, Automatisierung und den Zugriff auf Einstellungen, die im Admin Center nicht verfügbar sind. Diese Anleitung behandelt die moderne Verbindungsmethode mit dem ExchangeOnlineManagement-Modul sowie die Verbindung zu anderen Microsoft 365-Diensten.
Wichtig: Microsoft hat die Basic Authentication für Exchange Online im Oktober 2022 eingestellt. Die alte
New-PSSession-Methode funktioniert nicht mehr. Verwenden Sie die unten beschriebene moderne Modul-Methode.
Voraussetzungen
- Windows PowerShell 5.1 oder PowerShell 7+
- Microsoft 365-Administratorkonto
- Internetverbindung
- PowerShellGet-Modul (in Windows 10/11 und Server 2016+ enthalten)
Installation der erforderlichen Module
Exchange Online Management-Modul
# Modul installieren (PowerShell als Administrator ausführen)
Install-Module -Name ExchangeOnlineManagement -Force -AllowClobber
# Oder aktualisieren, falls bereits installiert
Update-Module -Name ExchangeOnlineManagement
# Installation überprüfen
Get-Module -Name ExchangeOnlineManagement -ListAvailable
Weitere nützliche Microsoft 365-Module
# Microsoft Graph (ersetzt AzureAD- und MSOnline-Module)
Install-Module -Name Microsoft.Graph -Force
# Microsoft Teams
Install-Module -Name MicrosoftTeams -Force
# SharePoint Online
Install-Module -Name Microsoft.Online.SharePoint.PowerShell -Force
Verbindung zu Exchange Online
Standardverbindung (mit MFA-Unterstützung)
# Modul importieren
Import-Module ExchangeOnlineManagement
# Verbinden — öffnet ein Browserfenster zur Authentifizierung
Connect-ExchangeOnline -UserPrincipalName admin@ihredomain.com
Ein Browserfenster öffnet sich zur Authentifizierung. Geben Sie Ihr Passwort ein und schließen Sie die MFA-Abfrage ab.
Verbindung ohne Browseraufforderung
Für automatisierte Skripte in Umgebungen ohne Browser:
# Zertifikatsbasierte Authentifizierung (empfohlen für Automatisierung)
Connect-ExchangeOnline -CertificateThumbprint "THUMBPRINT" `
-AppId "APP-ID" `
-Organization "ihredomain.onmicrosoft.com"
Verbindung zu einem bestimmten Mandanten (für Partner/MSPs)
Connect-ExchangeOnline -UserPrincipalName admin@partner.com `
-DelegatedOrganization "kunden-mandant.onmicrosoft.com"
Häufige Verwaltungsaufgaben
Nach der Verbindung können Sie Exchange Online-Cmdlets ausführen:
Postfachverwaltung
# Alle Postfächer auflisten
Get-EXOMailbox -ResultSize Unlimited | Select-Object DisplayName, PrimarySmtpAddress
# Bestimmtes Postfach abrufen
Get-EXOMailbox -Identity "benutzer@ihredomain.com" | Format-List
# Postfachstatistiken abrufen (Größe, Elementanzahl)
Get-EXOMailboxStatistics -Identity "benutzer@ihredomain.com" |
Select-Object DisplayName, TotalItemSize, ItemCount
# Postfacheigenschaften festlegen
Set-Mailbox -Identity "benutzer@ihredomain.com" -MaxReceiveSize 50MB
Verteilergruppen
# Alle Verteilergruppen auflisten
Get-DistributionGroup -ResultSize Unlimited
# Mitglieder einer Gruppe abrufen
Get-DistributionGroupMember -Identity "vertrieb@ihredomain.com"
# Mitglied hinzufügen
Add-DistributionGroupMember -Identity "vertrieb" -Member "neuerbenutzer@ihredomain.com"
Nachrichtenflussregeln (Transportregeln)
# Alle Transportregeln auflisten
Get-TransportRule | Select-Object Name, State, Priority
# Regel deaktivieren
Disable-TransportRule -Identity "Regelname"
Verbindung zu anderen Microsoft 365-Diensten
Microsoft Graph (Benutzer, Gruppen, Lizenzen)
Import-Module Microsoft.Graph
# Mit bestimmten Berechtigungen verbinden
Connect-MgGraph -Scopes "User.Read.All", "Group.ReadWrite.All"
# Alle Benutzer auflisten
Get-MgUser -All | Select-Object DisplayName, UserPrincipalName, AccountEnabled
# Lizenzinformationen abrufen
Get-MgSubscribedSku | Select-Object SkuPartNumber, ConsumedUnits,
@{N='Total';E={$_.PrepaidUnits.Enabled}}
Microsoft Teams
Import-Module MicrosoftTeams
Connect-MicrosoftTeams
# Alle Teams auflisten
Get-Team | Select-Object DisplayName, GroupId, Visibility
Sitzungen trennen
Trennen Sie die Verbindung immer am Ende, um Ressourcen freizugeben:
# Exchange Online trennen
Disconnect-ExchangeOnline -Confirm:$false
# Microsoft Graph trennen
Disconnect-MgGraph
# Teams trennen
Disconnect-MicrosoftTeams
Veraltete Methode (funktioniert nicht mehr)
Als historische Referenz: Dies war die alte Verbindungsmethode. Sie funktioniert seit Oktober 2022 nicht mehr, als Microsoft die Basic Authentication deaktivierte:
# VERALTET — NICHT VERWENDEN
$cred = Get-Credential
$session = New-PSSession -ConfigurationName Microsoft.Exchange `
-ConnectionUri https://ps.outlook.com/powershell/ `
-Credential $cred -Authentication Basic -AllowRedirection
Import-PSSession $session -Prefix o365
Falls Sie noch Skripte mit dieser Methode haben, aktualisieren Sie sie auf Connect-ExchangeOnline.
Fehlerbehebung
Modul nicht gefunden
# Zuerst PowerShellGet aktualisieren
Install-Module -Name PowerShellGet -Force
# Dann ExchangeOnlineManagement erneut installieren
Zugriff verweigert
Stellen Sie sicher, dass Ihr Konto die erforderlichen Administratorrollen hat:
- Exchange Administrator für Postfachverwaltung
- Global Administrator für vollständigen Zugriff
- Security Administrator für Compliance-Funktionen
Verbindungstimeout hinter einem Proxy
Connect-ExchangeOnline -UserPrincipalName admin@ihredomain.com `
-PSSessionOption (New-PSSessionOption -ProxyAccessType IEConfig)
Zusammenfassung
Die moderne Methode zur Verwaltung von Microsoft 365 über PowerShell ist das ExchangeOnlineManagement-Modul mit Connect-ExchangeOnline. Es unterstützt MFA, wird von Microsoft aktiv gepflegt und ersetzt die veraltete Basic-Authentication-Methode. Für die Benutzer- und Gruppenverwaltung außerhalb von Exchange verwenden Sie das Microsoft.Graph-Modul.