共用方式為


Set-CsRgsWorkflow

 

上次修改主題的時間: 2012-03-23

修改現有的回應群組工作流程。工作流程可決定 回應群組應用程式 接到電話時採取的動作。

語法

Set-CsRgsWorkflow -Instance <Workflow> [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

詳細描述

工作流程或許是 回應群組應用程式 中的關鍵元素。每個工作流程只會與一個電話號碼產生關聯,當有人撥打該號碼時,工作流程便會決定如何處理這通電話。例如,系統會將電話路由傳送至一系列的互動語音回應 (IVR) 問題,這些問題會提示來電者輸入額外的資訊 (例如「硬體支援請按 1)。如需要軟體支援,請按 2。」)或者,來電可能會被放置在佇列中並保留來電者,直到專員可接聽來電。專員是否可接聽電話的狀態,也是由工作流程指定的:工作流程可用來設定營業時間 (一星期的哪幾天和哪些時段會有專員接聽電話) 與假日 (專員無法接聽電話的日子)。

Set-CsRgsWorkflow 指令程式提供您修改現有工作流程屬性的方法;例如,您可以變更工作流程的電話號碼、變更與工作流程相關聯的專員群組,或變更每當觸發工作流程時要採取的預設動作 (亦即,每當有人撥打與工作流程相關聯的電話號碼)。

Set-CsRgsWorkflow 不會直接修改工作流程本身。反之,如果您必須變更工作流程,您必須先使用 Get-CsRgsWorkflow 來建立該工作流程的物件參考;也就是說,請擷取有興趣的工作流程,然後將傳回的物件儲存在變數中。建立物件參考之後,您修改記憶體中的物件內容,然後使用 Set-CsRgsWorkflow 將這些變更寫回實際的回應群組應用程式工作流程。如果您沒有呼叫 Set-CsRgsWorkflow,則您的變更只會存在於記憶體中,且當您關閉 Windows PowerShell 或刪除物件參考變數時,變更就會消失。

誰可以執行此 Cmdlet:下列群組的成員預設會獲授權可以在本機上執行 Set-CsRgsWorkflow Cmdlet:RTCUniversalServerAdmins。若要傳回所有獲指派此 Cmdlet 的角色存取控制 (RBAC) 角色清單 (包括您自行建立的自訂 RBAC 角色),請在 Windows PowerShell 提示字元中執行下列命令:

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

參數

參數 必要 類型 描述

Instance

必要

工作流程物件

待修改 回應群組應用程式 工作流程的物件參考。物件參考通常是使用 Get-CsRgsWorkflow 指令程式來擷取,並將傳回的值指派至變數;例如,此命令將物件參考傳回至名為 Help Desk 的工作流程,並將該物件參考儲存在名為 $x 的變數中:

$x = Get-CsRgsWorkflow service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk"

Instance 參數是位置參數:只要工作流程的物件參考是命令中使用的第一個參數值,就可以省略。這表示下列兩個命令的功能相同:

Set-CsRgsWorkflow –Instance $x

Set-CsRgsWorkflow $x

Force

選用

切換參數

隱藏顯示當執行命令時可能發生的任何非嚴重錯誤訊息。

WhatIf

選用

切換參數

描述執行命令後的結果,但無須實際執行命令。

Confirm

選用

切換參數

執行命令前先要求您確認。

輸入類型

Microsoft.Rtc.Rgs.Management.WritableSettings.Workflow 物件。Set-CsRgsWorkflow 接受管線傳送的回應群組工作流程物件執行個體。

傳回類型

Set-CsRgsWorkflow 不會傳回任何物件或值。反之,會由指令程式修改 Microsoft.Rtc.Rgs.Management.WritableSettings.Workflow 物件的現有執行個體。

範例

-------------------------- 範例 1 ------------------------

$businessHours = Get-CsRgsHoursOfBusiness service:ApplicationServer:atl-cs-001.litwareinc.com -Name "US Business Hours"
$y = Get-CsRgsWorkflow Service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk"
$y.BusinessHoursId = $businessHours.Identity
Set-CsRgsWorkflow -Instance $y

範例 1 所示的命令會擷取現有的一組營業時間,然後將這些營業時間指派給名為 Help Desk 的工作流程。為了執行這項作業,範例的第一個命令會使用 Get-CsRgsHoursOfBusiness,從 ApplicationServer:atl-cs-001.litwareinc.com 服務擷取名為 U.S. Business Hours 的營業時間集合。這些營業時間儲存在名為 $businessHours 的變數中。

擷取營業時間之後,您可以使用 Get-CsRgsWorkflow 指令程式從 ApplicationServer:atl-cs-001.litwareinc.com 擷取 Help Desk 工作流程。此物件儲存在名為 $y 的變數中。

在範例的第三個命令中,Help Desk 工作流程的 BusinessHoursId 屬性設定為擷取的一組營業時間;這是透過將 BusinessHoursId 設定為擷取集合的識別 ($businessHours.Identity) 來完成。在最後一個命令中,Set-CsRgsWorkflow 用於將新的營業時間寫入 ApplicationServer:atl-cs-001.litwareinc.com 上實際的 Help Desk 工作流程。這最後一個步驟很重要,因為在此之前,所有發生的變更都只在記憶體中。若要實際將這些變更儲存至 Help Desk 工作流程,您必須呼叫 Set-CsRgsWorkflow,並將包含工作流程虛擬複本的物件參考 ($y) 傳遞給指令程式。

-------------------------- 範例 2 ------------------------

$x = Get-CsRgsWorkflow service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk"
$x.Description = "Workflow for the Redmond Help Desk" 
Set-CsRgsWorkflow -Instance $x

先前範例會將新描述指派給 ApplicationServer:atl-cs-001.litwareinc.com 服務上找到的 Help Desk 工作流程。為此,範例中的第一個命令會擷取指定的工作流程 (-Name "Help Desk"),並將擷取的物件儲存在名為 $x 的變數中。在第二個命令中,新描述 ("Workflow for the Redmond Help Desk") 會新增至 Help Desk 工作流程的虛擬複本。變更描述之後,命令 3 會使用 Set-CsRgsWorkflow 將這些變更寫回位於 ApplicationServer:atl-cs-001.litwareinc.com 上的實際 Help Desk 工作流程。

-------------------------- 範例 3 ------------------------

$musicFile = Get-Content -ReadCount 0 -Encoding Byte C:\MediaFiles\Hold.wav | Import-CsRgsAudioFile -Identity Service:ApplicationServer:atl-cs-001.litwareinc.com -FileName "HelpDeskHoldMusic.wav"
$y = Get-CsRgsWorkflow -Identity Service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk"
$y.CustomMusicOnHoldFile = $musicFile
Set-CsRgsWorkflow -Instance $y

範例 3 所示的命令會匯入新的回應群組音訊檔,然後將此音訊檔指派給現有的工作流程。為了執行這項作業,範例中的第一個命令會匯入新的音訊檔。這是透過呼叫 Get-Content 指令程式,在音訊檔 (C:\MediaFiles\Hold.wav) 中一個位元組一個位元組地讀取來完成;為了確保音訊檔正確讀取,您必須包含 ReadCount 參數 (設為 0) 和 Encoding 參數 (設為 Byte)。讀入音訊檔之後,資料便會傳送到 New-CsRgsAudioFile,這會在 ApplicationServer:atl-cs-001.litwareinc.com 上建立新檔案。這個檔案 (名稱為 HelpDeskHoldMusic.wav) 的物件參考會儲存在名為 $musicFile 的變數中。

建立音訊檔之後,命令 2 會從 ApplicationServer:atl-cs-001.litwareinc.com 擷取 Help Desk 工作流程,並將傳回的物件儲存在名為 $y 的變數中。命令 3 會將值 $musicFile 指派給此工作流程的 CustomMusicOnHoldFile 屬性;這是包含新建立的音訊檔的變數。

$musicFile 指派給 CustomMusicOnHoldFile之後,最後一個命令會使用 Set-CsRgsWorkflow 指令程式,將這些變更寫回 Help Desk 工作流程。