我正在寻找一个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,但我仍在寻找最后一部分,它将自动删除已禁用用户的完全访问权限。
有人能给我指路吗?
答案 0 :(得分:0)
在删除邮箱权限(这是您的Remove-MailboxPermission ... | Where-Object ...
似乎打算执行的操作 - 除了您编写它的方式之外)时,不是尝试筛选已禁用的用户,而是仅检查已禁用的状态在删除权限后),尝试选择已禁用的帐户首先,然后仅将已停用的帐户传递给Remove-MailboxPermission
:
Get-ADUser -SearchBase ... -filter {Enabled -eq $false} | Remove-Mailbox ...
(将...
替换为Remove-Mailbox
的相应SearchBase或参数,使用$_
作为您要删除其邮箱权限的ADUser的标识。)