Setting Up Microsoft Teams Rooms: Part 1 – How to Create an MTR Mailbox

Microsoft Teams Room (Part 1 – Create MTR Mailbox and licensing using PowerShell)

This series is divided in the following posts:
Part 1: Create a Microsoft Teams Room Mailbox using PowerShell
Part 2: Creating a Virtual Microsoft Teams Room
Part 3: Manage a Microsoft Teams Rooms with Intune
Part 4: Customising a Microsoft Teams Room

What is a Microsoft Teams Room?

A Microsoft Teams Room (MTR) refers to a specialised device equipped with dedicated software known as Teams Room software, which operates on either a Windows 10 Enterprise or Windows 10 Enterprise IoT platform.

Teams Room devices are transforming workspaces and many companies are choosing to move away from standards based SIP and H323 Cisco, Poly, Starleaf or Yealink video endpoints in their meeting rooms and opting to use MS teams as their core video and telephony platform.

As someone who may be interested in learning and about and testing how to deploy and manage a MTR you would need access to a physical teams room system. These can be expensive so i have created a short series on how to create, deploy and configure a virtual Microsoft Teams Room.

I have created a GitHub page which hosts the files, scripts and other items that I have used in this series, check them out here: https://github.com/ljgoe/Microsoft-Teams-Room-Mailbox-powershell-script#readme

Prerequisites for creating a resource mailbox:

  1. Office 365 tennant with administration rights
  2. Microsoft teams Pro or Basic licence
  3. Ability to run PowerShell x64 as an administrator on your computer
  4. PowerShell script from my GitHub page CreatingTeamsRoomAccount.ps1

Installation Steps:

The following steps are used to create a mailbox for the MTR

1. Sign up for an Office 365 account or sign into your Account and make sure you have Teams Room licences

Have at least one paid licence which will then allow you to use the Teams Room Basic for free.
Note that the Teams Room Basic licence is limited and you cannot use products like Intune or Teams Room Pro Management Portal
For my lab i purchased a Microsoft 365 Business Basic licence at $8.20 per month. This then allows you to try Teams Room Pro and use the free Teams Room Basic licence.

2. Download the PowerShell script from my GitHub page CreatingTeamsRoomAccount.ps1

3. Run PowerShell x64 as an administrator, if you don’t choose PowerShell (x64) you will see an error like this when running the commands

4. Install these optional modules if you have never connected to Office 365 / MS Online / Exchange Online

# Skip publisher check 

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12bInstall-Module PowerShellGet -RequiredVersion 2.2.4 -SkipPublisherCheck

# Install Nuget

Install-PackageProvider -Name nuget -MinimumVersion 2.8.5.201 -force

# Install PnP.PowerShell with version 1.12.0 

Install-Module -Name "PnP.PowerShell" -RequiredVersion 1.12.0 -Force -AllowClobber

# Module to connect to Azure AD / Azure Resource Manager

Install-Module -Name AzureAD
Install-Module -Name Az -MinimumVersion 3.0.0 -AllowClobber -Scope AllUsers

# Other modules   

Set-ExecutionPolicy RemoteSigned
Install-Module PowershellGet -Force
Update-Module PowershellGet
Install-Module -Name MSOnline –Force
import-Module MSOnline
Install-Module -Name ExchangeOnlineManagement
Import-Module ExchangeOnlineManagement
install-module AzureADPreview

7. Connect to O365 and Exchange Online with your Tenant Admin Account

$UserCredential = Get-Credential
Connect-MsolService -Credential $UserCredential
Connect-ExchangeOnline -Credential $UserCredential -ShowProgress $true

8. Get the licence SKU to use in the next step, mine is testitvideo:Microsoft_Teams_Rooms_Pro

Get-MsolAccountSku

9. Set the variables for Meeting Room account

$newRoom="[email protected]"
$name="MTR-Demo"
$pwd="yourpassword"
$license="testitvideo:Microsoft_Teams_Rooms_Pro"
$location="AU"

9. Create the mailbox mailbox resource

Set-CalendarProcessing variables will set the following:

  • Set AutomateProcessing to AutoAccept – Meetings will be processed and accepted automatically if there are no conflicts
  • Set AddOrganizerToSubject to false – Ensures that the original subject is preserved and not replaced by the organisers’ name
  • Set ProcessExternalMeetingMessages to true – Allows users external to your company invite the room to a Teams meeting
  • Set the RemovePrivateProperty to false – Ensures that the private flag for meeting requests is preserved (private meetings stay private)
  • Set DeleteComments and DeleteSubject to false – This is critical and ensures that your meeting invitation has a “Join” button
  • The AdditionalResponse parameters are there to send useful information in the message back to the requester
New-Mailbox -MicrosoftOnlineServicesID $newRoom -Name $name -Room -RoomMailboxPassword (ConvertTo-SecureString -String $pwd -AsPlainText -Force) -EnableRoomMailboxAccount $true

Start-Sleep -Seconds 31

Set-MsolUser -UserPrincipalName $newRoom -PasswordNeverExpires $true -UsageLocation $location

Set-MsolUserLicense -UserPrincipalName $newRoom -AddLicenses $license

Set-Mailbox -Identity $newRoom -MailTip “This room is equipped to support MS Teams Meetings”

Set-CalendarProcessing -Identity $newRoom -AutomateProcessing AutoAccept -AddOrganizerToSubject $false -ProcessExternalMeetingMessages $True -RemovePrivateProperty $false -DeleteComments $false -DeleteSubject $false -AddAdditionalResponse $true -AdditionalResponse “Your meeting is now scheduled and if it was enabled as a Teams Meeting will provide a seamless click-to-join experience from the conference room.”

10. Use the Set-Place cmdlet to update room mailboxes with additional metadata, which provides a better search and room suggestion experience”

Set-MsolUser -UserPrincipalName $newRoom -PasswordNeverExpires $true
Get-MsolUser -UserPrincipalName $newRoom | Select PasswordNeverExpires

Optional

Use the Set-Place cmdlet to update room mailboxes with additional metadata, which provides a better search and room suggestion experience”

Set-Place -Identity $newRoom -IsWheelChairAccessible $true -AudioDeviceName “Audiotechnica Wireless Mics” -VideoDeviceName “POLY STUDIO X70”

Check your new mailbox settings that have been applied

Get-mailbox -Identity $newRoom | Fl
Get-Place -Identity $newRoom | Fl

Thats it, your mailbox has been created. Now go to Part 2 and Build a Microsoft Teams Virtual Machine

Go to (Part 2 – Creating a Virtual MTR)

Other Parts to this series

Part 1: Create a Microsoft Teams Room Mailbox using PowerShell
Part 2: Creating a Virtual Microsoft Teams Room
Part 3: Manage a Microsoft Teams Rooms with Intune
Part 4: Customising a Microsoft Teams Room