在 Lync Server 2013 中测试用户状态发布和订阅

 

上次修改的主题: 2014-06-05

验证计划

每天

测试工具

Windows PowerShell

所需的权限

使用 Lync Server Management Shell 在本地运行时,用户必须是 RTCUniversalServerAdmins 安全组的成员。

使用远程实例Windows PowerShell运行时,必须为用户分配有权运行Test-CsPresence cmdlet 的 RBAC 角色。 若要查看可以使用此 cmdlet 的所有 RBAC 角色的列表,请从Windows PowerShell提示符运行以下命令:

Get-CsAdminRole | Where-Object {$_.Cmdlets -match "Test-CsPresence"}

说明

Test-CsPresence用于确定一对测试用户是否可以登录到 Lync Server,然后交换状态信息。 为此,cmdlet 首先将两个用户记录到系统。 如果这两个登录都成功,则第一个测试用户会要求从第二个用户接收状态信息。 第二个用户发布此信息,Test-CsPresence验证信息是否已成功传输到第一个用户。 交换状态信息后,两个测试用户将从 Lync Server 注销。

运行测试

Test-CsPresence cmdlet 可以使用一对预配置的测试帐户运行, (请参阅“设置运行 Lync Server 测试的测试帐户”) 或启用 Lync Server 的任何两个用户的帐户。 若要使用测试帐户运行此检查,只需指定正在测试的 Lync Server 池的 FQDN。 例如:

Test-CsPresence -TargetFqdn "atl-cs-001.litwareinc.com"

若要使用实际用户帐户运行此检查,必须创建两个Windows PowerShell凭据对象 (对象,这些对象包含每个帐户的帐户名称和密码) 。 然后,在调用 Test-CsPresence 时,必须包括这些凭据对象和两个帐户的 SIP 地址:

$credential1 = Get-Credential "litwareinc\kenmyer"
$credential2 = Get-Credential "litwareinc\davidlongmire"
Test-CsPresence -TargetFqdn "atl-cs-001.litwareinc.com" -PublisherSipAddress "sip:kenmyer@litwareinc.com" -PublisherCredential $credential1 -SubscriberSipAddress "sip:davidlongmire@litwareinc.com" -SubscriberCredential $credential2

有关详细信息,请参阅 Test-CsPresence cmdlet 的帮助文档。

确定成功或失败

如果指定的用户可以交换状态信息,则会收到类似于此内容的输出,结果属性标记为 “成功”:

TargetFqdn: atl-cs-001.litwareinc.com

结果:成功

延迟: 00:00:06.3280315

错误:

诊断:

如果两个用户无法交换状态信息,则结果将显示为“失败”,其他信息将记录在“错误和诊断”属性中:

TargetFqdn: atl-cs-001.litwareinc.com

结果:失败

延迟: 00:00:00

错误:404,找不到

诊断:ErrorCode=4005,Source=atl-cs-001.litwareinc.com,

Reason=Destination URI 要么未为 SIP 启用,要么未启用

存在。

Microsoft.Rtc.Signaling.DiagnosticHeader

例如,以前的输出指出测试失败,因为两个用户帐户中至少有一个无效:帐户不存在或尚未为 Lync Server 启用。 可以通过运行类似于以下内容的命令来验证帐户是否存在,并确定是否为 Lync Server 启用了这些帐户:

"sip:kenmyer@litwareinc.com", "sip:davidlongmire@litwareinc.com" | Get-CsUser | Select-Object SipAddress, Enabled

如果Test-CsPresence失败,则可能需要重新运行测试,这次包括详细参数:

Test-CsPresence -TargetFqdn "atl-cs-001.litwareinc.com" -Verbose

包含 Verbose 参数时,Test-CsPresence将返回在检查指定用户登录到 Lync Server 的功能时尝试的每个操作的分步帐户。 例如:

针对未知的注册请求命中

“Register”活动在“0.0345791”秒内完成。

“SelfSubscribeActivity”活动已启动。

“SelfSubscribeActivity”活动在“0.0041174”秒内完成。

“SubscribePresence”活动已启动。

“SubscribePresence”活动在“0.0038764”秒内完成。

“PublishPresence”活动已启动。

异常“25 秒内未收到状态通知”。 发生 ruing Workflow Microsoft.Rtc.SyntheticTransactions.Workflows.STPresenceWorkflow 执行。

25 秒内未收到状态通知,这可能表明网络问题阻止交换信息。

测试失败的原因

下面是Test-CsPresence失败的原因:

  • 你指定了一个不正确的用户帐户。 可以通过运行类似于以下内容的命令来验证用户帐户是否存在:

    Get-CsUser "sip:kenmyer@litwareinc.com"
    
  • 用户帐户有效,但当前未为 Lync Server 启用该帐户。 若要验证是否为 Lync Server 启用了用户帐户,请运行类似于以下内容的命令:

    Get-CsUser "sip:kenmyer@litwareinc.com" | Select-Object Enabled
    

    如果 Enabled 属性设置为 False,则表示当前未为 Lync Server 启用用户。