Удалите разрешения полного доступа всех отключенных пользователей в общих почтовых ящиках с помощью оболочки управления обменом

Я ищу сценарий обмена PowerShell для удаления разрешений полного доступа всех отключенных пользователей на все общие почтовые ящики в определенном подразделении.

Это то, что я получил до сих пор

Remove-MailboxPermission -Identity Sharedmailbox -AccessRights Fullaccess -InheritanceType all -user DisabledUser -Confirm:$false | where {$_.UseraccountControl -like "*accountdisabled*"}

Кажется, он работает, но я не уверен насчет последнего фрагмента хет-скрипта, если он проверит "accountdisabled"

Затем я создал переменную, чтобы она проверила только одну конкретную OU

$ou = Get-ADUser -SearchBase "OU=Functional Mailboxes,OU=Generalaccounts,DC=DOMAIN,DC=COM" -Filter * foreach ($user in $ou)

Remove-MailboxPermission -Identity "$ou" -AccessRights Fullaccess -InheritanceType all -Confirm:$false | where {$_.UseraccountControl -like "*accountdisabled*"}

Скрипт проверяет правильную OU, но я все еще ищу последнюю часть, где он автоматически удалит разрешения полного доступа ТОЛЬКО для отключенных пользователей.

Может кто-нибудь показать мне путь?

1 ответ

Вместо того, чтобы пытаться отследить для отключенных пользователей после удаления разрешений почтового ящика (что является вашим Remove-MailboxPermission ... | Where-Object ... Похоже, что он предназначен для этого - за исключением того, что, как вы написали, он проверяет только отключенное состояние после удаления разрешений), попробуйте сначала выбрать для отключенных учетных записей, а затем передать только отключенные учетные записи Remove-MailboxPermission:

Get-ADUser -SearchBase ... -filter {Enabled -eq $false} | Remove-Mailbox ...

(замена ... с соответствующей базой поиска или параметрами для Remove-Mailbox, с помощью $_ для идентификации ADUser, чьи разрешения почтового ящика вы удаляете.)

Другие вопросы по тегам