首页 > 代码库 > 禁用自动映射的 Exchange 邮箱

禁用自动映射的 Exchange 邮箱

客户最近询问他们无法从用户的Outlook配置文件中删除邮箱。在这种情况下,它们是共享邮箱,并出现在Outlook的左窗格中。但原因和解决方法同样适用于用户邮箱。并且 无论用户邮箱在本地 Exchange Server还是 Exchange Online 云托管邮箱都可能发生这样情况。如果该用户对多个邮箱拥有完全访问权限,则在启动 Outlook 时可能会出现性能问题。在 Exchange 2010 SP1 中,没有办法将此功能禁用。 但在 Exchange 2010 SP2 版本或较新版本中,可以使用命令行管理程序禁用此功能。


技术分享


在用户Outlook 账号设置中,共享邮箱没有出现在附加邮箱


技术分享


为什么共享邮箱可以出现在Outlook中但没有在Outlook账号设置中显示,究其原因是当用户被授予访问共享邮箱或其他用户邮箱时,默认情况下启用自动映射。在 Exchange 2010 Service Pack 1 (SP1) 中,Exchange 引入了一项功能,允许 Outlook 2007 和 Outlook 2010 或更高版本客户端自动映射到用户拥有完全访问权限的任何邮箱。如果向某个用户授予了针对其他用户邮箱或共享邮箱的完全访问权限,则 Outlook 会自动加载该用户拥有完全访问权限的所有邮箱。

自动映射选项仅仅适用于在授予权限时进行配置。如果要删除用户对共享邮箱的访问的自动映射,首先须删除其邮箱权限,然后再次重新添加权限。并且,这将需要使用PowerShell命令执行,Exchange管理中心在配置邮箱权限时没有公开选项来启用或禁用自动映射。

使用PowerShell删除并重新添加用户的邮箱权限,我们可以使用以下步骤。

首先,对于内部部署邮箱打开Exchange命令行管理程序或云端邮箱连接到Exchange Online。

使用上面截图中的示例,所讨论的用户是"dj",共享邮箱名为"信息中心"。使用Get-MailboxPermission来检查用户是否已被授予邮箱权限。

[PS] C:\>Get-MailboxPermission -Identity xxzx -User dj | fl

RunspaceId : 1af8b9f0-d64e-4cb8-b8e1-e905c6923ed5

AccessRights : {Full Access}

Deny : False

InheritanceType : All

User : DJCLOUDS\dj

Identity : djclouds.com/djclouds/IT/信息中心

IsInherited : False

IsValid : True

ObjectState : Unchanged

接下来,使用Remove-MailboxPermission删除用户的邮箱权限。

技术分享

 

[PS] C:\>Remove-MailboxPermission -Identity xxzx -User dj -AccessRights FullAccess

最后,通过运行Add-MailboxPermission重新添加邮箱权限,此时使用-AutoMapping参数来禁用自动映射。

[PS] C:\>Add-MailboxPermission -Identity xxzx -User dj -AccessRights FullAccess -AutoMapping:$false

1

技术分享

虽然我们做配置修改,最终用户改变不会立即显示,因为在Outlook客户端通过自动发现检测配置变化有延迟。当Outlook收到更新的自动发现响应时,它会从用户的Outlook配置文件中删除自动映射邮箱。如果用户需要访问邮箱的任何东西,他们必须将其添加到他们的配置文件,或通过Outlook文件菜单打开它。

另外,使用Get-MailboxPermission 命令输出中没有什么可以告诉您访问邮箱的用户是否会自动映射。但是,如果我使用是对于本地邮箱,可以查询Active Directory用户对象属性,以确定谁将自动映射到邮箱。存储此信息的属性名为msExchDelegateListLink,可以使用Get-ADUser进行查询。例如,要查看名为Payroll的邮箱的自动映射用户列表,我们可以运行以下命令。

[PS] C:\>Get-ADUser -Filter {Name -eq "xxzx"} -Properties msExchDelegateListLink | Select -ExpandProperty msExchDelegateListLink

CN=Bruce.Thillainayagam,OU=Users,OU=IT,OU=djclouds,DC=djclouds,DC=com

CN=Alex.Heyne,OU=Users,OU=IT,OU=djclouds,DC=djclouds,DC=com

CN=mary,OU=IT,OU=djclouds,DC=djclouds,DC=com

 

示例:

--删除了现有共享邮箱上的自动映射,并为已被授予完全访问权限的用户删除自动映射行为

$FixAutoMapping = Get-MailboxPermission sharedmailbox |where {$_.AccessRights -eq "FullAccess" -and $_.IsInherited -eq $false}

$FixAutoMapping | Remove-MailboxPermission

$FixAutoMapping | ForEach {Add-MailboxPermission -Identity $_.Identity -User $_.User -AccessRights:FullAccess -AutoMapping $false}

本文出自 “Albert Dongjie Tech Blog” 博客,谢绝转载!

禁用自动映射的 Exchange 邮箱