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>]]
詳細描述
系統管理員可以選擇在每則傳送到組織的 SIP 訊息上附加 ms-diagnostics 標頭。此訊息 (一般使用者看不到) 包含有助於疑難排解連線問題或報告錯誤的資訊。例如,診斷標頭可包含啟用用戶端應用程式 (例如 Microsoft Lync 2010) 的錯誤代碼,以在發生特定情況時採取預先決定動作。
若是在內部網路內傳送的 SIP 訊息,有幾個理由可以不包含這些診斷標頭:它們對訊息大小的影響最小,且對於要解決連線問題的系統管理員來說可能是沒價值的工具。但是,診斷標頭也包含了一些您可能不想讓內部網路以外人員看到的資訊,像是 SIP 伺服器的完整網域名稱 (FQDN)。因此,診斷標頭組態設定可讓您決定是否傳送診斷標頭給外部網路使用者 (例如,同盟網域的使用者) 和/或外部使用者 (外部使用者係指從內部網路之外進行連線,且尚未經過驗證的使用者)。
依預設,標頭不會包含在傳送給外部網路或未驗證的使用者的訊息中。不過,您可以修改通用診斷標頭設定,以將標頭包含在給外部網路和/或未驗證的使用者的訊息中。或者,您可以在站台範圍或服務範圍 (針對 Edge Server 或登錄器服務) 建立自訂設定。這樣一來,您就可以選擇包含從某一個站台或經由某一個 Edge Server 傳送的訊息診斷標頭,同時不允許從其他站台或經由其他 Edge Server 傳送的訊息診斷標頭。
Set-CsDiagnosticHeaderConfiguration 指令程式提供您修改現有診斷標頭組態設定集合的方法。您可使用這個指令程式,啟用 (或停用) 外部網路和/或外部使用者的診斷標頭傳輸。
誰可以執行此 Cmdlet:下列群組的成員預設會獲授權可以在本機上執行 Set-CsDiagnosticHeaderConfiguration Cmdlet:RTCUniversalServerAdmins。若要傳回所有獲指派此 Cmdlet 的角色存取控制 (RBAC) 角色清單 (包括您自行建立的自訂 RBAC 角色),請在 Windows PowerShell 提示字元中執行下列命令:
Get-CsAdminRole | Where-Object {$_.Cmdlets –match "Set-CsDiagnosticHeaderConfiguration"}
參數
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
Identity |
選用 |
Xds 識別身份 |
要修改之診斷標頭組態設定的唯一識別碼。若要修改在站台範圍設定的設定值,請使用如下的語法:-Identity "site:Redmond"。若要修改設定於服務範圍的設定,請使用類似下列的語法:-Identity "service:EdgeServer:atl-cs-001.litwareinc.com"。若要修改通用設定,請使用此語法:-Identity global。 若未指定此參數,則 Set-CsDiagnosticHeaderConfiguration 將會自動修改通用設定。 |
Instance |
選用 |
DiagnosticHeaderSettings 物件 |
允許您將物件參照傳遞給 Cmdlet,而不設定個別參數值。 |
SendToExternalNetworks |
選用 |
布林值 |
設為 True 時,會在傳送給外部網路使用者 (例如,同盟網域的使用者) 的訊息附加診斷標頭。預設值為 False。 |
SendToOutsideUnauthenticatedUsers |
選用 |
布林值 |
設為 True 時,會在傳送給外部使用者的訊息附加診斷標頭。外部使用者係指從內部網路之外進行連線 (例如,經由 Proxy 伺服器),且尚未經過驗證的使用者。 預設值為 False。 |
Force |
選用 |
切換參數 |
隱藏顯示當執行命令時可能發生的任何非嚴重錯誤訊息。 |
WhatIf |
選用 |
切換參數 |
描述執行命令後的結果,但無須實際執行命令。 |
Confirm |
選用 |
切換參數 |
執行命令前先要求您確認。 |
輸入類型
Microsoft.Rtc.Management.WritableConfig.Settings.Diagnostics.DiagnosticHeaderSettings 物件。Set-CsDiagnosticHeaderConfiguration 會接受診斷標頭設定物件的管線執行個體。
傳回類型
Set-CsDiagnosticHeaderConfiguration 不會傳回任何物件或值。而是此指令程式會修改 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 指令程式,這樣只會選取 SendToExternalNetworks 屬性等於 True 的設定。然後將該篩選過的集合傳送至 Set-CsDiagnosticHeaderConfiguration,這會將集合中每個項目的 SendToOutsideUnauthenticatedUsers 屬性值設為 True。