Blog链接:​https://blog.51cto.com/13969817

在日常维护和管理中,删除现有邮箱权限也是Exchange管理的重要任务之一。今天本文将给大家分享使用Remove-MailboxPermission cmdlet脚本删除用户邮箱权限的几个场景:

·       删除用户的Full access权限

·       删除用户的Send as 权限

·       从所有的Shared Mailbox中删除单个用户的Full Access和Send As权限

·       从多个用户的User Mailbox中删除多个用户权限

若要完成上述场景,首先确保账户应该已经具有 “ Organization Management 和“Recipient Management”角色。

删除用户的Full Access权限使用如下命令:

​Remove-MailboxPermission -Identity "​​byron@contoso.com​​" -User "​​Daniel@contoso.com​​" -AccessRights FullAccess -InheritanceType All -Confirm:$false

说明:Identity–要删除Full Access的邮箱的标识(例如:名称、UPN等);User–此参数指定将删除权限的用户邮箱。

删除用户的Send as权限使用如下命令:

Remove-RecipientPermission -Identity "​​Byron@contoso.com​​"

-Trustee "Daniel@contoso.com" -AccessRights SendAs

从所有的Shared Mailbox中移除单个用户的Full Access和Send as权限,脚本如下所示:

$user = "Byron@contoso.com"
$sharedmbxs = Get-Mailbox -RecipientTypeDetails SharedMailbox
-ResultSize:Unlimited | Select Identity,Alias,DisplayName
$i = 1
$totalmbxs = $sharedmbxs.Count
foreach ($mbx in $sharedmbxs) {
Write-Progress -activity "Processing user
$($mbx.DisplayName)" -status "$i out of $totalmbxs completed"
Remove-MailboxPermission -Identity $mbx.Identity -User $user
-AccessRights FullAccess -InheritanceType All -Confirm:$false
Remove-RecipientPermission -Identity $mbx.Identity -Trustee $user -AccessRights
SendAs -Confirm:$false
$i++
}

从多个用户的User Mailbox中删除多个用户权限

在某些情况下,你可能需要从多个邮箱中删除一组用户的访问权限。在这种情况下,你可以将用户和邮箱标识保存在CSV文件中,CSV文件名为“remove-permissions.CSV”,该文件在列名UserName和mailbox下包含用户和邮箱标识:

然后执行如下脚本:

Import-CSV'C:\remove-permissions.csv'| ForEach
{
Write-Progress-activity "Processing mailbox $($_.Mailbox) - user $($_.UserName)"
-status "Processing..."
Remove-MailboxPermission-Identity $_.Mailbox -User $_.UserName -AccessRights FullAccess -InheritanceType All -Confirm:$false
Remove-RecipientPermission-Identity $_.Mailbox -Trustee$_.UserName -AccessRights SendAs -Confirm:$false
}

仅此分享本文,希望日后对大家的管理带来一定的帮助,谢谢阅读。