在 SharePoint Server 2013 中维护用户配置文件同步设置

 

**上一次修改主题:**2017-08-02

**摘要:**了解如何配置用户配置文件同步之后可以保持在SharePoint Server 2013中的用户配置文件同步设置。

SharePoint Server 2013中的配置文件同步启用用户配置文件服务的实例的管理员才能同步用户和组配置文件信息存储在目录服务中跨整个企业使用SharePoint Server 2013配置文件存储区中存储的配置文件信息。配置用户配置文件同步之后,您必须完成任务,以维护这些设置。这些任务包括,例如,删除的用户的帐户将被禁用或删除、 移动或重命名服务器,以及启动或停止该用户配置文件同步服务。有关详细信息,请参阅为 SharePoint Server 2013 规划配置文件同步

要运行本文中的PowerShell cmdlet,验证您具有以下成员:

  • SQL Server 实例上的 securityadmin 固定服务器角色。

  • 要更新的所有数据库上的 db_owner 固定数据库角色。

  • 运行 PowerShell cmdlet 的服务器上的 Administrators 组。

重要

本文适用于仅SharePoint Server 2013。

本文内容:

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

  • 排除其帐户被禁用的用户

  • 删除过时的用户和组

  • 维护配置文件架构更改

  • 重命名运行用户配置文件同步服务的服务器

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

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

  • 调整用户配置文件同步超时

重命名用户或更改用户域

SharePoint Server 2013允许您处理几个不同的用户迁移方案。对于 Active Directory 域服务 (AD DS) 处理方案的示例如下:

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

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

  • 在 AD DS 中的用户帐户所在的组织单位 (OU) 容器中包含的更改可分辨的名称 (DN) 的更改。例如,如果用户的可分辨名称在移动 AD DS"用户 = EUROPE\John Smith,经理 = CN = 陈先生,OU = 用户,直流 = EMEA1,直流 = corp,DC = contoso,直流 = com"到"用户 = EUROPE\John Smith,经理 = CN = 陈先生,OU = 经理,DC = EMEA1,直流 = corp,DC = contoso,直流 = com", MigrateUser命令更新该用户的用户配置文件存储。同步用户配置文件从 AD DS EMEA1.corp.contoso.com 到SharePoint Server 2013的用户配置文件存储时,将更新为 John Smith 的用户配置文件。

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

  1. 确认执行此过程的用户帐户拥有以下凭据:

    • 执行此过程的用户帐户是运行 SharePoint 管理中心网站 的计算机上 服务器场管理员 组的成员。

    • 执行此过程的用户帐户是在其上安装了用户配置文件同步服务的计算机上的 管理员 组的成员。

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

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

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

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

  6. 运行用户配置文件同步。有关详细信息,请参阅在 SharePoint 服务器中手动启动配置文件同步

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

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

排除其帐户被禁用的用户

您可以排除在SharePoint Server 2013中使用排除过滤器在 AD DS 中被禁用帐户的用户。有关排除被禁用帐户的用户所需的步骤,请参阅在 SharePoint Server 2013 中同步用户和组配置文件

删除过时的用户和组

有两个原因为什么过时的用户或组可以存在于SharePoint Server 2013的用户配置文件存储:

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

  • 过时的用户和组: 在用户配置文件存储用户和组,未导入的配置文件同步存在。这可以发生,例如,如果您从早期版本的SharePoint Server 2013升级并选择只与SharePoint Server 2013同步域的子集。

若要查找并使用PowerShell删除过时的用户和组

  1. 确认您具有以下成员身份:

    • ImportExport_GetNonimportedObjectsImportExport_PurgeNonimportedObjects 的执行权限将过程存储在配置文件数据库中。
  2. 启动 SharePoint 命令行管理程序。

  3. 在 PowerShell 命令提示符处,执行以下操作:

    1. 若要获取 User Profile Service 应用程序对象,请键入以下命令:

      $upa = Get-spserviceapplication <identity>
      

      其中 <identity> 是用户配置文件同步服务应用程序的 GUID。

    2. 若要查看要删除的用户和组,请键入以下命令:

      Set-SPProfileServiceApplication $upa -GetNonImportedObjects $true
      
    3. 若要删除过时的用户和组,请键入以下命令:

      警告

      此操作无法撤消。

      Set-SPProfileServiceApplication $upa -PurgeNonImportedObjects $true
      

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

维护配置文件架构更改

配置文件架构更改包括添加新的用户配置文件属性,更改用户配置文件属性映射,或更改配置文件同步连接筛选器等。配置文件架构更改时,必须先执行完全非周期性同步之前安排定期的配置文件同步。执行完全非周期性的配置文件同步所需的步骤,请参阅在 SharePoint 服务器中手动启动配置文件同步

重命名运行用户配置文件同步服务的服务器

使用以下过程重命名配置文件同步服务器。

若要重命名的服务器,通过使用PowerShell运行用户配置文件同步服务

  1. 启动 SharePoint 命令行管理程序。

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

    Rename-SPServer <Identity> -Name <newName>
    

    其中:

    • Identity 是服务器的旧名称。

    • newName 是服务器的新名称。

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

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

使用以下过程将用户配置文件同步服务移到新服务器。

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

  1. 确认执行此过程的用户帐户拥有以下凭据:

    • 执行此过程的用户帐户是运行 SharePoint 管理中心网站 的计算机上 服务器场管理员 组的成员。

    • 执行此过程的用户帐户是在其上安装用户配置文件同步服务的计算机上的 管理员 组的成员。这是启动用户配置文件同步服务所需的。启动用户配置文件同步服务后,可以从 管理员 组删除服务器场帐户。

  2. 在当前运行用户配置文件同步服务的服务器上,在 SharePoint 管理中心网站的&quot;系统设置&quot;部分,单击&quot;管理服务器上的服务&quot;。

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

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

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

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

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

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

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

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

使用以下过程将配置文件同步通信限制到特定域控制器。

若要通过使用 Windows PowerShell 限制到特定的域控制器的用户配置文件同步通信

  1. 启动 SharePoint 命令行管理程序。

  2. 若要获取 User Profile Service 应用程序对象,请键入以下命令:

    $upa=Get-SPServiceApplication <GUID>
    

    其中 <GUID> 是用户配置文件同步服务应用程序的 GUID。

  3. 若要将配置文件同步通信限制到特定域控制器,请键入以下命令:

    Set-SPProfileServiceApplication $upa -UseOnlyPreferredDomainControllers $true
    

    备注

    可能需要 5 分钟的时间,更改后的属性值才能传播到 SharePoint 管理中心网站。在管理中心服务器上重置 IIS 会强制立即加载新值。若要详细了解如何重置 IIS,请参阅 IIS Reset Activity(IIS 重置活动)。

有关详细信息,请参阅获取 SPServiceApplication 和一组 SPProfileServiceApplication。

调整用户配置文件同步超时

以下情况中会出现超时:

  • 尝试在管理中心的&quot;添加/编辑同步连接&quot;页上连接到目录服务服务器时。

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

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

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

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

  1. 如果要更改连接到目录服务器的超时值,请执行以下操作:

    1. 将以下代码粘贴到文本编辑器(如记事本)中:

      $upsAppProxy = Get-SPServiceApplicationProxy <UPSAppProxyGUID>
      $upsAppProxy.LDAPConnectionTimeout = <NewTimeout>
      $upsAppProxy.Update()
      
    2. 用 User Profile Service 应用程序代理的 GUID 替换 <UPSAppProxyGUID>,并用以秒为单位的新超时值替换 <NewTimeout>。默认超时值为 120 秒。

    3. 将文件保存为扩展名为 .ps1 的 ANSI 编码文本文件。

  2. 如果要更改&quot;填充容器&quot;控件的超时值,请执行以下操作:

    1. 将以下代码粘贴到文本编辑器(如记事本)中:

      $upsAppProxy = Get-SPServiceApplicationProxy <UPSAppProxyGUID>
      $upsAppProxy.ImportConnAsyncTimeout = <NewTimeout>
      $upsAppProxy.Update()
      
    2. 如果要更改 Forefront Identity Manager Web 服务调用的超时值,请执行以下操作:

      用 User Profile Service 应用程序代理的 GUID 替换 <UPSAppProxyGUID>,并用以秒为单位的新超时值替换 <NewTimeout>。默认超时值为 1,000 秒(大约 17 分钟)。

    3. 将以下代码粘贴到文本编辑器(如记事本)中:

      $upsApp = Get-SPServiceApplication 
      <UPSAppGUID>
      $upsApp.FIMWebClientTimeOut = 
      <NewTimeout>
      $upsApp.Update()
      
    4. 用 User Profile Service 应用程序的 GUID 替换 <UPSAppGUID>,并用以毫秒为单位的新超时值替换 <NewTimeout>。默认超时值为 300,000 秒(大约 5 分钟)。

    5. 将文件保存为扩展名为 .ps1 的 ANSI 编码文本文件,例如 AdjustProfileSyncTimeouts.ps1。

  3. 在&quot;开始&quot;菜单上,单击&quot;所有程序&quot;。

  4. 单击&quot;Microsoft SharePoint 2013 产品&quot;。

  5. 单击&quot;SharePoint 2013 Management Shell&quot;。

  6. 转到保存该文件的目录。

  7. 在 Microsoft PowerShell 命令提示符处,键入以下命令以执行脚本文件:

    ./<file name>.ps1
    

    其中,<file name> 是要执行的文件的名称。

有关详细信息,请参阅获取 SPServiceApplicationProxy 和 Get SPServiceApplication。