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.

Verwandte Artikel