我正在尝试授予域管理员组对 Exchange 2010 中所有邮箱的完全访问权限,包括实施此操作后创建的新邮箱。阅读了一些资料后,我得出了以下 Powershell 命令:
Get-MailboxDatabase | Add-ADPermission -User "Domain Admins" -AccessRights ExtendedRight -ExtendedRights Receive-As,Send-As
但这不起作用。我该怎么做?
谢谢!
答案1
免责声明:允许管理员访问邮箱内容时请注意法律后果。
实现此目的的最简单方法是删除“以身份发送”和“以身份接收”的明确拒绝权限,这些权限已分配给 AD 中主 Exchange 组织对象上的域管理员和企业管理员组,随后会在任何地方继承。这些权限在那里确切地阻止管理员访问邮箱内容,否则他们可以自由访问。
您可以使用 AD 站点和服务修改组织对象的权限(只需确保显示服务节点)。
答案2
自从我们部署 Exchange 2010 以来,我一直在使用此链接: http://msundis.wordpress.com/2011/06/21/manage-full-access-permissions-on-mailboxes-in-exchange-2010/
具体来说:
Get-Mailbox | Where { $_.Database –eq “” } | Add-MailboxPermission -User “Domain Admins” -AccessRights Fullaccess -InheritanceType all
And then this one for send as:
Get-Mailbox | Where { $_.Database –eq “” } | Add-AdPermission -User “Domain Admins” -AccessRights extendedright -ExtendedRights “send as
为它们创建 PS 脚本并将其设置为每晚(或其他)的预定任务,它也会处理任何新邮箱。
Exchange 中对企业管理员和域管理员的完全明确拒绝会导致各种类似的问题。
答案3
我发现的唯一方法是:
- 编写循环脚本以将权限应用于所有现有邮箱。
- 将域管理员权限分配纳入我的新邮箱设置脚本中。
但我希望有人有更好的方法,因为这不是很理想。将权限从邮件存储或数据库级别继承到邮箱当然会很好...
答案4
你需要脚本代理! 每次创建邮箱时都会执行 PowerShell 脚本。
我们使用它来分配邮箱清理策略并设置用户的语言和时区,以便用户在登录 OWA 时不会收到提示。以下是我们的脚本:
<?xml version="1.0" encoding="utf-8" ?>
<Configuration version="1.0">
<Feature Name="MailboxProvisioning" Cmdlets="new-mailbox">
<ApiCall Name="OnComplete">
if($succeeded) {
$newmailbox = $provisioningHandler.UserSpecifiedParameters["Name"]
set-mailbox -identity $newmailbox -language 'en-US' -RetentionPolicy "Mailbox Cleanup"
set-mailboxregionalconfiguration -identity $newmailbox -language 'en-US' -timezone 'Eastern Standard Time'
}
</ApiCall>
</Feature>
</Configuration>