This article is part of the Microsoft Lync Server 2010 Administration Guide: PowerShell Supplement .
Managing Agent Groups
Create an Agent Group
- To create an agent group
To create a new Response Group agent group, use the New-CsRgsAgentGroup cmdlet. This command uses the AgentsByUri parameter to add individual users to the agent group:
New-CsRgsAgentGroup -Parent service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk Group" -AgentsByUri "sip:kenmyer@litwareinc.com","sip:pilarackerman@litwareinc.com"
By comparison, this command uses the DistributionGroupAddress parameter to add all the members of the helpdesk@litwareinc.com distribution group to the agent group:
New-CsRgsAgentGroup -Parent service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk Group" -DistributionGroupAddress "helpdesk@litwareinc.com"
Change Agent Group Settings or Members
- To change agent group settings or membership
To change a Response Group agent group you must first use the Get-CsRgsAgentGroup cmdlet to retrieve an object reference to the agent group to be changed. After making your changes in memory, use the Set-CsRgsAgentGroup cmdlet to write those changes to Lync Server.
These commands change the routing method for an agent group:
$x = Get-CsRgsAgentGroup -Identity service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk"
$x.RoutingMethod = "RoundRobin"
Set-CsRgsAgentGroup -Instance $x
This set of commands changes the distribution address for an agent group:
$x = Get-CsRgsAgentGroup -Identity service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk"
$x.DistributionGroupAddress = "helpdesk@litwareinc.com"
Set-CsRgsAgentGroup -Instance $x
The following commands add a new agent to an agent group:
$x = Get-CsRgsAgentGroup -Identity service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk"
$x.AgentsByUri.Add("sip:kenmyer@litwareinc.com")
Set-CsRgsAgentGroup -Instance $x
And these commands remove an agent from an agent group:
$x = Get-CsRgsAgentGroup -Identity service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk"
$x.AgentsByUri.Remove("sip:kenmyer@litwareinc.com")
Set-CsRgsAgentGroup -Instance $x
Delete an Agent Group
- To delete an agent group
To remove a Response Group agent group, use the Remove-CsRgsAgentGroup cmdlet:
Get-CsRgsAgentGroup -Identity service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk" | Remove-CsRgsAgentGroup
This command deletes all the agent groups currently configured for use in your organization:
Get-CsRgsAgentGroup | Remove-CsRgsAgentGroup
For more information
Managing Response Group Queues
Create a Response Group Queue
- To create a queue
To create a new Response Group queue, use the New-CsRgsQueue cmdlet. The following set of commands creates a new queue, and uses the New-CsRgsCallAction cmdlet to specify what should happen if the queue receives too many calls at the same time:
$x = New-CsRgsCallAction -Action TransferToVoicemailUri -Uri "sip:+14255551298@litwareinc.com"
New-CsRgsQueue -Parent service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk" -OverflowCandidate "OldestCall" -OverflowAction $x -OverflowThreshold 2
Change a Response Group Queue
- To change a queue
To modify a Response Group queue, you must first use the Get-CsRgsQueue cmdlet to retrieve an object reference to the queue to be changed. After making your changes in memory, use the Set-CsRgsQueue cmdlet to write those changes to Lync Server:
$x = Get-CsRgsQueue -Identity Service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk"
$x.OverflowCandidate = "NewestCall"
Set-CsRgsQueue -Instance $x
Delete a Response Group Queue
- To delete a queue
To delete a Response Group queue, use the Remove-CsRgsQueue cmdlet:
Get-CsRgsQueue -Identity service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk Queue" | Remove-CsRgsQueue
The following command removes all the Response Group queues configured for use in your organization:
Get-CsRgsQueue | Remove-CsRgsQueue
For more information
Managing Response Group Workflows
Create a Response Group Workflow
Create a Hunt Group Workflow
- To create a hunt group workflow
To create a hunt group workflow, use the New-CsRgsWorkflow cmdlet:
$prompt = New-CsRgsPrompt -TextToSpeechPrompt "Welcome to the help desk."
$queue = (Get-CsRgsQueue -Identity service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk").Identity
$callAction = New-CsRgsCallAction -Prompt $prompt -Action TransferToQueue -QueueId $queue
New-CsRgsWorkflow -Parent service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk" -PrimaryUri "sip:helpdesk@litwareinc.com" -DefaultAction $callAction
Create an Interactive Workflow
- To create an Interactive workflow
To create an interactive workflow, use the New-CsRgsWorkflow cmdlet:
$ServiceId = "service:ApplicationServer:rtc.contoso.com"
$Group_Sales = New-CsRgsAgentGroup -Parent $ServiceId -Name "Contoso Sales" -AgentAlertTime 20 -ParticipationPolicy Informal -RoutingMethod LongestIdle -AgentsByUri("sip:franz@contoso.com","sip:marco@contoso.com")
$Group_Support = New-CsRgsAgentGroup -Parent $ServiceId -Name "Contoso Support" -AgentAlertTime 20 -ParticipationPolicy Informal -RoutingMethod LongestIdle -AgentsByUri("sip:david@contoso.com","sip:john@contoso.com")
$Queue_Sales = New-CsRgsQueue -Parent $ServiceId -Name "Contoso Sales"
-AgentGroupIDList($Group_Sales.Identity)
$Queue_Support = New-CsRgsQueue -Parent $ServiceId -Name "Contoso Support" -AgentGroupIDList($Group_Support.Identity)
$PromptA1 = New-CsRgsPrompt -TextToSpeechPrompt "Please wait while we're connecting you with the Contoso Sales department."
$ActionA1 = New-CsRgsCallAction -Prompt $PromptA1 -Action TransferToQueue -QueueID $Queue_Sales.Identity
$Answer1 = New-CsRgsAnswer -Action $ActionA1 -DtmfResponse 1
$PromptA2 = New-CsRgsPrompt -TextToSpeechPrompt "Please wait while we're connecting you with the Contoso Support department."
$ActionA2 = New-CsRgsCallAction -Prompt $PromptA2 -Action TransferToQueue -QueueID $Queue_Support.Identity