Exchange Kalender aller Benutzer gegenseitig freigeben

Exchange Kalender aller Benutzer gegenseitig freigeben

Kann man eigentlich…?

Sätze, die so beginnen und auch noch im Zusammenhang mit Exchange stehen, endeten früher sehr oft in einer wilden Klickerei. Heute eher in einem kleinen Powershell Script, das die Aufgabe schnell erledigt. Auch dem „Oh den hier hab ich vergessen“-Faktor kann man damit besser zu Leibe rücken.

In diesem Fall erhielten wir den „Kann man“-Anruf eines Kunden, der die Kalender jedes Benutzers zur Einsicht für jeden anderen Benutzer freigeben wollte. Anstatt nun zig Benutzer gegenseitig Kalenderfreigaben und Einladungen versenden zu lassen, hielten wir es für besser, einfach die Standardberechtigung der Kalender zu ändern.

Per Default wird ein Kalender mit der Berechtigung „ AvailabilityOnly“ (Frei/Gebucht) angelegt.

exc1.png

Dieses Recht ist notwendig, damit die Outlook Terminplanung funktioniert. Leider kann man die Details der Termine nicht sehen, was in diesem Fall allerdings gewünscht war. Aus diesem Grund setzten wir die Standardberechtigung per Script auf „Reviewer“ (Prüfer):

# Powershell Snapin für Exchange laden. Hier 2010
if (-not (Get-PSSnapin | Where-Object {$_.Name -like Microsoft.Exchange.Management.PowerShell.E2010"})){

Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010
}

# Datenbank und neue Berechtigung festlegen
$mailboxes = Get-Mailbox -Database "Mailbox Database 01"
$AccessRights = "Reviewer"

# Für jede Mailbox
foreach ($mailbox in $mailboxes) {

# Kalenderobjekt für Mailbox erstellen
$calendar = (($mailbox.SamAccountName)+ ":\" + (Get-MailboxFolderStatistics -Identity $mailbox.SamAccountName -FolderScope Calendar | Select-Object -First 1).Name)

# Überprüfen, ob die Standardberechtigung den Standard 'AvailabilityOnly' hat

if (((Get-MailboxFolderPermission $calendar | Where-Object {$_.User -like "Standard"}).AccessRights) -like "AvailabilityOnly" ) {

$mbType = (Get-Mailbox $mailbox.SamAccountName| Select-Object -First 1).RecipientTypeDetails

# Überprüfen, ob es sich um eine Benutzermailbox handelt
if ( $mbType -match "UserMailbox" )
{
# Neue Berechtigung setzten
Write-Host "Updating calendar permission for $mailbox..." -ForegroundColor Yellow
Set-MailboxFolderPermission -User "Standard" -AccessRights $AccessRights -Identity $calendar
}
}
}

Nach dem Durchlauf des Scripts sieht die Berechtigung des Kalenders so aus:

exc2.png

Der Kalender kann nun eingesehen und Termindetails angezeigt werden. Das Ganze lassen wir nun einmal täglich ausführen – um sicher zu gehen, dass neu erstellte Benutzermailboxen über die gleichen Berechtigungstufen verfügen.

Eine Übersicht weiterer Berechtigungsstufen (zum Beispiel zum Schreiben) finden Sie hier http://office.microsoft.com/en-us/outlook-help/outlook-folder-permissions-HP005242287.aspx

Ihr Steffen Becker

Newsletter

Wir halten Sie gerne auf dem Laufenden.
Abonnieren Sie unseren Newsletter.
Senden Sie uns einfach eine E-Mail an news@movetech.net

Kontaktieren Sie uns:

logo_w200

Auguste-Viktoria-Str. 3

D-61231 Bad Nauheim

Telefon: +49 (0) 6032 - 9265-0

E-Mail: kontakt@movetech.net

© 2020 movetech

Impressum   |   Datenschutz   |   Kontakt