This page contains commonly used PowerShell commands for administering Skype for Business Server 2019.

Designed for quick reference during troubleshooting, migrations, health checks, and day-to-day admin tasks.

Run all commands from the Skype for Business Management Shell unless stated otherwise.


1. Basic Environment Information

Check Pool Version

Get-CsPool | Select Identity, Version

Check Skype Server Version (Local)

Get-CsServerVersion

Check Topology Services

Get-CsWindowsService

2. Service Health & Status

Check All Skype Services

Get-CsWindowsService | Where-Object {$_.Status -ne "Running"}

Start All Skype Services

Start-CsWindowsService

Stop All Skype Services

Stop-CsWindowsService

Check Replica Status

Get-CsManagementStoreReplicationStatus

3. User Management

Get a User

Get-CsUser -Identity user@domain.com

List All Users in a Pool

Get-CsUser -Filter {RegistrarPool -eq "pool.domain.com"}

Enable a User

Enable-CsUser -Identity user@domain.com -RegistrarPool "pool.domain.com" -SipAddress "sip:user@domain.com"

Move User to Another Pool

Move-CsUser -Identity user@domain.com -Target "newpool.domain.com"

Disable a User

Disable-CsUser -Identity user@domain.com

4. Response Group (RGS) Commands

List All Response Groups

Get-CsRgsWorkflow

Get Specific Workflow

Get-CsRgsWorkflow -Identity "service:ApplicationServer:pool.domain.com/WorkflowName"

Get All Queues

Get-CsRgsQueue

Get All Agent Groups

Get-CsRgsAgentGroup

Export a Workflow

Export-CsRgsConfiguration -Source "pool.domain.com" -FileName "C:\RGSBackup.zip"

Import RGS Configuration

Import-CsRgsConfiguration -Source "pool.domain.com" -FileName "C:\RGSBackup.zip"

5. Dial Plans & Voice Routing

Get Dial Plans

Get-CsDialPlan

Get Voice Policies

Get-CsVoicePolicy

Get PSTN Usage

Get-CsPstnUsage

Get Voice Routes

Get-CsVoiceRoute

Test Number Normalization

Test-CsPhoneNumberNormalization -DialedNumber "+441234567890" -DialPlan "Global"

6. Conferencing & Meetings

Get Conferencing Policy

Get-CsConferencingPolicy

Get Meeting Configuration

Get-CsMeetingConfiguration

Get External Access Configuration

Get-CsExternalAccessConfiguration

7. Certificates

View Certificates

Get-CsCertificate

Assign Certificate

Set-CsCertificate -Type Default

8. CMS & Database

Check CMS Location

Get-CsManagementStoreReplicationStatus

Install / Update Databases

Install-CsDatabase -Update -ConfiguredDatabases -SqlServerFqdn sqlserver.domain.com

9. Edge Server Commands

Check Edge Services

Get-CsWindowsService -ComputerName edgeserver.domain.com

Check Federation

Get-CsAccessEdgeConfiguration

10. Troubleshooting Commands

Test Front-End Services

Test-CsWindowsService

Test SIP Connectivity

Test-CsRegistration -TargetFqdn pool.domain.com

Check Event Logs

Get-WinEvent -LogName "Lync Server"

Test SQL Connectivity

Test-NetConnection sqlserver.domain.com -Port 1433

Common Migration Commands

Move All Users from Old Pool to New Pool

Get-CsUser -Filter {RegistrarPool -eq "oldpool.domain.com"} | 
Move-CsUser -Target "newpool.domain.com"

Export Topology

Export-CsConfiguration -FileName "C:\TopologyBackup.zip"

Notes

  • Always use -WhatIf when running bulk changes
  • Confirm CMS replication is healthy before major changes
  • Validate database versions after CU installs
  • Always back up RGS before migration