Remove-CsRgsQueue

 

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

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

语法

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

详细说明

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

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

除了创建新队列之外,还可以删除现有队列,这可以通过 Remove-CsRgsQueue cmdlet 来实现。请注意,默认情况下,如果尝试删除当前分配给活动工作流的队列,将提示您验证是否确实要删除该队列,并且 Windows PowerShell 将暂停(不会删除队列),直到您对该提示做出响应。要绕过该提示并删除活动工作流使用的队列,请添加 Force 参数。例如:

Get-CsRgsQueue –Identity "service:ApplicationServer:atl-cs-001.litwareinc.com" | Remove-CsRgsQueue –Force

Remove-CsRgsQueue 在删除某个队列之前,始终会检查该队列是否正由活动工作流使用。但是,此 cmdlet 不会验证该队列是否正被其他队列用作超时队列或溢出队列。这意味着可能删除其他队列需要的队列。因此,在运行 Remove-CsRgsQueue 删除队列之前,您可能需要使用 Get-CsRgsQueue cmdlet 来检查其他响应组队列的 OverflowAction 和 TimeoutAction 属性。

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

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

参数

参数 必需 类型 描述

Instance

必需

队列对象

指向要删除的队列的对象引用。通过管道将工作流对象传递到 Remove-CsRgsQueue 时,可以省略 Instance 参数。

要使用 Instance 参数,请使用类似如下的命令:

$x = Get-CsRgsQueue –Identity ApplicationServer:atl-cs-001.litwareinc.com /1987d3c2-4544-489d-bbe3-59f79f530a83

Remove-CsRgsQueue –Instance $x

请注意,使用 Instance 参数时一次只能删除一个队列。这意味着,对象引用 ($x) 不能包含多个队列对象。

Force

可选

开关参数

强制删除响应组队列。如果存在此参数,即使队列已分配给活动工作流,也将在没有任何警告的情况下删除该队列。如果不存在此参数,则删除活动工作流当前正在使用的任何队列时,系统会要求您确认。

WhatIf

可选

开关参数

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

Confirm

可选

开关参数

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

输入类型

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

返回类型

Remove-CsRgsQueue 删除 Microsoft.Rtc.Rgs.Management.WritableSettings.Queue 对象的现有实例。

示例

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

Get-CsRgsQueue -Identity service:ApplicationServer:atl-cs-001.litwareinc.com | Remove-CsRgsQueue

示例 1 中显示的命令删除 ApplicationServer:atl-cs-001.litwareinc.com 服务上的所有响应组队列。为执行此操作,该命令首先使用 Get-CsRgsQueue 以返回 ApplicationServer:atl-cs-001.litwareinc.com 上所有队列的集合。然后将该集合通过管道传递到 Remove-CsRgsQueue,后者将删除集合中的每个队列。

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

Get-CsRgsQueue -Identity service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk Queue" | Remove-CsRgsQueue

在示例 2 中,删除单个响应组队列:位于 ApplicationServer:atl-cs-001.litwareinc.com 服务上名为“Help Desk Queue”的队列。为删除此队列,调用带有 Identity 和 Name 参数的 Get-CsRgsQueue,然后将返回的单个队列通过管道传递到 Remove-CsRgsQueue,并由其删除。

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

Get-CsRgsQueue -Identity service:ApplicationServer:atl-cs-001.litwareinc.com | Where-Object {$_.OverflowCandidate -eq "NewestCall"} | Remove-CsRgsQueue

上述命令删除 ApplicationServer:atl-cs-001.litwareinc.com 服务上 OverflowCandidate 属性设置为 NewestCall 的所有响应组队列。为执行此任务,首先调用 Get-CsRgsQueue 以返回 ApplicationServer:atl-cs-001.litwareinc.com 上所有响应组队列的集合。然后,将此集合通过管道传递给 Where-Object cmdlet,后者仅选取 OverflowCandidate 属性等于“NewestCall”的那些队列。然后,将筛选出的集合通过管道传递到 Remove-CsRgsQueue,后者将删除集合中的每个队列。

另请参阅

其他资源

Get-CsRgsQueue
New-CsRgsQueue
Set-CsRgsQueue