Exchange Kalender Berechtigungen zentral setzen
Es ist wohl eine der meistgenannten Anforderungen an Exchange Administratoren, dafür zu sorgen, dass alle Mitarbeiter sich gegenseitig in die Kalender schauen können. Das unterstützt Exchange zwar schon seit Jahren, allerdings ist seine Auskunftsfreudigkeit beschränkt, er begnügt sich da standardmäßig mit der Anzeige “Free/Busy”, d.h. ich sehe zwar, dass der Kollege einen Termin hat, mehr aber auch nicht. Das kann jetzt natürlich jeder Nutzer individuell für seine Kollegen einstellen bzw. freigeben, aber durchgängig ist das wahrlich nicht.
Abhilfe schafft ein kleines Powershell Script, das wie folgt aussieht:
#Import der Exchange Module #Exemplarisch für Exchange 2013 Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn; #Auslesen der Postfaecher und erstellen des Kalender Aliases $mailboxes = Get-Mailbox $mailboxes | foreach { $alias = $_.alias+":\Kalender" #Festlegen der Kalenderberechtigung für die entsprechende Gruppe Add-MailboxFolderPermission -Identity $alias -User 'WindowsGruppe' -AccessRights LimitedDetails }
Die Windows Gruppe ist entsprechend durch die gewünschte Gruppe zu ersetzen. Möchte man alle User gegenseitig berechtigen, bieten sich die Domänen-Benutzer an, es geht aber natürlich auch jede andere im AD vorhandene Gruppe.
Die Berechtigungsstufe kann entsprechend eingestellt werden, hier im Script gibt es exemplarisch die Berechtigungen “LimitedDetails”, d.h. ich sehe Betreff und Ort, mehr aber auch nicht. Eine Auflistung der einzelnen Berechtigungsmöglichkeiten findet sich bei Microsoft in der TechNet Dokumentation unter https://technet.microsoft.com/de-de/library/dd298062(v=exchg.150).aspx
Wenn man das ganze noch automatisieren möchte, baut man sich aus dem Powershell Script noch einen geplanten Task, der dann einmal am Tag läuft.
Hallo, vielen Dank für das Script. Leider hat es bei uns nicht für alle Postfächer funktioniert, da wir verschiedene Postfächer in verschiedenen Sprachvarianten (Deutsch, Englisch, Japanisch etc.) haben.
Ich habe das Script dahingehend verändert, daß die Kalenderberechtigungen sprachunabhängig gesetzt werden können:
#Import der Exchange Module
#Exemplarisch für Exchange 2013
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn;
#Auslesen der Postfaecher und erstellen des Kalender Aliases
$All = @()
$mailboxes = get-mailbox
foreach($Mailbox in $Mailboxes)
{
# Construct the full path to the calendar folder regardless of the language
$Calfolder = $Mailbox.alias + ‘:\’ + [string](Get-MailboxFolderStatistics $Mailbox.Identity | where-object {$_.foldertype -eq “calendar”}).Name
Set-MailboxFolderPermission -Identity $Calfolder -User Default -AccessRights LimitedDetails
Write-Host “Permissions on ” $Calfolder ” successfully set”
}