Get-CsDiagnosticHeaderConfiguration

 

上一次修改主题: 2012-03-23

返回有关组织中当前正在使用的诊断标头配置设置的信息。诊断标头配置设置可确定 SIP 消息是否附带提供标头信息,此信息在故障排除和错误报告中十分有用。

语法

Get-CsDiagnosticHeaderConfiguration [-Identity <XdsIdentity>] [-LocalStore <SwitchParameter>]

Get-CsDiagnosticHeaderConfiguration [-Filter <String>] [-LocalStore <SwitchParameter>]

详细说明

当您发送 SIP(会话初始协议)消息时,可以选择将 MS 诊断标头附加到每条消息。此消息(对最终用户不可见)包含可用于排除连接问题或报告错误的信息。例如,诊断标头可能包含错误代码,如果发生特定情况,客户端应用程序(例如 Microsoft Lync 2010)可以通过这些错误代码采取预先确定的操作过程。

对于在您的内部网络中发送的 SIP 消息,几乎没有理由不包括这些诊断标头:它们对消息大小影响甚微,而且可用作管理员尝试解决连接问题的宝贵工具。但是,诊断标头还可能包含您不希望提供给内部网络之外的人的信息,如 SIP 服务器的完全限定域名 (FQDN)。因此,诊断标头配置设置使您可以确定是否要将诊断标头发送给外部网络上的用户(例如,联盟域中的用户)和/或外部用户。(外部用户是已从内部网络外部连接但尚未通过身份验证的用户。)

默认情况下,标头不包括在发送给外部网络用户或未经身份验证的用户的消息中。但是,可以修改全局诊断标头设置以对外部网络用户和/或未经身份验证的用户包括标头。或者,您还可在 site 作用域或 service 作用域(适用于 边缘服务器 或 Registrar 服务)创建自定义设置。这样,可以选择在从一个站点或通过一个 边缘服务器 发送的消息中包括诊断标头,而在从其他站点或通过其他边缘服务器发送的消息中禁止使用标头。

Get-CsDiagnosticHeaderConfiguration cmdlet 提供了一种检索有关组织中当前正在使用的诊断标头配置设置的信息的方法。

谁能运行此 cmdlet:默认情况下,以下各组的成员有权在本地运行 Get-CsDiagnosticHeaderConfiguration cmdlet:RTCUniversalUserAdmins、RTCUniversalServerAdmins。要返回分配了此 cmdlet 的所有基于角色的访问控制 (RBAC) 角色列表(包括您自己创建的任何自定义 RBAC 角色),请从 Windows PowerShell 提示符处运行以下命令:

Get-CsAdminRole | Where-Object {$_.Cmdlets –match "Get-CsDiagnosticHeaderConfiguration"}

参数

参数 必需 类型 描述

Identity

可选

Xds 标识

要返回的诊断标头配置设置的唯一标识符。要返回在 site 作用域配置的设置,请使用以下类似语法:-Identity "site:Redmond"。要返回在 service 作用域配置的设置,请使用以下类似语法:-Identity "service:EdgeServer:atl-edge-001.litwareinc.com"。要返回全局设置,请使用以下语法:-Identity global。

如果未指定此参数,则将返回所有当前正在使用中的诊断标头配置设置。

Filter

可选

字符串

使您可以在指定要返回的设置集合时使用通配符。例如,以下语法返回在 site 作用域配置的所有设置:-Filter "site:*"。此语法可返回在 service 作用域配置的所有设置:-Filter "service:*"。

请注意,不能在同一个命令中同时使用 Filter 和 Identity 参数。

LocalStore

可选

开关参数

从中央管理存储的本地副本,而不是从中央管理存储本身检索诊断标头配置数据。

输入类型

无。Get-CsDiagnosticHeaderConfiguration 不接受通过管道传递的输入。

返回类型

Get-CsDiagnosticHeaderConfiguration 返回 Microsoft.Rtc.Management.WritableConfig.Settings.Diagnostics.DiagnosticHeaderSettings 对象的实例。

示例

-------------------------- 示例 1 --------------------------

Get-CsDiagnosticHeaderConfiguration

上述命令返回有关组织中当前正在使用的所有诊断标头配置设置的信息。这是通过调用不带任何参数的 Get-CsDiagnosticHeaderConfiguration 来实现的。

-------------------------- 示例 2 --------------------------

Get-CsDiagnosticHeaderConfiguration -Identity site:Redmond

在示例 2 中,返回诊断标头配置设置的单个集合:Identity 为 site:Redmond 的集合。

-------------------------- 示例 3 --------------------------

Get-CsDiagnosticHeaderConfiguration -Filter "service:*"

示例 3 中显示的命令返回在 service 作用域配置的所有诊断标头设置。这是通过调用 Get-CsDiagnosticHeaderConfiguration 和 Filter 参数来实现的,筛选器值“service:*”可确保仅返回 Identity 以字符“service:”开头的设置。

-------------------------- 示例 4 --------------------------

Get-CsDiagnosticHeaderConfiguration | Where-Object {$_.SendToExternalNetworks -eq $True}

示例 4 返回允许发送到外部网络的所有诊断标头配置设置。为执行此任务,该命令首先调用不带任何参数的 Get-CsDiagnosticHeaderConfiguration,以返回当前正在使用中的所有诊断标头设置的集合。然后,将此集合通过管道传递到 Where-Object cmdlet,该 cmdlet 将仅选择 SendToExternalNetworks 属性等于 True 的设置。

-------------------------- 示例 5 --------------------------

Get-CsDiagnosticHeaderConfiguration | Where-Object {$_.SendToExternalNetworks -eq $True -or $_.SendToOutsideUnauthenticatedUsers -eq $True}

示例 5 中显示的命令返回有关至少满足下列条件之一的诊断标头配置设置的信息:1) SendToExternalNetworks 属性等于 True;以及/或者 2) SendToOutsideUnauthenticatedUsers 属性等于 True。为执行此操作,该命令首先使用 Get-CsDiagnosticHeaderConfiguration 以返回当前正在使用中的所有诊断标头设置的集合。然后,将此集合通过管道传递到 Where-Object,后者将挑选出 SendToExternalNetworks 属性和/或 SendToOutsideUnauthenticatedUsers 属性等于 True 的设置。

-or 运算符指定,只要设置满足指定的条件之一,就会返回。要使设置满足两个指定的条件,请改用 -and 运算符:

Where-Object {$_.SendToExternalNetworks -eq $True -and $_.SendToOutsideUnauthenticatedUsers -eq $True}