Remove-CsDiagnosticHeaderConfiguration

 

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

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

语法

Remove-CsDiagnosticHeaderConfiguration -Identity <XdsIdentity> [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

详细说明

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

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

或者,您还可在 site 作用域或 service 作用域(适用于 边缘服务器 或 Registrar 服务)创建自定义设置。这样,可以选择在从一个站点或通过一个 边缘服务器 发送的消息中包括诊断标头,而在从其他站点或通过其他边缘服务器发送的消息中禁止使用标头。

任何在 site 或 service 作用域创建的新集合,都可以在稍后通过使用 Remove-CsDiagnosticHeaderConfiguration cmdlet 删除。还可以针对全局集合运行此 cmdlet。但在这种情况下,将不会删除全局集合,因为您无法删除全局集合,而是将全局集合中包含的两个属性(SendToExternalNetworks 和 SendToOutsideUnauthenticatedUsers)重置为默认值(二者均为 False)。

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

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

参数

参数 必需 类型 描述

Identity

必需

Xds 标识

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

此外,还可针对全局配置设置运行 Remove-CsDiagnosticHeaderConfiguration;在这种情况下,请使用以下语法:–Identity global.但是请注意,将不会实际删除全局设置,而是将全局设置中的属性重置为默认值。

Force

可选

开关参数

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

WhatIf

可选

开关参数

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

Confirm

可选

开关参数

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

输入类型

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

返回类型

无。Remove-CsDiagnosticHeaderConfiguration 会删除 Microsoft.Rtc.Management.WritableConfig.Settings.Diagnostics.DiagnosticHeaderSettings 对象的现有实例。

示例

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

Remove-CsDiagnosticHeaderConfiguration -Identity site:Redmond

在示例 1 中,删除 Identity 为 site:Redmond 的诊断标头配置设置。

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

Get-CsDiagnosticHeaderConfiguration -Filter service:* | Remove-CsDiagnosticHeaderConfiguration

示例 2 中显示的命令删除在 service 作用域应用的所有诊断标头配置设置。为执行此操作,该命令首先调用 Get-CsDiagnosticHeaderConfiguration 和 Filter 参数。筛选器值“service:*”将返回数据限制为 Identity 以字符“service:”开头的设置。然后,将筛选出的集合通过管道传递到 Remove-CsDiagnosticHeaderConfiguration,后者将删除集合中的每一项。

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

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

上述命令删除允许发送到外部网络的所有诊断标头配置设置。为执行此操作,该命令首先使用 Get-CsDiagnosticHeaderConfiguration 以返回当前正在使用中的所有诊断标头设置的集合。将该集合通过管道传递到 Where-Object cmdle,后者将仅挑选出 SendToExternalNetworks 属性等于 True 的设置。然后,将这些设置通过管道传递到 Remove-CsDiagnosticHeaderConfiguration,后者将删除每个允许发送到外部网络的设置。