【问题标题】:Issue with Impersonation in Exchange Server 2010Exchange Server 2010 中的模拟问题
【发布时间】:2011-05-02 12:40:14
【问题描述】:

我正在尝试在我的应用程序中使用模拟来连接到用户邮箱并添加/删除约会。

我创建了一个名为“EWSAdmin”的帐户并在其上运行了以下 EMS 命令:

New-ManagementScope -Name:"MyEWSImpersonation" -RecipientRestrictionFilter 
{memberofgroup -eq "cn=My User Container,DC=MyDomain,DC=local"}

New-ManagementRoleAssignment -Name:"MyEWSImpersonation" -Role:ApplicationImpersonation 
-User:"EWSAdmin@MyDomain.local" -CustomRecipientWriteScope:"MyEWSImpersonation"

为了混淆这个问题,我也将我的作用域称为 EWSImpersonation。

当我尝试连接到用户的邮箱查看约会时(使用第三方 DLL),我收到以下错误:

Throwing GeneralException e=The account does not have permission to 
impersonate the requested user.

如果有人能帮我诊断一下,我将不胜感激。

谢谢

尼克

【问题讨论】:

    标签: exchange-server exchangewebservices


    【解决方案1】:

    我们以不同的原因遇到了这个问题,我想在这里分享它,因为在搜索错误消息时,这个帖子和 TechNet 上的帖子出现了,但没有最终帮助我们解决问题的知识库文章。

    事实证明,任何 Windows 服务器可以对 Active Directory 执行的请求数量是有限的,在某些时候,NetLogon 服务会用完线程并且各种事情开始发生。该过程在 this blog post 和此 KB articlethis KB article 中进行了说明,修复非常简单,通过对 Exchange 群集中每个 CAS 服务器上的注册表项进行简单更改来增加可用线程数。

    过程很简单:

    1. 启动注册表编辑器。
    2. 找到以下注册表子项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
    3. 创建以下注册表项:

      Name: MaxConcurrentApi

      Type: REG_DWORD

      Value: 将该值设置为您测试过的较大数字(任何大于默认值的数字)。

    4. 在命令提示符下,运行 net stop netlogon,然后运行 ​​net start netlogon。

    备注

    • 可配置的最大值取决于操作系统版本以及是否有可用的修补程序。
    • Windows Server 2003 中的最大可配置设置为 10。
    • Windows Server 2008(没有本文中的修补程序)中的最大可配置设置为 10。使用修补程序时,最大值为 150。
    • Windows Server 2008 R2(没有本文中的修补程序)中的最大可配置设置为 10。使用修补程序时,最大值为 150。

    如果您决定将 MaxConcurrentApivalue 增加到大于 10,则应在非生产环境中测试所需设置的负载和性能,然后再在生产环境中实施。建议这样做以确保增加此值不会导致其他资源瓶颈。

    【讨论】:

    • 感谢分享这个,它可能会在某个时候派上用场。雅杰西的互联网啤酒:)
    【解决方案2】:

    我对为 EWS 设置模拟的“管理员”方面几乎一无所知,但也许你可以看看这篇文章,并将你的行为与这个人为使其正常工作所做的事情进行比较

    http://www.thesoftwaregorilla.com/2010/06/exchange-web-services-example-part-3-exchange-impersonation/

    根据 msdn 在我的公司管理员设置模拟中,它对我有用,所以我认为它不会那么难,可能你错过了一些步骤,或者第三方 dll 需要一些额外的魔法。

    如果您不知道,请链接到 msdn 文章:http://msdn.microsoft.com/en-us/library/bb204095.aspx

    【讨论】:

      【解决方案3】:

      最好有 E2010 的例子,因为它不像 2007 年那么容易。

      以下是为组创建 EWS 模拟的示例。该组的任何成员都将被服务帐户模拟。只需根据需要将其他成员添加到组中。两个步骤...创建新的管理范围,然后分配角色。

      New-ManagementScope “范围名称”-RecipientRestrictionFilter {(MemberOfGroup -eq 'CN=group name,CN=Users,DC=Contoso,DC=com')}

      New-ManagementRoleAssignment -Name “EWS ROLE NAME” -Role applicationimpersonation -User Domain\Service Account -CustomRecipientWriteScope “Scope Name”

      其中“Scope Name”是第一步创建的管理范围。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-14
        • 1970-01-01
        • 2011-10-15
        • 1970-01-01
        • 2018-10-07
        • 1970-01-01
        相关资源
        最近更新 更多