Set-CsDiagnosticHeaderConfiguration

 

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

修改组织中当前使用的现有诊断标头配置设置集合。诊断标头配置设置确定 SIP 消息是否附带提供对故障排除和错误报告有帮助的标头信息。

语法

Set-CsDiagnosticHeaderConfiguration [-Identity <XdsIdentity>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-SendToExternalNetworks <$true | $false>] [-SendToOutsideUnauthenticatedUsers <$true | $false>] [-WhatIf [<SwitchParameter>]]

Set-CsDiagnosticHeaderConfiguration [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-Instance <PSObject>] [-SendToExternalNetworks <$true | $false>] [-SendToOutsideUnauthenticatedUsers <$true | $false>] [-WhatIf [<SwitchParameter>]]

详细说明

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

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

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

Set-CsDiagnosticHeaderConfiguration cmdlet 提供了一种方法,用于修改现有的诊断标头配置设置集合。可以使用此 cmdlet 来启用(或禁用)将诊断标头传输到外部网络用户和/或外部用户。

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

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

参数

参数 必需 类型 描述

Identity

可选

Xds 标识

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

如果未指定此参数,则 Set-CsDiagnosticHeaderConfiguration 将自动修改全局设置。

Instance

可选

DiagnosticHeaderSettings 对象

允许您将对对象的引用传递到 cmdlet,而不是设置单个参数值。

SendToExternalNetworks

可选

布尔值

设置为 True 时,诊断标头将附加到发送给外部网络用户(例如,联盟域中的用户)的消息中。默认值为 False。

SendToOutsideUnauthenticatedUsers

可选

布尔值

设置为 True 时,诊断标头将附加到发送给外部用户的消息中。外部用户是已从内部网络外部(例如,通过代理服务器)连接但尚未通过身份验证的用户。

默认值为 False。

Force

可选

开关参数

禁止显示运行此命令时可能出现的任何非严重错误消息。

WhatIf

可选

开关参数

描述如果执行命令会发生什么情况(无需实际执行命令)。

Confirm

可选

开关参数

在执行命令之前提示您进行确认。

输入类型

Microsoft.Rtc.Management.WritableConfig.Settings.Diagnostics.DiagnosticHeaderSettings 对象。Set-CsDiagnosticHeaderConfiguration 接受通过管道传递的诊断标头设置对象的实例。

返回类型

Set-CsDiagnosticHeaderConfiguration 不会返回任何对象或值。此 cmdlet 会修改 Microsoft.Rtc.Management.WritableConfig.Settings.Diagnostics.DiagnosticHeaderSettings 对象的现有实例。

示例

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

Set-CsDiagnosticHeaderConfiguration -Identity site:Redmond -SendToOutsideUnauthenticatedUsers $True

上述命令修改 Identity 为 site:Redmond 的诊断标头配置设置。在此示例中,SendToOutsideUnauthenticatedUsers 属性的值设置为 True。

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

Get-CsDiagnosticHeaderConfiguration | Set-CsDiagnosticHeaderConfiguration -SendToOutsideUnauthenticatedUsers $True

示例 2 中显示的命令是示例 1 中显示的命令的变体;但在此示例中,将修改当前使用的所有诊断标头配置设置的 SendToOutsideUnauthenticatedUsers 属性。为此,首先调用了不带任何参数的 Get-CsDiagnosticHeaderConfiguration;这将返回当前使用的所有诊断标头设置的集合。然后,将该集合通过管道传递到 Set-CsDiagnosticHeaderConfiguration,后者会将集合中每一项的 SendToOutsideUnauthenticatedUsers 属性设置为 True。

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

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

在示例 3 中,将再次修改 SendToOutsideUnauthenticatedUsers 属性,但这次仅针对 SendToExternalNetworks 属性为 True 的诊断标头设置。为了执行此任务,该命令首先使用 Get-CsDiagnosticHeaderConfiguration 返回当前使用的所有诊断标头配置设置的集合。该集合将通过管道传递到 Where-Object cmdlet,后者会仅选择 SendToExternalNetworks 属性等于 True 的设置。然后,将筛选出的集合通过管道传递到 Set-CsDiagnosticHeaderConfiguration,后者会将集合中每一项的 SendToOutsideUnauthenticatedUsers 属性值设置为 True。