Script: Export Calendar Permissions

Hallo zusammen,

Ich habe mir ein Powershell Script geschrieben, um die Kalenderberechtigungen von Benutzern einer CSV Liste zu exportieren. Ich habe das unter Exchange 2010 getestet und natürlich wird dazu die Exchange Management Shell benötigt.

###############################################################################
# ExportCalendarPermissions
# Version 1.0 / 29.08.2012
# Andres Bohren / www.icewolf.ch / blog.icewolf.ch / info@icewolf.ch
###############################################################################


$logpath = "T:\Visual Basic\PowerShell\ExportCalendarPermissions\ExportCalendarPermissions.log"
$sw = new-object system.IO.StreamWriter($LogPath, 1)
$mbx = Import-Csv "T:\Visual Basic\PowerShell\ExportCalendarPermissions\ExportCalendarPermissions.csv"
 
ForEach ($Mailbox in $mbx)
{
 $Cal = Get-MailboxFolderStatistics -Identity $Mailbox.Email | Where {$_.Foldertype -eq "Calendar"} | select folderpath
 $NormalizedFolder = $Cal.FolderPath.Replace("/","\")
 $NormalizedIdentity = $Mailbox.Email + ":" + $NormalizedFolder
 Write-Host $NormalizedIdentity -foregroundcolor Green
 $sw.writeline($NormalizedIdentity)
   
 $permissions = get-mailboxfolderpermission -identity $NormalizedIdentity | select foldername, User, AccessRights
   
     Foreach ($permission in $permissions)
 {
         Write-host ($permission.foldername + " | " + $permission.user + " | " + $permission.AccessRights )
  $sw.writeline($permission.foldername + " | " + $permission.user + " | " + $permission.AccessRights )
 }
}
 

#Close File
$sw.close()

Und so sieht es aus wenn das Script läuft.

Und so sieht der Output dann aus...

Grüsse
Andres Bohren