Set-CsRgsQueue

 

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

修改现有的响应组队列。通过响应组应用程序,可以将电话呼叫置于队列中,并将呼叫者置于呼叫等待状态,直到响应组代理能够应答该呼叫。

语法

Set-CsRgsQueue -Instance <Queue> [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

详细说明

当有人拨打与响应组应用程序相关联的电话号码时,通常发生以下两种情况之一:将呼叫转接到某个问题,呼叫者必须回答该问题才能继续通话(例如,“按 1 以获取硬件支持;按 2 以获取软件支持”);或将呼叫置于队列中,直到代理能够应答该呼叫。

通过响应组应用程序,可以创建多个队列以与不同的工作流和响应组代理组相关联,而不是为所有电话呼叫使用单个队列。而这意味着队列可以对事件(例如队列中同时保留的 X 个呼叫)或已等待 X 秒钟的呼叫者做出不同的响应。

Set-CsRgsQueue cmdlet 为您提供了一种修改现有响应组队列的方法。Set-CsRgsQueue 不允许您直接修改队列;例如,此 cmdlet 不包含用于更改溢出阈值或溢出操作的参数。如需修改队列,首先需要创建对此队列的对象引用;方法是使用 Get-CsRgsQueue 检索相应的队列,并将此队列存储到一个变量中。然后通过为队列属性指定新值在内存中对队列进行修改。完成所有更改后,调用 Set-CsRgsQueue 将这些更改写回实际的响应组队列。如果不调用 Set-CsRgsQueue,则只会在内存中进行相应更改,这些更改会在您关闭 Windows PowerShell 或删除对象引用变量后立即消失。

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

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

参数

参数 必需 类型 描述

Instance

必需

队列对象

要修改的响应组队列的对象引用。通常通过使用 Get-CsRgsQueue cmdlet 并将返回值分配给变量来检索对象引用;例如,以下命令可返回对 Help Desk 队列的对象引用,并将该对象引用存储在名为 $x 的变量中:

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

Force

可选

开关参数

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

WhatIf

可选

开关参数

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

Confirm

可选

开关参数

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

输入类型

Microsoft.Rtc.Rgs.Management.WritableSettings.Queue 对象。Set-CsRgsQueue 接受通过管道传递的响应组队列对象的实例。

返回类型

Set-CsRgsQueue 不会返回任何对象或值。此 cmdlet 会修改 Microsoft.Rtc.Rgs.Management.WritableSettings.Queue 对象的现有实例。

示例

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

$x = Get-CsRgsQueue -Identity Service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk"
$x.OverflowCandidate = "NewestCall"
Set-CsRgsQueue -Instance $x

在示例 1 中,修改了服务 ApplicationServer:atl-cs-001.litwareinc.com 上响应组队列 Help Desk 的 OverflowCandidate 属性。为执行此操作,此示例中的第一个命令使用 Get-CsRgsQueue 从 ApplicationServer:atl-cs-001.litwareinc.com 检索指定的队列 (-Name“Help Desk")。然后,将检索到的队列存储在变量 $x 中。

检索到队列后,示例中的第二个命令将此虚拟队列的 OverflowCandidate 属性的值设置为 NewestCall。此命令完成后,此示例中的最后一个命令使用 Set-CsRgsQueue 将这些更改写入实际的 Help Desk 队列。请注意,到此为止,更改只是在内存中进行的。在调用 Set-CsRgsQueue 前,ApplicationServer:atl-cs-001.litwareinc.com 上的实际响应组队列将保持不变。

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

$x = Get-CsRgsQueue -Identity service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk Overflow Queue"
$w = New-CsRgsPrompt -TextToSpeechPrompt "Please hold while we transfer your call."
$y = New-CsRgsCallAction -Prompt $w -Action TransferToQueue -QueueID $x.Identity
$z = Get-CsRgsQueue -Identity service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk"
$z.OverflowAction = $y
Set-CsRgsQueue -Instance $z

示例 2 中显示的命令说明了如何创建新的响应组呼叫操作,然后将该操作分配给现有的响应组队列。为执行此任务,第一步是使用 Get-CsRgsQueue 从 ApplicationServer:atl-cs-001.litwareinc.com 检索响应组队列 Help Desk Overflow Queue。有关此队列的信息存储在变量 $x 中。

检索此队列后,使用 New-CsRgsPrompt cmdlet 创建新的文本到语音转换提示(存储在名为 $w 的变量中)。然后,使用 New-CsRgsCallAction cmdlet 创建一个新呼叫操作。向此呼叫操作分配以下三个参数:Prompt(由呼叫操作使用的提示);Action(用于指示触发新呼叫操作时所执行的操作,参数值 TransferToQueue 表示将呼叫转接到其他响应组队列);以及 QueueID,即呼叫将转接到的备用队列($x.Identity,代表队列 Help Desk Overflow Queue 的 Identity)。在内存中创建此新呼叫操作,然后将其存储在名为 $y 的变量中。

下一个命令检索要修改的队列;在此示例中,检索的是 ApplicationServer:atl-cs-001.litwareinc.com 上的 Help Desk 队列。Get-CsRgsQueue 检索到此队列后,队列对象将存储在变量 $z 中。

完成所有操作后,您可以为 Help Desk 队列分配新的呼叫操作;这是通过将 OverflowAction 属性的值设置为 $y 来实现的,其中变量 $y 包含新创建的呼叫操作。

分配了呼叫操作后,此示例的最后一个命令调用 Set-CsRgsQueue 将更改写入 ApplicationServer:atl-cs-001.litwareinc.com 上的 Help Desk 队列的实际实例中。

另请参阅

其他资源

Get-CsRgsQueue
New-CsRgsQueue
Remove-CsRgsQueue