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