使用Exchange管理外壳删除共享邮箱上所有已禁用用户的完全访问权限

时间:2016-12-20 13:33:29

标签: powershell exchange-server exchange-management-shell

我正在寻找一个powershell交换脚本,以删除特定OU中所有共享邮箱上所有已禁用用户的完全访问权限。

这是我到目前为止所得到的

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

它似乎有效,但我不确定最后一段het脚本是否会检查“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 个答案:

答案 0 :(得分:0)

在删除邮箱权限(这是您的Remove-MailboxPermission ... | Where-Object ...似乎打算执行的操作 - 除了您编写它的方式之外)时,不是尝试筛选已禁用的用户,而是仅检查已禁用的状态删除权限后),尝试选择已禁用的帐户首先然后仅将已停用的帐户传递给Remove-MailboxPermission

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

(将...替换为Remove-Mailbox的相应SearchBase或参数,使用$_作为您要删除其邮箱权限的ADUser的标识。)