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:
- Office 365 tennant with administration rights
- Microsoft teams Pro or Basic licence
- Ability to run PowerShell x64 as an administrator on your computer
- 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
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