Довольно часто при аудите ящиков в организации Exchange Server или тенанте Microsoft 365 (Exchange Online) администратору нужно найти все ящики, к которым есть доступ у определенного пользователя. В этой статье мы рассмотрим несколько PowerShell скриптов для получения отчетов по доступам к ящикам и папкам в ящиках Exchange.
Для получения списка разрешений, назначенных на ящик используется командлет Get-MailboxPermission.
Откройте консоль PowerShell и подключитесь удаленно к своему on-prem Exchange Server или тенанту Microsoft 365 (Exchange Online).
Следующая команда выведет список пользователей, у которых есть права на указанный ящик:
get-mailboxpermission -identity [email protected] |ft -AutoSize
В данном примере видно, что у пользователей GradyA и HenriettaM есть полные права ( Full Access
) на ящик указанного пользователя. Данные права установлены вручную (не наследованы), т.к. IsInherited = False.
Можно вывести полный отчет по назначенным правам на ящики и представить его в виде удобной таблицы Out-GridView
Get-Mailbox | Get-MailboxPermission | where {$_.user.tostring() -ne "NT AUTHORITYSELF" -and $_.IsInherited -eq $false} | Out-GridView
С помощью следующей команды PowerShell вы можете найти и вывести список ящиков в вашей организации Exchange или тенанте, на которых у определенного пользователя есть полные права:
Get-Mailbox -ResultSize Unlimited | Get-MailboxPermission -User "HenriettaM" | ft User,Identity,AccessRights
В этом примере мы нашли, что у указанного пользователя есть полный доступ к трем ящикам (столбец Identity).
В Microsoft 365 можно использовать новые командлеты модуля Exchange Online PowerShell v2 (EXO V2) для получения такого списка:
Get-EXOMailbox -ResultSize Unlimited | Get-EXOMailboxPermission -Identity $_.Identity | Where-Object {$_.User -eq " [email protected] "}
Вы можете использовать фильтры по типу ящика. Это ускорит поиск. Для этого добавьте к команде Get-EXOMailbox или Get-Mailbox параметр – RecipientTypeDetails с типом ящиков, по которым выполнять поиск:
Например:
Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails SharedMailbox| Get-MailboxPermission -User "HenriettaM" | ft User,Identity,AccessRights
Найти ящики пользователей, на которые у определенного пользователя есть права SenAs:
Get-Mailbox -RecipientTypeDetails UserMailbox -ResultSize Unlimited | Get-RecipientPermission -Trustee HenriettaM
Также можно найти ящики с правами Send on behalf:
Get-Mailbox | ? {$_.GrantSendOnBehalfTo -match "HenriettaM"}
Кроме назначения прав на весь ящик в Exchange (Microsoft 365) можно предоставить доступ другому пользователя к конкретной папке. Например, только к папке Входящие или к Календарю . При аудите доступа пользователей иногда нужно найти не только ящики с правами FullAccess, но и конкретные папки в ящиках пользователей, на которые назначен доступ другим пользователям.
Вы можете вывести разрешения на конкретную папку с помощью командлета Get-MailboxFolderPermission , а с помощью Get-MailboxFolderStatistics можно получить список папок в указанном ящике.
Следующий PowerShell скрипт проверяет все ящики в вашей организации и выводит папки (включая вложенные), на которые дан доступ определенному пользователю.
$usertofind= "*Henrietta Mueller*"
$allpermissions = @()
$MBXs= Get-Mailbox -ResultSize Unlimited
Foreach ($MBX in $MBXs){
$MBXfolders=Get-MailboxFolderStatistics $MBX.PrimarySmtpAddress |select Name
Foreach ($MBXfolder in $MBXfolders){
try {
$folder=$MBX.PrimarySmtpAddress + ":" + $MBXfolder.name
$folderpermessions= Get-MailboxFolderPermission -Identity $folder -ErrorAction Stop | where {($_.user -like $usertofind)}
$allpermissions += $folderpermessions
}
catch {
Continue
}
}
}
$allpermissions | select IdentityFolderNameUser
Если говорить о том, какие лучшие дистрибутивы Linux мы знаем, то этот список может быть…
Хотя Ubuntu и поставляется со встроенным обозревателем Firefox многие пользователи считают что это не самая…
Что такое Remmina? Remmina — это совершенно бесплатный и свободный клиент так называемого удаленного рабочего…
Как мы знаем, Ubuntu это самая популярная сборка из систем на базе ядра Linux. У…
Выбор ноутбука для каждого пользователя это довольно кропотливый процесс. Люди стараются подобрать ноутбук который будет…
Если вы решили ознакомиться с операционной системой Linux более детально и задались вопросом как установить…