Skip to content

Powershell: list Exchange 2010 personal mailbox folders permissions

16.01.2013

Скрипт перечисляет текущие права доступа к папкам в почтовых ящиках пользователей. На выходе — .csv-файл в формате «ящик; папка; аккаунт; права доступа».

Как видно из текста, здесь обходится ограничение апплета Get-MailboxFolder, не позволяющее перечислить перечень папок в ящиках, где запускающий не является owner, причем использование этого апплета здесь было бы более чем очевидно. Вместо него используется Get-MailboxFolderStatistics. Ну а само ограничение описано здесь. Запускать нужно в Exchange Management Shell.

Import-Module ActiveDirectory -ErrorAction SilentlyContinue
Write-Host "Reading mailboxes..."
$AllMailboxes = Get-Mailbox -ResultSize Unlimited
Write-Host "Mailbox;FolderPath;User;Permissions"
$Counter1 = 0
$AllMailboxes | % {
 $Counter1++
 $PercentComplete = (($Counter1 / $AllMailboxes.Count)*100)
 Write-Progress -Activity "Working hard!" -Status "Complete: $([Math]::Round($PercentComplete,1))%" -PercentComplete $PercentComplete
 $CurrentMailbox = $_
 $CurrentFolderArray = Get-MailboxFolderStatistics $CurrentMailbox | select FolderPath
 $CurrentFolderArray | % {
 $CurrentFolderPath = $_.FolderPath
 $CurrentFolderPermissions = Get-MailboxFolderPermission "$($CurrentMailbox.Alias):$($_.FolderPath.Replace('/','\'))" -ErrorAction SilentlyContinue
 $CurrentFolderPermissions | % {
 if ($_.User) { $CurrentADUser = Get-ADUser -Filter 'name -like $_.User' -ErrorAction SilentlyContinue }
 if (($($_.User)) -AND ($CurrentADUser) -AND ($CurrentADUser -ne $null) -AND ($_.AccessRights -ne "None") -AND ($_.User.ToString() -ne "Anonymous") -AND ($_.User.ToString() -ne "Default") -AND ($_.User.DisplayName -ne $CurrentMailbox.DisplayName)) {
 $OutResult = "$($CurrentMailbox.DisplayName);$CurrentFolderPath;$($_.User);$($_.AccessRights)"
 $OutResult
 $OutResult | Out-File "c:\result.csv" -Append
 }
}
 }
 Remove-Variable CurrentADUser,CurrentFolderArray,CurrentMailbox,CurrentFolderPath,CurrentFolderPermissions
}
Реклама

From → Exchange, Powershell

Добавить комментарий

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: