将 Microsoft Lync Server 2013 配置为使用统一的联系人存储

 

上次修改的主题: 2014-02-07

统一联系人存储使用户能够维护单个联系人列表,然后在多个应用程序(包括 Microsoft Lync 2013、Microsoft Outlook 2013 和 2013 Microsoft Outlook Web App)中提供这些联系人。 为用户启用统一联系人存储时,用户的联系人不会存储在 Microsoft Lync Server 2013 中,然后使用 SIP 协议进行检索。 相反,他或她的联系人存储在 2013 Microsoft Exchange Server,并使用 Exchange Web Services 进行检索。

注意

从技术上讲,联系人信息存储在用户的 Exchange 2013 邮箱中找到的一对文件夹中。 联系人本身存储在名为 Lync Contacts 的文件夹中,该文件夹对最终用户可见;有关联系人的元数据存储在最终用户不可见的子文件夹中。

为用户启用统一的联系人存储库

如果已在 Lync Server 2013 和 Exchange 2013 之间配置服务器到服务器的身份验证,则还启用了统一联系人存储的使用;无需其他服务器配置。 但是,若要将用户的联系人移至统一的联系人存储库,则需要执行额外的用户帐户配置。 默认情况下,用户联系人保留在 Lync Server 中,而不是在统一的联系人存储中。

使用 Lync Server 用户服务策略管理对统一联系人存储的访问。 用户服务器策略只具有一个属性 (UcsAllowed);此属性用于确定存储用户联系人的位置。 如果用户由用户服务策略管理,其中 UcsAllowed 已设置为 True ($True) ,则用户的联系人将存储在统一的联系人存储中。 如果用户由用户服务策略管理,其中 UcsAllowed 已设置为 False ($False) ,则其联系人将存储在 Lync Server 中。

安装 Lync Server 2013 时,也会安装在全局范围内配置的单个用户服务策略 () 。 此策略中的 UcsAllowed 值将设置为 True,这意味着在默认情况下,用户联系人将存储在统一联系人存储中(假设已部署和配置它)。 若要将所有用户联系人迁移到统一联系人存储,根本不必执行任何操作。

如果您不想将所有联系人都迁移到统一联系人存储,您可以通过在全局策略中将 UcsAllowed 属性设置为 False 来对所有用户禁用统一联系人存储:

Set-CsUserServicesPolicy -Identity global -UcsAllowed $False

禁用全局策略中的统一联系人存储后,可以创建一个支持使用统一联系人存储的每个用户策略;这样,你可以让一些用户将其联系人保留在统一的联系人存储中,而其他用户则继续将其联系人保留在 Lync Server 中。 可通过使用与以下命令类似的命令来创建每用户的用户服务策略:

New-CsUserServicesPolicy -Identity "AllowUnifiedContactStore" -UcsAllowed $True

在创建新的策略后,您必须将此策略分配给应有权访问统一的联系人存储库的任何用户。 可通过使用与以下内容类似的命令来将每用户策略分配给用户:

Grant-CsUserServicesPolicy -Identity "Ken Myer" -PolicyName "AllowUnifiedContactStore"

分配策略后,Lync Server 将开始将用户的联系人迁移到统一的联系人存储。 迁移完成后,用户将将其联系人存储在 Exchange 而不是 Lync Server 中。 如果用户恰好在迁移完成时登录到 Lync 2013,则会显示一个消息框,要求他或她注销 Lync,然后重新登录以完成该过程。 如果未向用户分配此每用户策略,则用户的联系人不会存储到统一联系人存储中。 这是因为这些用户受全局策略管理,而全局策略中已禁止使用统一联系人存储。

可以通过从 Lync Server Management Shell 中运行 Test-CsUnifiedContactStore cmdlet 来验证用户的联系人是否已成功迁移到统一联系人存储:

Test-CsUnifiedContactStore -UserSipAddress "sip:kenmyer@litwareinc.com" -TargetFqdn "atl-cs-001.litwareinc.com"

如果Test-CsUnifiedContactStore成功,则表示用户的联系kenmyer@litwareinc.com 人已迁移到统一的联系人存储。

回滚统一的联系人存储库

例如,如果需要从统一联系人存储中删除用户的联系人 (,如果需要在 Microsoft Lync Server 2010 上重新托管用户,因此无法再使用统一联系人存储) 必须执行两项操作。 首先,您必须为用户分配一个新的用户服务策略,此策略禁止将联系人存储在统一的联系人存储库中。 (即,UcsAllowed 属性已设置为$False.) 如果没有此类策略,则可以使用如下所示的命令创建一个策略:

New-CsUserServicesPolicy -Identity NoUnifiedContactStore -UcsAllowed $False

然后,可通过使用与以下内容类似的命令分配此新的每用户策略 (NoUnifiedContactStore):

Grant-CsUserServicesPolicy -Identity "Ken Myer" -PolicyName NoUnifiedContactStore

上面的命令将新策略分配给用户 Ken Myer,并且还阻止将 Ken 的联系人迁移到统一的联系人存储库中。

注意

在某些情况下,只需取消分配用户的当前用户服务策略即可实现相同的净效果。 例如,假定 Ken Myer 具有启用统一的联系人存储库的每用户用户服务策略,但您的全局策略禁止使用统一的联系人存储库。 在这种情况下,可以取消分配 Ken 的按用户服务策略。 在执行此操作后,Ken 将自动由全局策略管理,因此他将不再能够访问统一的联系人存储库。
若要取消分配以前分配的每个用户策略,请使用与之前相同的命令,但这次将 PolicyName 参数设置为 null 值:
Grant-CsUserServicesPolicy –Identity "Ken Myer" –PolicyName $Null

在使用统一的联系人存储库时,请务必记住术语“阻止将 Ken 的联系人迁移到统一的联系人存储库中”。 仅为 Ken 分配一个新的用户服务策略并不会将其联系人从统一的联系人存储库中移出。 当用户登录到 Lync Server 2013 时,系统会检查用户的用户服务策略,以查看其联系人是否应保留在统一的联系人存储中。 如果回答为“是”(即,在 UcsAllowed 属性设置为 $True 的情况下),则这些联系人将被迁移到统一的联系人存储库中(假定这些联系人尚未包含在统一的联系人存储库中)。 如果答案是否为“否”,则 Lync Server 只需忽略用户的联系人并转到下一个任务。 这意味着无论 UcsAllowed 属性的值如何,Lync Server 都不会自动将用户的联系人从统一联系人存储中移出。

这也意味着,在为用户分配新的用户服务策略后,必须运行 Invoke-CsUcsRollback cmdlet,以便将用户的联系人移出 Exchange 2013 并返回到 Lync Server 2013。 例如,在为 Ken Myer 分配一个新的用户服务策略后,可使用以下命令将用户的联系人从统一的联系人存储库中移出:

Invoke-CsUcsRollback -Identity "Ken Myer"

如果更改用户服务策略但不运行 Invoke-CsUcsRollback cmdlet,则不会从统一的联系人存储库中删除 Ken 的联系人。 如果运行 Invoke-CsUcsRollback 但不更改 Ken Myer 的用户服务策略,会出现什么情况? 在此情况下,会暂时从统一的联系人存储库中删除 Ken 的联系人。 请务必记住此删除是暂时性的这一事实。 从统一联系人存储中删除 Ken 的联系人后,Lync Server 2013 将等待 7 天,然后检查是否已将哪些用户服务策略分配给 Ken。 如果仍为 Ken 分配了允许使用统一的联系人存储库的策略,则其联系人将被自动移回联系人存储库中。 若要从统一的联系人存储库中永久性删除联系人,您必须更改用户服务策略并运行 Invoke-CsUcsRollback cmdlet。

由于存在可影响迁移的大量变量,因而很难估计将帐户完全迁移到统一存储库会用多长时间。 但一般说来,迁移不会立即生效:即使迁移的联系人数量不多,完成迁移也可能要用 10 分钟或更长时间。