你目前正处于脱机状态,正在等待 Internet 重新连接

如何解决在 Project Server 2003 中的 Active Directory 同步问题

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 887025
简介
本文介绍如何解决在 Active Directory 目录服务同步问题,在 Microsoft Office Project Server 2003 中的。
更多信息
活动目录同步问题分为以下几类:

活动目录通信和环境问题以及独立于 Project Server 数据库的 Active Directory 对象问题

Project Server 2003 中的 Active Directory 同步组件将执行以下件事中的按此顺序操作:
  1. 联系人在特定的 Active Directory 中的全局编录目录林。
  2. 执行一个轻型目录访问协议 (LDAP) 搜索指定的 Active Directory 组或组织单位 (OU) 中使用 ActiveX 数据对象 (ADO) 查询。
  3. 使用 Active Directory 服务接口 (ADSI) 来获取到的组或到 OU 来循环访问该 OU 的成员或组的成员的引用。这包括嵌套的组和组织单位。
这些问题分成以下类别:

联系全局编录的问题

  • 当您同步 Active Directory 组跨目录林,请执行以下操作:
    • 使用该完整完全限定域名 (FQDN) 指定组。例如对于使用以下 FQDN 指定组:
      groupname@childdomain.rootdomain.com
    • 请确保目标域在远程目录林中包含目录林的全局编录的一个副本。
  • 如果您的域包含 Microsoft Windows NT 4.0 备份域控制器 (bdc) 和 Microsoft Windows Server 2003 域控制器,您可能在中期模式下运行 Windows Server 2003 Active Directory 目录林。在中期模式下运行 Windows Server 2003 Active Directory 目录林可以防止 Project Server 访问全局编录。
  • 要指定一组,请确保使用完整的 FQDN 或域 \ 用户名格式时目标域中包含您的目录林中的全局编录的一个副本。
  • 请确保端口 3268 打开之间运行 Project Server 2003 的计算机和域控制器承载全局编录的一个副本。为全局编录通信使用端口 3268。如果您的全局编录通信通过使用安全套接字层 (SSL) 加密,请确保端口 3269 处于打开状态。
  • 请确保对 Project Server 和维护全局编录的域控制器之间的通信启用的网络和安全拓扑结构。例如对于承载 Project Server 的计算机是工作组的成员,如果全局编录通信将失败。

与特定的 Active Directory 组的问题

  • 如果您试图同步组中有没有成员您会收到一个 无法 同步状态。这是一个已知的 bug。若要变通解决此问题,请确保您试图同步组有至少一个成员。
  • 如果不正确的组正在进行同步可以有多个匹配由 Project Server 使用在 LDAP 查询组。 若要变通解决此问题,您可以尝试使用组的完整的 FQDN。 或者您可以更改组的名称以确定组的名称在您的 Active Directory 目录林之间唯一。
  • 选择 立即更新 选项同步组时 FetchGroup 函数在 Project Server 2003 Active Directory 中不会返回一组同步组件。此外,是在应用程序日志中记录一条错误消息。该错误消息包含的文字"FetchGroup:"后跟一个数字值。尽管此问题的根本原因已不还确定,但我们认为该问题与 Microsoft Windows SharePoint Services 以及 Internet Information Services (IIS) 配置或已损坏。您可以通常解决此问题创建新的网站,然后使用创建新的"ProjectServer"虚拟目录在新的网站下的 EditSite 工具。
  • 如果只返回的某些组成员,您可能遇到多值属性检索与一个 LDAP 策略限制。在这种情况下 Active Directory 组属性成员是多值属性。 有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    315071如何查看和使用 Ntdsutil.exe 在 Active Directory 中设置 LDAP 策略

与特定 Active Directory 用户的问题

  • 项目服务器要求所有的 Active Directory 用户都可以填充它们的显示名属性。使用 Project Server,具有空的显示名属性的用户不会被同步。
  • 对某些用户可能在一个组的 成员 属性中存在。但是,这些用户可能已被删除从 Active Directory。在这种情况下,您可能会收到一条"部分失败"错误消息为特定的 ds 同步进程。此外,事件日志中记录以下错误消息:

    "访问 AD 组"和组名和"部分失败,因为组成员的"& sMemberDN &"不能解决由 LDAP"

    由于用户不再存在于 Active Directory 中,该错误是相当无害,并且可以忽略。活动目录,请联系管理员以删除对不存在的用户从组的 成员 属性。
  • 为特定用户的显示名属性中的某些特殊字符会导致为这些用户的同步失败。下面的字符将替换为特定用户的 Active Directory 之前显示名属性显示在 Project Server 数据库中的显示名属性:
    • 列表分隔符字符
      • 如果列表分隔符是逗号,用分号替换逗号。
      • 如果列表分隔符是逗号以外的其他,列表分隔字符被替换以逗号分隔。
    • 方括号
      • 括号将替换为大括号。是,"["和"]"的"{"和"}"分别替换。

工具

下面的工具是可用于解决这些问题:
  • ADSI 编辑
  • EditSite
若要获取 EditSite 工具,请访问下面的 Microsoft 网站:

与 Active Directory 同步相关的项目服务器数据库问题

Active Directory 同步组件在 Project Server 2003 中的使用该项目数据服务 (PDS) 的 Active Directory 同步过程中执行以下潜在的操作:
  • 正在更新的资源。这包括 inactivating 资源。
  • 添加新资源或新的 Project Server 用户。
  • 将现有的 Project Server 用户添加到 Project Server 安全组。
  • 从项目中删除现有的 Project Server 用户服务器安全组。
具体取决于在不同环境下一个或多个这些 PDS 操作可能会失败。要隔离,并捕获有关这些故障的更具体的信息,您可以使用 Project Server 2003 SetTracing 实用程序。通过 SetTracing 实用程序中,您可以从 Project Server 获取以下信息:
  • 通过 Active Directory 同步组件请求的确切 PDS 命令。
  • 从该 PDS 答复。答复包括错误状态代码。
使用 SetTracing 实用程序来增加到 4 的应用程序事件日志捕获信息捕获的敏感度级别。运行一个的 Active Directory 同步过程,然后检查应用程序事件日志。 错误事件和警告事件之前出现的信息应包括 PDS 请求和答复的信息。PDS 答复信息可能包含在非零数值在 < 状态 / > 节点。使用该 PDS 以获取有关一个特定的状态代码的详细信息的错误代码引用。 若要访问 PDS 错误代码引用,请访问下面的 Microsoft 网站:

已知的问题

  • 如果新用户或资源的显示名匹配的现有的 Project Server 用户或资源,可能会失败 PDS ADD 命令。Active Directory 显示名属性映射 用户名 属性,或在 Project Server 中的 资源名称 属性。项目服务器要求的这些字段值是整个单个 Project Server 数据库中唯一。
  • 如果您已手动将用户添加到 Project Server,但其 Windows 帐户或用户名字段不匹配在 Active Directory 中的这些属性,可能会失败 PDS ADD 命令。Windows 帐户或用户名称域与 Active Directory 中的用户名和资源名称属性必须完全匹配。 如果不完全匹配它们执行,2028年或 2029年的错误状态代码可能会记录在应用程序事件日志中。

工具

下面的工具是可用于解决这些问题:
  • 应用程序事件日志
  • PDSTest 工具
  • SetTracing
若要获取 SetTracing 实用程序,请访问下面的 Microsoft 网站:

活动目录同步组件工作和数据流误解

Project Server 2003 中的 Active Directory 同步组件展示可能不是直观或以前未很好地记录的特定行为。

这些问题分为以下几类:

清除 AD GUID

当您希望该用户仍处于活动状态,即使它们不再属于 Active Directory 组映射到 Project Server 企业资源库时,应为特定用户清除一个 AD 的 GUID。 清除 AD GUID 还防止其他 Project Server 用户如果他们的 Active Directory 帐户已被删除,从 Active Directory 组或从一个 OU 映射,映射到特定的项目服务器安全组,从 Project Server 安全组被删除。

下面是示例企业资源库同步方案阐释如何使用"清除用户 AD GUID"功能:
  1. 用户"John Doe"是一个名为"ERP (AD)"的 Active Directory 组的成员。
  2. 管理员将同步项目服务器企业资源库 Active Directory 组"ERP (AD)"。
  3. "John Doe"会删除从"ERP (AD)"。
  4. 管理员重新同步 Project Server 到 Active Directory 组"ERP (AD)"的企业资源库。
  5. 未在第二个同步之前,已被清除 John Doe AD GUID,如果他将不被激活。
重要清除的 AD GUID AD GUID 之后自动 re-inserted 到 Project Server 数据库,在下列情况下。
企业资源池 Active Directory 同步过程
AD GUID 是自动 re-inserted 到 Project Server 数据库如果满足以下条件:
  • 将不从 Active Directory 中删除相关的用户组映射到企业资源库。
  • 在后续的 Active Directory 同步发生。
项目服务器安全组活动目录同步过程
AD GUID 是自动 re-inserted 到 Project Server 数据库如果以下条件为真:
  • Project Server 用户必须获得新的 Project Server 通过 Project Server 安全组 Active Directory 同步进程的安全组成员身份。
企业资源的 AD GUID 存储在该项目在以下位置的服务器数据库:
  • MSP_WEB_RESOURCES.WRES_AD_GUID
  • MSP_RESOURCES.RES_AD_GUID
对于那些不还企业资源 Project Server 用户 AD GUID 存储在 Project Server 数据库中以下位置:
  • MSP_WEB_RESOURCES.WRES_AD_GUID

inactivation 或激活的资源

用户是未激活的企业资源池 Active Directory 同步过程中,如果满足以下条件:
  1. 用户已在企业资源池。
  2. 用户然后从 Active Directory 组映射到企业资源库。
  3. 一个后续企业资源池 Active Directory 会发生同步过程。
用户永远不会重新激活期间活动目录同步过程。inactivation 不应用于 Project Server 安全组 Active Directory 同步。

在以下位置在 Project Server 数据库中存储特定资源的活动或非活动状态:
  • MSP_WEB_RESOURCES.WRES_IS_ENABLED
  • MSP_RESOURCES.RES_RTYPE (0 = 活动的工作资源 1000年 = 非活动状态的工时资源)

活动目录同步过程中断

当一个 Active Directory 同步进程启动时,该 MSP_WEB_ADMIN_AD。WADMIN_AD_ERESPOOL_UPDATE 值设置为 1 的企业资源库同步。MSP_WEB_ADMIN_AD。WADMIN_AD_GRP_UPDATE 值设置为 1,为 Project Server 安全组同步。在同步过程完成时这些值重新设置为 0 (零)。

这些数据库修改的目的是防止重叠的同步进程。例如对于将启动计划的活动目录同步过程如果您不希望管理员还通过 Project Web Access 启动相同的过程,因为可能会受到危害数据完整性。当以前的值设置为 1 时,以防止重叠的同步 立即更新 选项不可用。

如果由于任何原因之前已完成意外中断一个活动目录同步过程,WADMIN_AD_ERESPOOL_UPDATE 的值或为 WADMIN_AD_GRP_UPDATE 值可能会保持在 1。 这样可以防止后续同步进程。例如对于,这会如果 IIS 已被重置,或者如果 IIS 在同步过程中出现故障。若要纠正此问题,将这些字段的值设置为 0,然后重新同步。

用户元数据

以下字段可以在一个企业资源时更新池 Active Directory 同步过程:
  • 资源名称
  • Windows 用户帐户
  • 电子邮件地址
  • 广告 guid
匹配 Active Directory 用户和 Project Server 之间的资源,在第一次尝试 AD GUID,然后在资源名城域在 Project Server 中和在 Active Directory 中的显示名称字段上。如果将生成一个匹配,并且 Active Directory 用户属性和 Project Server 资源属性不同,更新,在尝试通过该 PDS。

下表列出了 Active Directory 域映射到 Project Server 资源域。
活动目录属性项目资源属性 (企业资源库)项目服务器用户属性
显示名称 (UserObject.displayName 或 UserObject.fullName)资源名称 (MSP_RESOURCES.RES_NAME)用户名 (MSP_WEB_RESOURCES.RES_NAME)
Windows 用户帐户 (domain\sAMAccountName)Windows 用户帐户 (MSP_TEXT_FIELDS。TEXT_FIELD_ID = 205521207)Windows 用户帐户 (MSP_WEB_RESOURCES。WRES_NT_ACCOUNT)
电子邮件地址 (UserObject。EmailAddress)电子邮件地址 (MSP_TEXT_FIELDS。TEXT_FIELD_ID = 205520931)电子邮件地址 (MSP_WEB_RESOURCES。WRES_EMAIL)
部门 (UserObject.Department)组 (MSP_TEXT_FIELDS。TEXT_FIELD_ID = 205520899)无 (没有架构余量)
AD GUID (UserObject.Guid)<无 UI > (MSP_RESOURCES。RES_AD_GUID)<无 UI > (MSP_WEB_RESOURCES。 WRES_AD_GUID)
注意对于 Project Server 不会发生元数据更新在 Project Server 安全的过程中的用户组活动目录同步过程。没有一个例外。重新 AD GUID 可以被插入 Project Server 安全组活动目录同步过程中如果满足以下条件:
  • Project Server 用户的 AD GUID 以前已被清除。
  • Project Server 用户必须获得新的 Project Server 通过 Project Server 安全组 Active Directory 同步进程的安全组成员身份。

您会收到一个"AD 分辨率池同步-无法打开该企业。当您执行针对企业资源库的 Active Directory 同步 res"错误消息

当您执行针对企业资源库的 Active Directory 同步时,您可能会收到以下错误消息:
打开在企业 AD 分辨率池同步-失败。res。
如果企业资源已签出企业资源池 Active Directory 同步过程运行时,可能会出现此问题。若要解决该问题,您可以强制签入企业资源库的项目。

重要如果您签入已签出的企业资源,已签出的企业资源的用户将无法保存对数据库所做的更改。

若要签入企业资源库项目,请按照下列步骤:
  1. 在项目 Web 访问管理页上单击在 操作 下的 管理企业功能
  2. 企业选项 中,单击 签入企业项目

    注意只有分配"签入我的项目"全局权限的用户可以访问 签入企业项目 链接。
  3. 在签入企业项目页中,单击企业资源库项目,然后单击 签入

活动目录同步安全问题

Project Server 2003 中的 Active Directory 同步组件必须以某种类型的安全上下文运行。本部分简要介绍了此安全上下文的详细信息。这包括帐户、 权限,和安全警告。

这些问题分成以下类别:

目录同步上下文的活动客户和安全要求

具体取决于是否要进行日程排定的 Active Directory 同步过程使用不同的安全帐户,或在 Project Web Access 启动活动目录同步过程,通过选择了 立即更新 选项。当您选择了 立即更新 时选项在 IIS 上的 Internet 浏览器中承载处理 Active Directory 同步的过程。使用安全帐户取决于您的 IIS 文件安全权限,下列文件:
  • 企业资源库的 /Admin/SyncPool.asp 同步
  • 对于 Project Server 安全组同步 /Admin/SyncGrp.asp
为每个这些文件您应只选中了 集成 Windows 身份验证 选项的 IIS 文件安全权限。这可以确保,当前登录的 Windows 用户的凭据用于同步进程。这包括与全局编录,并通过 LDAP 运行 ADSI 命令。

当您计划 Active Directory 同步时,Project Server 计划流程服务为指定的登录帐户用于执行同步。默认状态下,该登录帐户是本地系统帐户。

这些帐户必须是能够创建 /BIN/PjSvrADC.dll 文件的一个实例,请与在全局目录并读取与同步相关的所有相关的 Active Directory 对象。 这包括 ou、 组、 用户,和等等。

活动目录对象级安全机制

若要同步到特定的组或 OU,上下文帐户,用于执行活动目录同步必须能够读取所有相关的 Active Directory 对象。这些对象包括组、 ou、 嵌套的组和成员的所有用户。上下文帐户有关的信息,请参阅在"
"一节。

若要检查单个的 Active Directory 对象权限,可使用 ADSI 编辑工具,在 Windows Server 2003 的安装媒体中可用的。

工具

若要解决这些问题提供了以下工具:
  • ADSI 编辑

警告:本文已自动翻译

属性

文章 ID:887025 - 上次审阅时间:03/01/2007 09:23:55 - 修订版本: 6.5

Microsoft Office Project Server 2003

  • kbmt kbhowto KB887025 KbMtzh
反馈
lay:none;" onerror="var m=document.createElement('meta');m.name='ms.dqp0';m.content='true';document.getElementsByTagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?">