Site icon Frankys Web

Exchange 2019: Ressourcenpostfächer mit PowerShell erstellen

Leider bietet Exchange 2019 nur wenige Einstellungen zu Ressourcenpostfächer (Raum- und Gerätepostfächern) im Exchange Administrative Center. Viele Einstellungen zu Buchungsberechtigungen oder Kalendereinstellungen lassen sich nur über die Exchange Management Shell verwalten.

Ressourcenpostfächer mit der Exchange Management Shell erstellen

Mit kleinen PowerShell Scripten lassen sich Ressourcenpostfächer schnell und immer nach dem gleichen Schema anlegen. Hier mal zwei Beispiele für ein Raum- und ein Gerätepostfach. Diese beiden Fälle wurden öfters durch Leser angefragt. Zum einen soll ein Besprechungsraum nur durch bestimmte Personen buchbar sein. Ein Gerätepostfach, welches als Urlaubskalender verwendet wird, soll die Buchung von mehreren Personen gleichzeitig akzeptieren.

Raumpostfächer

Raumpostfächer lasen sich mittels der Exchange Management Shell auf einfache Art und Weise anlegen. Es genügt eine Zeile um einen Raumpostfach zu erzeugen:

New-Mailbox -Alias ITRoom1 -Name "IT Besprechungsraum" -Room

Das neu erstellte Raumpostfach „IT Besprechungsraum“ hat nun die folgenden Kalendereinstellungen:

Die Standard Einstellung zu „AutomateProcessing“ sind aber nicht ideal, denn der Raum soll ja valide Buchungsanfragen automatisch annehmen. Wenn nun aber die Einstellung zu „AutomateProcessing“ von „AutoUpdate“ zu „AutoAccept“ umgestellt wird, akzeptiert das Raumpostfach von allen Exchange Benutzern Buchungsanfragen.

Mit dem folgenden Befehl akzeptiert das Raumpostfach automatisch nur noch Buchungsanfragen von Mitgliedern der Gruppe „IT_Department“:

Set-CalendarProcessing ITRoom1 -AutomateProcessing AutoAccept -BookInPolicy IT_Department -AllBookInPolicy $false

Die jeweils nötigen Einstellungen für Raumpostfächer können mittels einem kleinem PowerShell Script automatisiert werden:

$RoomMailboxName = "Marketing Besprechungsraum"
$RoomMailboxAlias = "Marketing_Besprechungsraum"
$RaumMailboxBookInPolicy = "Marketing_Department"

$NewRoomMailbox = New-Mailbox -Alias $RoomMailboxAlias -Name $RoomMailboxName -Room
$NewRoomMailbox | Set-CalendarProcessing -AutomateProcessing AutoAccept -BookInPolicy $RaumMailboxBookInPolicy -AllBookInPolicy $false
Get-CalendarProcessing $NewRoomMailbox | fl

Mit diesem einfachen Beispiel wird ein Raumpostfach mit dem Anzeigenamen „Marketing Besprechungsraum“ und dem Alias „Marketing_Besprechungsraum“ erzeugt. Dann wir der Verteilergruppe „Marketing Department“ die Buchungsberechtigung zugewiesen. So dürfen nur noch Mitglieder der Gruppe „Marketing Department“ den Raum buchen:

Weitere Parameter lassen sich einfach in dem Script ergänzen und nach den eigenen Anforderungen anpassen. Beispielsweise akzeptiert das Raumpostfach in der Standardeinstellung nur Buchungsanfragen, welche 24 Stunden nicht überschreiten (MaximumDurationInMinutes=1440). Wenn längere Zeiträume akzeptiert werden sollen, kann das Script beispielsweise wie folgt geändert werden:

$RoomMailboxName = "Marketing Besprechungsraum"
$RoomMailboxAlias = "Marketing_Besprechungsraum"
$RaumMailboxBookInPolicy = "Marketing_Department"

$NewRoomMailbox = New-Mailbox -Alias $RoomMailboxAlias -Name $RoomMailboxName -Room
$NewRoomMailbox | Set-CalendarProcessing -AutomateProcessing AutoAccept -BookInPolicy $RaumMailboxBookInPolicy -AllBookInPolicy $false -MaximumDurationInMinutes 7200
Get-CalendarProcessing $NewRoomMailbox | fl

Auf diese Art lässt sich jeder Parameter zu den Kalendereinstellungen in einem Schritt ändern. Raumpostfächer können somit nach immer dem gleichen Schema angelegt werden.

Gerätepostfächer

Gerätepostfächer lassen sich auf die gleiche Art und Weise wir Raumpostfächer einrichten, diese benötigen aber oft etwas andere Einstellungen. Oft werden Gerätepostfächer für alle Arten von Kalendern benutzt, nicht nur Geräte wie Beamer oder Fahrzeuge, sondern auch häufig für Urlaubskalender.

Ein Gerätepostfach lässt sich über den folgenden Befehl anlegen:

New-Mailbox -Alias Urlaubskalender -Name "Urlaubskalender" -Equipment

Auch hier sind die Buchungseinstellungen meistens nicht ideal, zum Beispiel soll der Kalender ja Buchungsanfragen direkt akzeptieren und im Falle eines Urlaubskalenders auch die Buchung von mehreren Personen gleichzeitig zulassen. Außerdem sind längere Buchungszeiträume bei einem Urlaubskalender üblich. Wie auch schon bei Raumpostfächern lassen sich daher die Einstellungen anpassen:

Set-CalendarProcessing Urlaubskalender -AutomateProcessing AutoAccept -MaximumDurationInMinutes 40230 -AllowConflicts $true

Auch diese Einstellungen lassen sich mit einem kleinen PowerShell Script wieder automatisieren. Wenn gewünscht kann auch hier wieder die Buchung auf bestimmte Gruppen eingeschränkt werden. Hier mal ein Beispiel:

$EquipmentMailboxName = "Urlaubskalender Marketing"
$EquipmentMailboxAlias = "Urlaub_Marketing"
$EquipmentMailboxBookInPolicy = "Marketing_Department"

$NewEquipmentMailbox = New-Mailbox -Alias $EquipmentMailboxAlias -Name $EquipmentMailboxName -Room
$NewEquipmentMailbox | Set-CalendarProcessing -AutomateProcessing AutoAccept -MaximumDurationInMinutes 40230 -AllowConflicts $true -BookInPolicy $EquipmentMailboxBookInPolicy
Get-CalendarProcessing $NewEquipmentMailbox | fl

Diese kleinen Scripte lassen sich beispielsweise auf dem Exchange Server speichern und können bei Bedarf leicht angepasst und ausgeführt werden.

Exit mobile version