活动目录 Web 服务修补程序汇总包是适用于.NET Framework 3.5 SP1

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 969166
症状
修复程序汇总包仅供 Microsoft.NET Framework 中 3.5 Service Pack 1 (SP1)。此汇总包解决了下列问题在活动目录 Web 服务 (ADWS)。

问题 1

找到域控制器中的自定义操作协议运行以下操作之一:
  • GetADPrincipalGroupMembership
  • GetADGroupMember
  • GetADPrincipalAuthorizationGroup

多次运行这些操作后,域控制器变得没有反应。

问题 2

当您运行自定义操作协议中使用GetADPrincipalGroupMembership操作 ADWS 服务时,该服务崩溃。

问题 3

不能使用GroupPrincipal.GetMembers方法返回的任何以下组对象:
  • 域控制器
  • 只读域控制器
  • 域的计算机
问题 4

使用活动目录轻量级目录服务 (AD LDS) 模式。必须包含来自不同分区的成员的组。如果调用GroupPrincipal.GetMembers方法时,将发生异常,并且您会收到以下错误消息:
Microsoft.ActiveDirectory.Management.ADException: Unknown error (0x5011) ---> System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]: Unknown error (0x5011) (Fault Detailis equal to An ExceptionDetail, likely created by IncludeExceptionDetailInFaults=true, whose value is:System.Runtime.InteropServices.COMException: Unknown error (0x5011)at System.DirectoryServices.SearchResultCollection.ResultsEnumerator.MoveNext()at System.DirectoryServices.AccountManagement.ADDNLinkedAttrSet.GetNextSearchResult()at System.DirectoryServices.AccountManagement.ADDNLinkedAttrSet.MoveNextMemberSearcher()at System.DirectoryServices.AccountManagement.ADDNLinkedAttrSet.MoveNext()at System.DirectoryServices.AccountManagement.FindResultEnumerator`1.MoveNext()at System.DirectoryServices.AccountManagement.FindResultEnumerator`1.System.Collections.IEnumerator.MoveNext()at Microsoft.ActiveDirectory.WebServices.ActiveDirectoryWebService.GetADGroupMember(GetADGroupMemberRequest request)at SyncInvokeGetADGroupMember(Object , Object[] , Object[] )at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs,Object[]& outputs)at System.Se...).

问题 5

您正在使用 AD LDS 模式。有的.NET Framework 应用程序使用User.GetGroups方法。但是,该方法返回空集。


问题 6

UserPrincipal.GetGroups方法返回跨域本地组成员。例如,请考虑以下情形:
  • 外部域和目标域位于同一林中。
  • 在目标域内的用户是在外部域中的本地组的成员。
  • 在外部域中的全局编录服务器是可用,但在目标域中没有全局编录服务器可用。
当您运行GetADPrincipalGroupMembership方法在此方案中时,则返回外部域中的本地组。

备注:
  • 在这种情况下,两个域中可用的全局编录服务器时,可能还将发生此问题。
  • 如果某些网站设置指定可用的全局编录服务器上,将出现此问题。

问题 7

不必要地缓存访问过的成员的信息。

问题 8

当 AD LDS 帐户 1500 多个组的成员时, GetGroups方法不返回的所有组。

问题 9

如果试图安装了活动目录管理网关服务,则安装将失败与错误"更新不适用于您的系统"。

原因
以下的原因与"症状"一节中描述的前三个问题:

问题 1 的原因

发生此问题是因为GetGroupsGetMembersGetAuthorizationGroups的方法中使用模拟时,发生了句柄泄漏。

问题 2 的原因

因为多个线程同时调用UserPrincipal.GetGroups方法,将发生此问题。当静态对象共享的线程,并且两个线程试图释放同一内存块时,会发生访问冲突。

问题 3 的原因

发生此问题是因为用于获取对象的筛选器包含用户对象类别。
解决方案
受支持的修补程序现已从 Microsoft 推出。但是,它被用于纠正本文中描述的问题。它仅应用于正经历此特定问题的系统。此修补程序可能会接受进一步的测试。因此,如果这个问题没有对您造成严重的影响,我们建议您等待包含此修复程序的下一个 service pack。

要立即解决此问题,请联系 Microsoft 客户支持服务,以获取此修复程序。Microsoft 客户支持服务的电话号码以及有关支持费用的信息的完整列表,请访问下面的 Microsoft 网站:注意:在特殊情况下,如果 Microsoft 支持专业人员确定某个特定的更新能够解决您的问题,可能会取消可免收支持电话的费用。通常的支持费用将应用于其他支持问题和事项,不需要进行专门更新。

系统必备组件

您必须具有要应用此修补程序的安装.NET Framework 3.5 SP1。

重新启动要求

应用此修补程序后,不需要重新启动计算机。

修补程序替换信息

此修补程序不替换任何其他修补程序。

文件信息

此修复程序的英文版具有的文件属性 (或更新的文件属性)在下表中列出。日期和为这些文件的时间以协调世界时 (UTC) 列出。当您查看文件信息时,它将转换为本地时间。要了解 UTC 与本地时间之间的时差,使用在控制面板中的日期和时间项的时区选项卡。
文件名称文件版本文件大小日期时间平台
System.directoryservices.accountmanagement.dll3.5.30729.4126290,8162009 年 06 月 05-00:37x86
注意:此修复程序将最终合并到.NET Framework 4.0
状态
Microsoft 已经确认这是"适用于"一节中列出的 Microsoft 产品中的问题。

属性

文章 ID:969166 - 上次审阅时间:10/22/2015 16:24:00 - 修订版本: 2.0

Microsoft .NET Framework 3.5 Service Pack 1

  • kbhotfixserver kbexpertiseadvanced kbqfe kbsurveynew kbmt KB969166 KbMtzh
反馈