Microsoft 365 开发:如何用脚本删除个人邮箱和共享邮箱的权限
原创
©著作权归作者所有:来自51CTO博客作者bxapollo的原创作品,谢绝转载,否则将追究法律责任
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
}
仅此分享本文,希望日后对大家的管理带来一定的帮助,谢谢阅读。