Skip to the main content.

ScriptRunner Blog

Microsoft Exchange mit PowerShell managen

Inhaltsverzeichnis

 

 

Post Featured Image

Die Automatisierung wiederkehrender Microsoft Exchange- und Exchange Online-Aufgaben mit PowerShell ist für IT-Experten und Systemtechniker von entscheidender Bedeutung. In diesem Artikel untersuchen wir sechs PowerShell-Anwendungsfälle zur Verwaltung von Microsoft Exchange.

Microsoft Exchange und Exchange Online sind nach wie vor ein wichtiger Dreh- und Angelpunkt für E-Mail, Kalender und Kontakte in vielen Unternehmen. Da Exchange-Umgebungen immer komplexer werden, suchen Administratoren nach Hilfsmitteln, die Verwaltungsaufgaben optimieren können. PowerShell mit seiner leistungsstarken Befehlszeilenoberfläche und Skriptsprache bietet eine robuste Lösung zur effizienteren Verwaltung von Exchange (Online) als herkömmliche grafische Benutzeroberflächen (GUIs). 

 

Warum PowerShell zur Verwaltung von Microsoft Exchange verwenden?


  • Automation: PowerShell-Skripte automatisieren sich wiederholende Aufgaben, sorgen für Konsistenz und sparen Zeit.
  • Zugriff auf eine Vielzahl von Funktionen: Einige Exchange-Einstellungen und -Funktionen sind nur über PowerShell zugänglich und bieten mehr Kontrolle über das System.
  • Batch-Vorgänge: PowerShell ermöglicht die Stapelverarbeitung von Aufgaben, z. B. das gleichzeitige Aktualisieren mehrerer Postfächer, was über grafische Benutzeroberflächen umständlich ist.
  • Remote-Management: Administratoren können Exchange-Umgebungen per Fernzugriff über PowerShell verwalten, was für die Administration von Servern an mehreren Standorten unerlässlich ist.
  • Integration: PowerShell-Skripte können in andere Systeme und Dienste integriert werden und bieten so einen einheitlichen Ansatz für die IT-Verwaltung.

Betrachten wir einige praktische Anwendungsfälle für die Microsoft Exchange PowerShell-Automatisierung.

 

Cmdlet 1: Get-Mailbox

Get-Mailbox ruft Informationen über Postfächer in deiner Exchange (Online)-Umgebung ab.

Mit diesem Einzeiler kannst du die Postfacheinstellungen und den Postfachstatus in der gesamten Organisation schnell überprüfen:

Get-Mailbox -ResultSize Unlimited | Format-Table DisplayName, ServerName, ProhibitSendQuota 

 

Cmdlet 2: Get-EXOMailbox

Get-EXOMailbox ist nur in Exchange Online verfügbar.  Es liefert Details zu den Eigenschaften und Einstellungen von Exchange Online-Postfächern. Das folgende Beispiel kombiniert Get-EXOMailbox mit dem Cmdlet Get-EXOMailboxStatistics und zeigt die 10 größten Postfächer in der Umgebung an.


Get-EXOMailbox -ResultSize Unlimited | Get-EXOMailboxStatistics | Sort-Object TotalItemSize -Descending | Select-Object DisplayName,TotalItemSize -First 10

 

Cmdlet 3: Set-Mailbox

Das Cmdlet Set-Mailbox dient dazu, Postfächereigenschaften zu konfigurieren. Du kannst mehr als 130 Postfacheinstellungen ändern, wie zum Beispiel Quoten oder Berechtigungen. Die folgenden Codebeispiele enthalten den Parameter -WhatIf. Damit kannst du die Ergebnisse zunächst simulieren und testen.

 Get-User | where {$_.Department -eq "Sales"} | Get-Mailbox | Set-Mailbox -ProhibitSendQuota 5GB -ProhibitSendReceiveQuota 5GB -IssueWarningQuota 4GB -Whatif 

 

Cmdlet 4: Get-DistributionGroup

Du möchtest vorhandene Verteilergruppen finden? Dann ist Get-DistributionGroup das richtige Cmdlet. Das folgende Beispiel zeigt alle Attribute von Verteilergruppen, die den Namen „Consulting“ enthalten.

Get-DistributionGroup -Filter {name -like "*Consulting*"} |Select-Object * |Out-GridView

 

 

Cmdlet 5: New-Mailbox

Mit New-Mailbox kannst du eine oder mehrere Exchange-Postfächer erstellen. Hier ist ein Beispiel, um neue Postfächer basierend auf einer CSV-Datei zu erstellen. 

$mbxs = Import-Csv 'C:\users.csv'
Foreach ($mbx in $mbxs) {
New-Mailbox -Name $mbx.DisplayName -DisplayName $mbx.DisplayName -MicrosoftOnlineServicesID $mbx.UserPrincipalName -Password (ConvertTo-SecureString -String 'YourPassword' -AsPlainText -Force) -ResetPasswordOnNextLogon $true -MailboxPlan 'MailboxPlan'
}

 

Cmdlet 6: Set-MailboxAutoReplyConfiguration

Verwende das Cmdlet Set-MailboxAutoReplyConfiguration, um Abwesenheitsbenachrichtigungen für deine Benutzer zu aktivieren. Es ermöglicht dir, Nachrichten für eine unbegrenzte Zeit zu aktivieren oder sie für einen bestimmten Zeitraum zu planen.

$autoReplyParams = @{
Identity = "john@doe.com"
AutoReplyState = "Enabled"
ExternalMessage = "Hello, I'm currently not in the office."
InternalMessage = "Hello colleague, I'm currrently not in the office"
}
Set-MailboxAutoReplyConfiguration @autoReplyParams

 

Fazit

Die Verwendung von PowerShell für die Verwaltung von Exchange, ob On-Premises oder Online, bietet ein hohes Maß an Effizienz, Flexibilität und Kontrolle. Die oben aufgeführten Cmdlets sind grundlegende Werkzeuge für Administratoren, um eine Vielzahl von Aufgaben effektiver als über grafische Benutzeroberflächen zu erledigen. Durch die Beherrschung dieser Cmdlets können Administratoren sicherstellen, dass ihre Exchange-Umgebungen gut verwaltet, sicher und auf die Anforderungen ihrer Organisation zugeschnitten sind. Erfahre mehr über die Verwaltung von Exchange (Online) mit PowerShell in unserem Webinar "Exchange (Online) Administration mit PowerShell automatisieren".

 

Good2know

Webinar:

Exchange (Online) Administration mit PowerShell automatisieren

Sei dabei in unserem Webinar und erfahre, wie PowerShell dazu beiträgt, die Verwaltung von Exchange Online effizienter und zeitsparender zu gestalten.

Egal, ob du Anfänger oder erfahrener Administrator bist: Du wirst praktische Tipps und Skripte lernen, um deine täglichen Aufgaben zu vereinfachen, Prozesse zu automatisieren und die Leistung deines Systems zu verbessern.

Vereinfache deine Arbeitsprozesse, steigere die Produktivität und erschließe neue Potenziale mit den Fähigkeiten von PowerShell.

Nutze diese Gelegenheit, um dein Exchange Online Management auf die nächste Stufe zu heben!

Exchange Online Deutsch Website

 

In diesem Webinar zeigen wir, wie du:

  • Wie du deinem Service-Desk-Team eine sichere, PowerShell-gesteuerte Postfachverwaltung durch eine intuitive Web-Oberfläche ermöglichst
  • Gewähre die Ausführung bestimmter Skripte, ohne administrative Berechtigungen vergeben zu müssen und damit eine sichere Umgebung zu gewährleisten
  • Vereinfache dein PowerShell-Management mit zentralisierter Planung und Überwachung
  • Steigere die Effizienz deines Exchange-Managements mit unseren vorgefertigten Skripten zur Optimierung deiner Prozesse und Aufgaben

 

Fordere hier die Webinar-Aufzeichnung an!

 

 

Weiterführende Links

Über den Autor: