维护配置文件同步 (SharePoint Server 2010)

 

适用于: SharePoint Server 2010

上一次修改主题: 2016-11-30

通过 SharePoint Server 2010 中的配置文件同步,User Profile Service 实例的管理员能够将 SharePoint Server 2010 配置文件存储中存储的用户和组配置文件信息与企业的目录服务中存储的配置文件信息进行同步。配置完配置文件同步后,必须完成某些任务才能保留这些设置。这些任务包括:移除已禁用或已删除的用户,移动或重命名服务器,以及启动或停止用户配置文件同步服务等。有关详细信息,请参阅规划配置文件同步 (SharePoint Server 2010)

在完成本文中的过程之前,必须先完成配置同步配置文件 (SharePoint Server 2010) 中的过程。

任务要求

重要

请参阅发行说明以了解有关配置文件同步可能需要的其他任务要求。

本文中的过程:

  • 重命名用户或更改用户域

  • 排除禁用的用户

  • 删除过时的用户和组

  • 维护配置文件架构更改

  • 重命名配置文件同步服务器

  • 将配置文件同步服务移到新服务器

  • 重置配置文件同步

  • 将配置文件同步通信限制到特定域控制器

  • 启动用户配置文件同步服务

  • 停止用户配置文件同步服务

  • 调整配置文件同步超时

重命名用户或更改用户域

SharePoint Server 2010 提供了一种用于处理多种不同的用户迁移方案的方法。下面是针对 Active Directory 域服务 (AD DS) 处理的方案的示例:

  • 帐户名 (sAMAccountName) 在用户所在的 AD DS 中发生更改。

  • 安全标识符 (SID) 发生更改。

  • 可分辨名称 (DN) 发生更改,其中包括用户帐户所在的 AD DS 的组织单位 (OU) 容器中的更改。这是 SharePoint Server 2010 中新增的。例如,如果用户的 DN 在 AD DS 中从“User= EUROPE\John Smith, Manager=CN=John Rodman, OU=Users, DC=EMEA1, DC=corp, DC=contoso, DC=com”移到“User= EUROPE\John Smith, Manager=CN=John Rodman, OU=Managers, DC=EMEA1, DC=corp, DC=contoso,DC=com”,MigrateUser 命令将会更新该用户的用户配置文件存储。在将用户配置文件从 EMEA1.corp.contoso.com AD DS 同步到 SharePoint Server 用户配置文件存储时,John Smith 的用户配置文件将会得到更新。

重命名用户或更改用户域

  1. 验证您是否拥有以下管理凭据:

    • 请参阅 Add-SPShellAdmin

    • 您必须是运行 SharePoint 管理中心网站的计算机上 Farm Administrators 组的成员。

    • 在 SharePoint 场安装过程中创建的 Farm Administrator 帐户还必须是部署用户配置文件同步服务的服务器上的本地管理员。

  2. 如果某个配置文件同步正在运行,请转到管理中心页,然后单击“应用程序管理”部分的“管理服务应用程序”。从服务应用程序列表中选择适当的 User Profile Service 应用程序。在“管理服务应用程序”页上,单击“停止配置文件同步”。

  3. 禁用增量配置文件同步计时器作业。

  4. 确保使用 stsadm -o migrateuser 进行的用户迁移已成功完成。

  5. 通过浏览到已迁移用户的“我的网站”网站(例如 http://mysite/person.aspx?accountname=<new account name>),确保该用户的配置文件可以访问。

  6. 运行配置文件同步。有关详细信息,请参阅执行非定期配置文件同步

  7. 通过浏览到已迁移用户的“我的网站”网站再次检查该用户配置文件的访问权限。

  8. 启用增量配置文件同步计时器作业。

排除禁用的用户

您可以使用 SharePoint Server 2010 中的排除筛选器来排除其帐户在 AD DS 中已禁用的用户。有关排除禁用的用户所需的步骤,请参阅编辑配置文件同步连接筛选器

删除过时的用户和组

SharePoint Server 2010 用户配置文件存储中存在过时的用户或组的原因有二:

  • 过时的用户:“我的网站”清理计时器作业处于不活动状态。用户配置文件同步计时器作业将已经从目录源中删除的用户标记为待删除。当“我的网站”清理作业运行时,它会查找所有标记为待删除的用户并删除这些用户的配置文件。然后将各自的“我的网站”网站分配给已删除用户的经理,并向该经理发送一封电子邮件通知此删除情况。

  • **过时的用户和组:**用户配置文件存储中存在不是由配置文件同步导入的用户和组。举例来说,如果您从早期版本的 SharePoint Server 升级,并且选择只与 SharePoint Server 2010 同步部分域,则会出现这种情况。

使用 Windows PowerShell 查找和移除过时的用户和组

  1. 验证您是否满足以下最低要求:请参阅 Add-SPShellAdmin

  2. 在“开始”菜单上,单击“所有程序”。

  3. 单击“Microsoft SharePoint 2010 产品”。

  4. 单击“SharePoint 2010 Management Shell”。

  5. 在 Windows PowerShell 命令提示符处,键入以下命令:

    查找所有过时的用户

    $upa = Get-spserviceapplication -identity
    

    其中:

    • identity 是用户配置文件同步服务应用程序的 ID。

    查看要删除的用户和组

    Set-SPProfileServiceApplication -Identity $upa - GetNonImportedObjects $true
    

    其中:

    • Identity 是用户配置文件同步服务应用程序的 ID。

    删除过时的用户和组

    警告

    此操作无法撤消。

    Set-SPProfileServiceApplication -Identity $upa - PurgeNonImportedObjects $true
    

    其中:

    • Identity 是用户配置文件同步服务应用程序的 ID。

    备注

    若要只查看或删除用户,请选择管理中心的用户配置文件同步设置中的仅用户选项。类似地,若要同时查看或删除用户和组,请选择管理中心的用户配置文件同步设置中的用户和组选项。

有关详细信息,请参阅 Get-SPServiceApplicationSet-SPProfileServiceApplication

维护配置文件架构更改

配置文件架构更改包括添加新的用户配置文件属性,更改用户配置文件属性映射,或更改配置文件同步连接筛选器等内容。当配置文件架构发生更改时,必须首先执行非定期完全同步,然后再安排定期配置文件同步。有关执行非定期配置文件完全同步所需的步骤,请参阅执行非定期配置文件同步 (SharePoint Server 2010)

重命名配置文件同步服务器

使用 Windows PowerShell 重命名配置文件同步服务器

  1. 验证您是否满足以下最低要求:请参阅 Add-SPShellAdmin

  2. 在“开始”菜单上,单击“所有程序”。

  3. 单击“Microsoft SharePoint 2010 产品”。

  4. 单击“SharePoint 2010 Management Shell”。

  5. 在 Windows PowerShell 命令提示符处,键入以下命令:

    Rename-SPServer -Identity -Name
    

    其中:

    • Identity 是服务器的旧名称。

    • Name 是服务器的新名称。

有关使用 Windows PowerShell 重命名服务器的详细信息,请参阅 Rename-SPServer

将配置文件同步服务移到新服务器

使用管理中心将配置文件同步服务移到新服务器

  1. 验证您是否拥有以下管理凭据:

    • 请参阅 Add-SPShellAdmin

    • 您必须是运行 SharePoint 管理中心网站的计算机上 Farm Administrators 组的成员。

    • 在 SharePoint 场安装过程中创建的 Farm Administrator 帐户还必须是部署用户配置文件同步服务的服务器上的本地管理员。

  2. 在当前配置文件同步服务器上,在 SharePoint 管理中心网站上的“系统设置”部分,单击“管理服务器上的服务”。

  3. 在“用户配置文件同步服务”的旁边,单击“停止”以停止用户配置文件同步服务。

  4. 在新的配置文件同步服务器上,在 SharePoint 管理中心网站上的“系统设置”部分,单击“管理服务器上的服务”。

  5. 在“用户配置文件同步服务”的旁边,单击“启动”以启动用户配置文件同步服务。

  6. 在新的配置文件同步服务器上,在 SharePoint 管理中心网站上的“应用程序管理”部分,单击“管理服务应用程序”。

  7. 在“服务应用程序”页上,单击相应的 User Profile Service 应用程序名称对应的链接。

  8. 在“User Profile Service 应用程序”页上的“同步”部分,单击“启动配置文件同步”。

  9. 在“启动配置文件同步”页上,选择“启动完全同步”,然后单击“确定”。

重置配置文件同步

用户配置文件同步数据库充当用户配置文件信息的暂存区域。存储在配置文件存储和同步数据库中的用户配置文件信息将由 User Profile Service 使用。通过执行下面的步骤,您可以安全地重置用户配置文件同步数据库,而不会丢失配置文件存储中的信息。

使用 Windows PowerShell 重置配置文件同步

  1. 验证您是否满足以下最低要求:

    • 请参阅 Add-SPShellAdmin

    • 您必须是运行 SharePoint 管理中心网站的计算机上 Farm Administrators 组的成员。

    • 在 SharePoint 场安装过程中创建的 Farm Administrator 帐户还必须是部署用户配置文件同步服务的服务器上的本地管理员。

  2. 作为一种预防措施,应备份 User Profile Service 应用程序。有关详细信息,请参阅备份服务应用程序 (SharePoint Server 2010)

  3. 在“开始”菜单上,单击“所有程序”。

  4. 单击“Microsoft SharePoint 2010 产品”。

  5. 单击“SharePoint 2010 Management Shell”。

  6. 在 Windows PowerShell 命令提示符处,键入以下命令:

    停止 SharePoint 2010 定时服务:

    net stop sptimerv4
    

    删除同步数据库中的数据:

    Get-SPDatabase $syncdb=Get-SPDatabase -Id
    

    其中:

    • Id 是用户配置文件同步数据库的 GUID。

    必须完全按照列出的顺序完成以下命令:

    $syncdb.Unprovision()
    $syncdb.Status='Offline'
    Get-SPServiceApplication
    $upa=Get-SPServiceApplication - Id
    $upa.ResetSynchronizationMachine()
    $upa.ResetSynchronizationDatabase()
    

    其中:

    • Id 是用户配置文件同步数据库的 GUID。

    设置同步数据库:

    $syncdb.Provision()
    
  7. 使用 SQL Server Management Studio 将用户配置文件同步服务帐户(服务器场帐户)作为同步数据库上的 dbo 添加。有关如何使用 SQL Server Management Studio 添加 dbo 帐户的详细信息,请参阅如何向 SQL Server 数据库角色添加成员(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=191277&clcid=0x804)(该链接可能指向英文页面)。

  8. 启动 SharePoint 2010 定时服务

    net start sptimerv4
    
  9. 启动配置文件同步服务。有关详细信息,请参阅启动用户配置文件同步服务

  10. 启动用户配置文件同步服务后,重置 IIS:

    iisreset
    
  11. 创建与数据源的连接。有关详细信息,请参阅还原服务应用程序 (Search Server 2010)

  12. 运行配置文件完全同步。有关详细信息,请参阅执行非定期配置文件同步

有关详细信息,请参阅 Get-SPDatabase

将配置文件同步通信限制到特定域控制器

使用 Windows PowerShell 将配置文件同步通信限制到特定域控制器

  1. 验证您是否满足以下最低要求:请参阅 Add-SPShellAdmin

  2. 在“开始”菜单上,单击“所有程序”。

  3. 单击“Microsoft SharePoint 2010 产品”。

  4. 单击“SharePoint 2010 Management Shell”。

  5. 在 Windows PowerShell 命令提示符处,键入以下命令:

    Get-SPServiceApplication $upa=Get-SPServiceApplication -Id
    

    其中:

    • Id 是用户配置文件同步服务的 GUID。
    $upa.UseOnlyPreferredDomainControllers = 1 $upa.Update()
    

    备注

    最多可能需要 5 分钟时间,更改的属性值才能传播到管理中心网站。在管理中心服务器上重置 IIS 将会强制立即加载新值。有关重置 IIS 的详细信息,请参阅 IIS 重置活动(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=179336&clcid=0x804)(该链接可能指向英文页面)。

有关详细信息,请参阅 Get-SPServiceApplication

启动用户配置文件同步服务

使用 Windows PowerShell 启动用户配置文件同步服务

  1. 验证您是否满足以下最低要求:请参阅 Add-SPShellAdmin

  2. 在“开始”菜单上,单击“所有程序”。

  3. 单击“Microsoft SharePoint 2010 产品”。

  4. 单击“SharePoint 2010 Management Shell”。

  5. 在 Windows PowerShell 命令提示符处,键入以下命令:

    Start-SPServiceInstance -Identity
    

    其中:

    • Identity 是用户配置文件同步服务的 ID。

有关详细信息,请参阅 Start-SPServiceInstance

停止用户配置文件同步服务

使用 Windows PowerShell 停止用户配置文件同步服务

  1. 验证您是否满足以下最低要求:请参阅 Add-SPShellAdmin

  2. 在“开始”菜单上,单击“所有程序”。

  3. 单击“Microsoft SharePoint 2010 产品”。

  4. 单击“SharePoint 2010 Management Shell”。

  5. 在 Windows PowerShell 命令提示符处,键入以下命令:

    Stop-SPServiceInstance -Identity
    

    其中:

    • Identity 是用户配置文件同步服务的 ID。

有关详细信息,请参阅 Stop-SPServiceInstance

调整配置文件同步超时

在两种情况下可能会发生超时:

  • 尝试在管理中心的“添加/编辑同步连接”页上填充容器列表时。当状态栏中出现 JavaScript 超时错误时,将会出现这种情况。

  • 在管理中心的“添加/编辑同步连接”页上单击“确定”时。这将导致以下错误消息,并且出现这种情况的原因在于 Forefront Identity Manager Web 服务在创建或更新配置文件同步连接时出现超时:

    请求通道在 00:01:29.9062626 之后等待答复时超时。请增加传递给调用请求的超时值,或增加绑定上的 SendTimeout 值。分配给此操作的时间可能是某个较长超时值的一部分。

使用 Windows PowerShell 调整配置文件同步超时

  1. 验证您是否满足以下最低要求:请参阅 Add-SPShellAdmin

  2. 在“开始”菜单上,单击“所有程序”。

  3. 单击“Microsoft SharePoint 2010 产品”。

  4. 单击“SharePoint 2010 Management Shell”。

  5. 在 Windows PowerShell 命令提示符处,键入以下命令:

    在管理中心的“添加/编辑同步连接”页上为“填充容器”控件设置 JavaScript 超时值(以秒为单位)。

    $upaAppProxy = Get-SPServiceApplicationProxy | ? {$_.name -like 'User Profile Service Proxy'}
    $upaAppProxy.ImportConnAsyncTimeout = 5
    $upaAppProxy.Update()
    

    为 Forefront Identity Manager Web 服务调用设置超时值(以毫秒为单位)。

    $upaApp = Get-SPServiceApplication | ? {$_.name -like 'User Profile Service'}
    $upaApp. FIMWebClientTimeOut = 300000      // 300 seconds = 5 minutes
    $upaApp.Update()
    

有关详细信息,请参阅 Get-SPServiceApplicationProxyGet-SPServiceApplication