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 を閉じるかそのオブジェクト参照変数を削除すると、その変更は即座に消失します。
このコマンドレットを実行できる人は次のとおりです。既定では、次のグループのメンバーが、Set-CsRgsWorkflow コマンドレットのローカルでの実行を承認されています。RTCUniversalServerAdmins です。このコマンドレットが割り当てられているすべての役割ベースのアクセス制御 (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 は位置指定パラメーターです。ワークフローへのオブジェクト参照がそのコマンドで使用する最初のパラメーター値であれば省略することができます。つまり、次の 2 つのコマンドの機能は同じです。 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 という名前の変数に格納されます。
例の 3 つ目のコマンドでは、Help Desk ワークフローの BusinessHoursId プロパティが、取得した営業時間コレクションに設定されます。これは、BusinessHoursId を、取得したコレクションの ID ($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 という名前の変数に格納しています。2 つ目のコマンドでは、Help Desk ワークフローの仮想コピーに新しい説明 ("Workflow for the Redmond 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) を 1 バイトずつ読み込み、このオーディオ ファイルが正常に読み込まれることを確認することで、実行されます。このコマンドには、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 つ目のコマンドで、このワークフローの CustomMusicOnHoldFile プロパティに $musicFile 値を割り当てています。$musicFile は、新しく作成されたオーディオ ファイルを含む変数です。
CustomMusicOnHoldFile に $musicFile が割り当てられた後、最後のコマンドで Set-CsRgsWorkflow コマンドレットを使用して、Help Desk ワークフローにこれらの変更を再び書き込みます。