Microsoft Cloud Consultant and Microsoft Certified Trainer

Before we are going to proceed with this series of blog posts, first question probably pops ups

What is a Microsoft Teams Room?

A Microsoft Teams Room is a device with special software installed which is the Teams Room software. This software is installed on top of a Windows 10 Enterprise or Windows 10 Enterprise IoT installation.

You can transform meeting spaces with these kind of devices to a rich and collaborative Teams experiences. For example: Instead of sitting with a few people in a meeting room where they all logged into Teams and have their microphone and speakers open, you can choose to install a Microsoft Teams Room device. You connect this device to a big size TV and connect a webcam to it.

You can manage the MTR’s with Endpoint Management and you can customize the MTR as well. But…. What if you want to play with it and cannot afford to buy a device from HP, Yealink, Logitech or other partners? Or you do not have a spare Surface Pro somewhere in the cupboard.

You can install an MTR in Hyper-V!

In this series of blog post, I want to help to create a Teams Room account, setup a virtual MTR, connect it Endpoint Management and push some configuration policies before you are pushing this to production MTR’s. And the last topic will be on how to customize the MTR. This series is divided in the following posts:

This series is divided in the following posts:
Part 1: Creating the Teams Room account and arrange the license
Part 2: Installing Microsoft Teams Room in Hyper-V
Part 3: Connect and manage it with Microsoft Endpoint Manager
Part 4: Customize the Microsoft Teams Room
Part 5: ?

You can find the files, scripts and other stuff that I have used in this series on my GitHub page at

Part 1: Creating the Teams Room account and arrange the license

Let us start with Part 1 of this blog post series. In this blog post, I will guide you on how you can create the MTR account, and which license you will need.

Arranging the license

First things first. Licensing! The key aspect to get a working MTR. You can use an expensive M365 E5 license for your MTR, but Microsoft is offering a special license for this, namely the Meeting Room SKU. In this license you have the following “apps”:

  • Skype for Business
  • Microsoft Teams
  • Phone System
  • Audio conferencing
  • Microsoft Intune

I personally have a M365 developer tenant, so I created my own Meeting Room SKU with the above mentioned “apps”, except for the Audio conferencing, because this option is not available in your M365 developer tenant.

I created a security group in Azure AD with a dynamic membership rule, to populate the security group with the MTR-accounts, as shown as in Figure 1-1 and added the customized Meeting Room SKU to this security group as you can see in Figure 1-2.

Figure 1-1 : The dynamic membership rule for the security group
Figure 1-2 : The assigned license for the security group

The script I have created, is as like this:

# Connect to Exchange Online and create a resource
Set-ExecutionPolicy RemoteSigned
$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session -DisableNameChecking
New-Mailbox -Name "MTR-ConferenceRoom02" -Alias ConferenceRoom02 -Room -EnableRoomMailboxAccount $true -MicrosoftOnlineServicesID -RoomMailboxPassword (ConvertTo-SecureString -String '<Password>' -AsPlainText -Force)
Set-CalendarProcessing -Identity "MTR-ConferenceRoom02" -AutomateProcessing AutoAccept -AddOrganizerToSubject $false -DeleteComments $false -DeleteSubject $false -RemovePrivateProperty $false -AddAdditionalResponse $true -AdditionalResponse "This is a Microsoft Teams Room!"

#Sleep for 20 seconds
Start-Sleep 20

#Connect to MS Online to set password to never expires
Connect-MsolService -Credential $UserCredential
Set-MsolUser -UserPrincipalName -PasswordNeverExpires $true
Get-MsolUser -UserPrincipalName | Select PasswordNeverExpires

#Sleep for 300 seconds to populate the security group and assign a SfB account
Start-Sleep 300

#Enable account for SfB
Import-Module SkypeOnlineConnector
$cssess=New-CsOnlineSession -Credential $UserCredential
Import-PSSession $cssess -AllowClobber
Enable-CsMeetingRoom -Identity $rm -RegistrarPool "" -SipAddressType EmailAddress 

The script above, is named “CreatingTeamsRoomAccount.ps1” and you can find this in the GitHub repository.
After you have created the MTR-account, you must give Azure AD and Skype for Business a few minutes to evaluate your security group, in order to assign your Meeting Room SKU license.

Let us see this script and the result in action in the recording below.

Watching the script in action
Figure 1-3 : The MTR user is created and is assigned to your Meeting Room SKU
Figure 1-4 : The MTR resource account is created

That's it for this moment. See you soon for part 2 of this blog post series.