Verbindung herstellen
# Exchange Online Management Modul installieren
Install-Module -Name ExchangeOnlineManagement -Force
# Verbinden (Browser-Login)
Connect-ExchangeOnline -UserPrincipalName [email protected]
# Verbinden mit MFA
Connect-ExchangeOnline -UserPrincipalName [email protected] -ShowProgress $true
# Status prüfen
Get-ConnectionInformation
Postfach-Verwaltung
# Alle Postfächer anzeigen
Get-Mailbox -ResultSize Unlimited | Select DisplayName,PrimarySmtpAddress,MailboxType
# Postfach-Größe je User
Get-MailboxStatistics -Identity [email protected] | Select DisplayName,TotalItemSize,ItemCount
# Alle Postfächer > 90% Quota
Get-Mailbox -ResultSize Unlimited | ForEach-Object {
Get-MailboxStatistics $_ | Where-Object {$_.DeletedItemCount -gt 0}
} | Select DisplayName,TotalItemSize
# Weiterleitungsregel entfernen (Sicherheits-Audit)
Get-Mailbox -ResultSize Unlimited |
Where-Object {$_.ForwardingSmtpAddress -ne $null} |
Select DisplayName,ForwardingSmtpAddress
# Alle Weiterleitungen deaktivieren
Get-Mailbox -ResultSize Unlimited |
Where-Object {$_.ForwardingSmtpAddress -ne $null} |
Set-Mailbox -ForwardingSmtpAddress $null
Shared Mailbox Verwaltung
# Neue Shared Mailbox
New-Mailbox -Shared -Name "Info" -DisplayName "Info Firma" -Alias info
# Benutzer Zugriff geben
Add-MailboxPermission -Identity [email protected] -User [email protected] -AccessRights FullAccess -InheritanceType all
# SendAs Berechtigung
Add-RecipientPermission -Identity [email protected] -Trustee [email protected] -AccessRights SendAs
# Alle Shared Mailbox Berechtigungen anzeigen
Get-MailboxPermission -Identity [email protected] | Where-Object {$_.IsInherited -eq $false}
Verteilerlisten
# Alle Mitglieder einer Gruppe
Get-DistributionGroupMember -Identity "[email protected]" | Select Name,PrimarySmtpAddress
# Mitglied hinzufügen
Add-DistributionGroupMember -Identity "[email protected]" -Member "[email protected]"
# Mitglied entfernen
Remove-DistributionGroupMember -Identity "[email protected]" -Member "[email protected]"
# Externe E-Mails an Gruppe erlauben
Set-DistributionGroup -Identity "[email protected]" -RequireSenderAuthenticationEnabled $false
Transportregeln (Mail Flow Rules)
# Alle Regeln anzeigen
Get-TransportRule | Select Name,Priority,State | Sort-Object Priority
# Regel: Disclaimer an alle ausgehenden E-Mails
New-TransportRule -Name "Disclaimer-Ausgehend" `
-FromScope InOrganization `
-SentToScope NotInOrganization `
-ApplyHtmlDisclaimerLocation Append `
-ApplyHtmlDisclaimerText "<hr><p>Diese E-Mail ist vertraulich...</p>" `
-ApplyHtmlDisclaimerFallbackAction Wrap
# Regel: Anhänge blockieren (> 25 MB)
New-TransportRule -Name "Block-Grosse-Anhaenge" `
-AttachmentSizeOver 25MB `
-RejectMessageEnhancedStatusCode 5.7.1 `
-RejectMessageReasonText "Anhang zu groß (max. 25 MB)"
Audit und Compliance
# Postfach-Audit aktivieren
Set-Mailbox -Identity [email protected] -AuditEnabled $true
# Admin-Audit-Log abfragen
Search-AdminAuditLog -StartDate (Get-Date).AddDays(-7) -EndDate (Get-Date) -ResultSize 100 |
Select CreationDate,UserFriendlyName,CmdletName,Parameters
# Postfach-Zugriffe der letzten 7 Tage
Search-MailboxAuditLog -Identity [email protected] -LogonTypes Admin,Delegate -StartDate (Get-Date).AddDays(-7)
FAQ
Wie verbinde ich mich ohne interaktiven Login (für Automation)?
Service Principal mit Certificate Authentication: Connect-ExchangeOnline -AppId xxx -CertificateThumbprint yyy -Organization firma.onmicrosoft.com
Fazit
Exchange Online PowerShell ist unersetzlich für Massen-Operationen, Auditing und Automatisierung. Das EXO V3 Modul ist schnell und stabil.
Microsoft 365 Administration für KMU in Heidelberg, Mannheim und der Rhein-Neckar-Region. M365-Beratung anfragen.