在 Project Server 2007 中管理 Active Directory 同步

更新时间: 2008年8月

 

上一次修改主题: 2015-03-09

Project Server 用户和资源可以跨多个域和林与 Active Directory 目录服务的用户同步。此功能可以帮助管理员执行令人乏味的任务,如手动添加大量用户、更新电子邮件地址之类的用户元数据,以及停用不再需要系统访问权限的用户。可以手动或者按照自动日程安排完成 Active Directory 同步。当发生 Active Directory 同步时,将仅更改 Project Server 数据。Active Directory 数据永远不会更改,该数据仅用于查询。

同步过程中更新的 Project Server 用户/资源属性

发生同步时,Project Server 2007 将用特定的 Active Directory 用户元数据字段更新以下 Project Server 用户/资源属性:

Active Directory 用户属性 Project Server 用户/资源属性

ADGUID (UserObject.objectGUID)

存储在 Project Server 发布数据库(MSP_RESOURCES 表中的 WRES_AD_GUID 域)中。此属性在 Project Web Access 用户界面中不可见。

Windows 用户帐户 (domain\sAMAccountName)

Windows 用户帐户

显示名称 (UserObject.displayName)

显示名称/资源名称

电子邮件地址 (UserObject.mail)

电子邮件地址

部门 (UserObject.department)

组(仅用于资源属性)

提示

这不是指 Project Server 安全组。

使用服务器端处理程序,您可以自定义 Active Directory 同步以映射到其他元数据字段。有关服务器端处理程序的详细信息,请参阅联机 MSDN 库中的编写和调试 Project Server 2007 事件处理程序(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=126633\&clcid=0x804)(该链接可能指向英文页面)。

其他 Active Directory 域可以通过 CodePlex 中提供的 Project Server 2007 AD/资源同步实用工具(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=126634\&clcid=0x804)(该链接可能指向英文页面)映射到资源自定义域。

提示

Microsoft 不在 CodePlex 网站上控制、审核、修订、授权或分发第三方项目。使用这些项目需要您自担风险。Microsoft 托管 CodePlex 网站的目的只是作为一项服务向开发人员社区提供一个 Web 存储网站。

Active Directory 同步的最佳实践

下面是 Microsoft 建议的在管理 Project Server 2007 中的 Active Directory 同步时应采取的最佳实践:

  • 创建与每个 Project Server 安全组和 Project Server 企业资源库对应的特定 Active Directory 组。例如给新的 Active Directory 组取名,如“Project Server — ERP”、“Project Server — 项目经理”和“Project Server — 主管人员”。将现有的 Active Directory 组嵌套在这些组中以便更好地进行组织。

  • 始终首先同步企业资源库,然后同步 Project Server 安全组。这样可确保企业资源属性设置正确。

  • 安排同步日程以使其更好地符合您的业务需要。如果经常添加新用户,或者用户在组织中的职位会变动,则您可能需要安排每天同步一次。否则,您可能需要安排每周同步一次。最好始终将同步安排在下班时间或非高峰时间进行。之所以建议您这么做,是因为在进行同步时,它会导致与 Windows SharePoint Services 重新同步权限,从而导致所有用户暂时无法访问网站。

  • 通过检查服务器场应用程序服务器上的应用程序事件日志来排除同步问题。还可以使用统一日志记录服务 (ULS) 日志来获取有关 Active Directory 同步问题的更多详细信息(例如,如果发生了用户锁定,则 ULS 日志将包含 DEADLOCK 条目;请参阅条目后面的“Caution”)。您可以在 SharePoint 管理中心网站上配置 ULS 日志设置,以提供有关您尝试捕获的 Active Directory 事件的更多详细信息。可以在“诊断日志记录”页上的“操作”选项卡上配置这些设置。在该页上,您可以配置 ULS 日志设置以便只捕获 Active Directory 同步信息,方法是:将“事件限制”设置为“Project Server Active Directory 同步”类别。另外,将“要报告给跟踪日志的关键程度最低的事件”设置为“详细”。有关配置日志记录选项的详细信息,请参阅配置诊断日志记录 (Project Server)

    警告

    在有些情况下,与 Active Directory 同步 Project Server 用户和工作区可能会导致“死锁”情况,此时所有用户都无法进入 PWA 网站或各自的工作区。这会导致用户同步作业失败,并且网站权限部分同步或根本不同步。用户可能无法登录到 PWA 或他们的工作区。
    如果用户同步过程用了很长时间都没有完成,则可能会发生死锁。这是因为同步作业在许多用户和工作区之间重复,例如,在进行大规模成员资格更改时,会发生这种情况。同步作业在队列中长时间停留会增加其他作业无意中启动的可能性,这也可能导致死锁。
    若要降低死锁的机会,您可以执行以下操作:

    • 在进行大规模组成员资格更改之前,确保当前没有处理名为“Project Web Access 应用程序根网站和 Project WSS 工作环境的用户同步”的作业,队列中也没有正等待处理的作业。

    • 在 CodePlex 网站 (https://go.microsoft.com/fwlink/?linkid=147394&clcid=0x804)(该链接可能指向英文页面)上运行 Project Server 工作区同步(该链接可能指向英文页面) 工具。该工具可以控制启动作业时要同步的内容(PWA 和工作区、仅工作区、仅 PWA,或者既不同步 PWA 也不同步工作区),并且允许管理员在服务器开销较小的下班时间或非高峰时间执行用户同步。

      请注意,Project Server 工作区同步工具不会加快同步过程使其超过正常速度。但是,在服务器开销较小时同步用户可以降低同步失败的几率。

  • 确保为 Project Server 应用程序共享服务提供程序指定的帐户有权从用于同步的所有 Active Directory 域和林中进行读取。请注意,所有 Active Directory 同步都使用此帐户,即使通过其他用户帐户手动运行这些同步也是如此。

  • Project Web Access 中的同步过程可能会替换服务器指定的 Active Directory 显示名称中的列表分隔符字符。在 Office Project Server 2007 中,列表分隔符字符定义为逗号。因此,如果 Active Directory 显示名称包含逗号,该逗号将被替换为分号。在显示名称中通常使用逗号字符的情形下,可能需要考虑这一问题。

  • 如果您使用资源自定义域,请确保这些域没有设置为“必需”。如果这些域设置为“必需”,但没有包含值,Active Directory 同步可能失败,因为它不知道应在必需域中放置什么值。您可以禁用域的“必需”选项,也可以实施服务器端事件处理程序以便在同步时填充必需的自定义域。有关服务器端处理程序的详细信息,请参阅联机 MSDN 库中的编写和调试 Project Server 2007 事件处理程序(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=126633\&clcid=0x804)(该链接可能指向英文页面)。

  • 当您通过 Project Web Access 向 Project Server 添加用户时,请确保您对该用户使用的显示名称 (UserObject.displayName) 与该用户在 Active Directory 中使用的名称相同。如果已经运行 Active Directory 同步,并且显示名称不匹配,则显示名称之间的冲突将会显示部分失败,帐户将无法更新。

任务要求

以下是执行此任务各个过程所必需的条件:

  • 可以使用具有“管理 Active Directory 设置”和“管理用户和组”全局设置的帐户通过 Project Web Access 来访问 Project Server。

  • 对同步中涉及的所有 Active Directory 组和用户帐户具有读取权限(适用于 Project Server 实例的 SSP 服务帐户)。您可以在 SharePoint 管理中心网站“共享服务管理”页上的 SSP 属性中验证此帐户。

    提示

    有关 SSP 服务帐户的详细信息,请参阅规划管理和服务帐户 (Project Server)

若要在 Project Server 2007 中管理 Active Directory 同步,可以执行下面的过程。可以针对企业资源库或 Project Server 安全组配置 Active Directory 同步。这两个过程不相互依赖。