How to Configure Teams Phone Desk and Room Workspaces in PowerShell Using CsTeamsWorkSpace

Modern hybrid workplace environments require flexible shared spaces, including hot-desking stations, focus booths, and collaborative huddle rooms. In Microsoft Teams Phone and Teams Rooms deployments, managing these shared facilities as individual standard user accounts creates licensing inefficiencies, security gaps, and organizational clutter. To streamline management, Microsoft Teams provides dedicated shared space entities known as Workspaces.

Workspaces represent physical locations—such as a specific desk in an open-plan office or a shared executive pod—equipped with a Teams-certified desk phone, Teams display, or Microsoft Teams Room (MTR) console. Using the CsTeamsWorkSpace cmdlets in the Microsoft Teams PowerShell module, voice administrators can programmatically provision workspaces, configure device capabilities, set physical capacity limits, and assign descriptive office metadata.

Understanding Microsoft Teams Workspaces

A Teams Workspace ties a physical location to a Microsoft Teams Shared Device license or Teams Rooms license. Key benefits of managing physical spaces as Workspaces include:

  • Hot-Desking Support: Enables users to sign in to a shared desk phone or Teams display, access their personal calendar and calls for the day, and automatically sign out at the end of their reservation.
  • Granular Location Data: Workspaces integrate with the Location Information Server (LIS), ensuring that emergency 911/999 calls placed from shared desks transmit the exact desk number and floor location.
  • Physical Capacity Monitoring: Administrators can define maximum occupancy thresholds to support facilities management and compliance.
  • Centralized Provisioning: Using PowerShell cmdlets allows administrators to bulk-provision hundreds of desks across global office facilities in minutes.

Connecting to the Microsoft Teams PowerShell Module

Before managing workspaces, launch an elevated PowerShell console and authenticate to your Microsoft 365 tenant:

# Import the Teams PowerShell module and authenticate
Import-Module MicrosoftTeams
Connect-MicrosoftTeams

Provisioning a New Workspace with New-CsTeamsWorkSpace

To create a new workspace for a hot-desking station or shared phone area, execute New-CsTeamsWorkSpace. Workspaces require a descriptive display name and can be configured with detailed facility attributes:

# Create a new hot-desk workspace
New-CsTeamsWorkSpace `
    -DisplayName "London Office - Desk 402" `
    -Capacity 1 `
    -Building "Building A" `
    -Floor "4" `
    -Street "100 Bishopsgate" `
    -City "London" `
    -PostalCode "EC2N 4AG" `
    -CountryOrRegion "GB"

For collaborative huddle rooms or shared team booths:

# Create a huddle room workspace
New-CsTeamsWorkSpace `
    -DisplayName "London Office - Huddle Pod B" `
    -Capacity 4 `
    -Building "Building A" `
    -Floor "4" `
    -Label "Collaborative Huddle Pod"

The cmdlet returns the newly created workspace object, including its assigned unique GUID (Id).

Querying and Inspecting Configured Workspaces

To audit all workspaces currently registered in your Microsoft 365 tenant, use Get-CsTeamsWorkSpace:

# Retrieve all configured workspaces
Get-CsTeamsWorkSpace

To view the output in a clean, structured table highlighting capacity, building, and location metadata:

# Format workspace details into a table
Get-CsTeamsWorkSpace | Format-Table Id, DisplayName, Building, Floor, Capacity

To filter workspaces by a specific building or floor level:

# Find all workspaces located on Floor 4 of Building A
Get-CsTeamsWorkSpace | Where-Object { $_.Building -eq "Building A" -and $_.Floor -eq "4" }

Updating Workspace Configurations with Set-CsTeamsWorkSpace

When physical office layouts are reorganized, desk names change, or room capacities are updated, use Set-CsTeamsWorkSpace targeting the workspace Id:

# Update workspace display name and capacity
Set-CsTeamsWorkSpace `
    -Id "f2c3d4e5-6789-01ab-cdef-1234567890ab" `
    -DisplayName "London Office - Executive Desk 402" `
    -Capacity 2

Linking Workspaces to Shared Device Accounts

To enable physical IP desk phones (such as Poly, Yealink, or Audiocodes phones) to operate in workspace mode, assign the physical device’s user principal name (UPN) or resource mailbox to the workspace. When the desk phone authenticates, it automatically applies hot-desking profiles and workplace policies configured for that physical zone.

Removing Obsolete Workspaces with Remove-CsTeamsWorkSpace

When an office floor is decommissioned or hot-desking areas are converted into standard offices, remove the workspace definition using Remove-CsTeamsWorkSpace:

# Remove a decommissioned workspace
Remove-CsTeamsWorkSpace -Id "f2c3d4e5-6789-01ab-cdef-1234567890ab"

To execute deletions inside automated de-provisioning scripts without interactive confirmation prompts, append -Confirm:$false.

Using CsTeamsWorkSpace cmdlets allows enterprise voice administrators to maintain accurate, scalable, and secure device management across modern hybrid workplaces.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.