A short manual on how to create a Microsoft Teams Room account using the PowerShell
Due to requirements for further posts, I needed to create a new Teams Room Account. But what is this account?
The account is used to access its meeting calendar and establish Microsoft Teams or Skype for Business connectivity. People can book this account by scheduling a meeting with it. Microsoft Teams Rooms will be able to join that meeting and provide various features to the meeting attendees.
To use MTR we need specific licenses. We can use a dedicated license with SKU: Meeting Room or Meeting Room Premium. Those licenses have inside:
- Skype for Business
- Microsoft Teams
- Phone System
- Audio conferencing
- Microsoft Intune
Because I have only Microsoft 365 developer tenant, I’m not able to assign an Audio conferencing license, so I will create a new group without this SKU.
First, I will create a new dynamic group where I will be store all of my users. Configuration options which I want to set up:
- Type of membership: Dynamic User
- query to get members: (user.displayName -contains “MTR”)
This query will add automatically all of the users which have “MTR” on the displayname. For example, if you create a new account for your new device, this account will automatically have proper licenses assigned to your account. But please remember – in this case, your new account should have MTR on displayname.
After that, I will assign proper licenses to this group (those which I created earlier)
In the next step, I will create a new room using PowerShell. From my perspective, it is much faster than using GUI.
Below you will find a whole script, with comments (I’m using an account with MFA enabled)
install-module ExchangeOnlineManagement #installing module
Connect-ExchangeOnline -UserPrincipalName [yourAdminAccount] #logging in to Exchange module
New-Mailbox -Name "MTR01" -Alias MeetingRoom1 -Room -EnableRoomMailboxAccount $true -MicrosoftOnlineServicesID MTR01@memcloud.ovh -RoomMailboxPassword (ConvertTo-SecureString -String 'OurPasswordForConferenceRoom' -AsPlainText -Force) #creating a new account. Remember to change your password!
#after some time your account will be created
Set-CalendarProcessing -Identity "MTR01" -AutomateProcessing AutoAccept -AddOrganizerToSubject $false -DeleteComments $false -DeleteSubject $false -RemovePrivateProperty $false -AddAdditionalResponse $true -AdditionalResponse "Your meeting was scheduled. In any of questions, please contact with HelpDesk team." #Now we are setting up to automatically accept invites and set providing automatically reply with information that meeting was scheduled etc...
install-module msonline #here we are installing the old module for the Azure Active directory.
Connect-MsolService #connect with our admin account
Set-MsolUser -UserPrincipalName MTR01@memcloud.ovh -PasswordNeverExpires $true #set password to never expire
Start-Sleep 300 #here we are pause script for 5 minutes to populate licenses
#next we will install module to have a possibilty to use Microsoft Teams with PowerShell
$teams = New-CsOnlineSession #connect to teams admin
Import-PSSession $teams #import session
$availablePool = Get-CsOnlineUser | Select-Object RegistrarPool| Get-Unique #get all RegistrarPool which is needen on the next step
Enable-CsMeetingRoom -Identity "MTR01@memcloud.ovh" -RegistrarPool $availablePool -SipAddressType EmailAddress
As you can see, this script can be difficult to use, but only on the first time when you need to install all of the modules. After that, I think it will be much easier to use.
Finally, our account will be visible on Microsoft 365 Admin Center > Resources > Rooms
In this post it is everything. We created a new MTR account and we can use it on our devices.
One piece of information about the script which I wrote. I’m using the old module MSonline, but to set password policy you can also use the new module AzureAD.
Set-AzureADUser -objectID [IDOfOboject] -PasswordPolicies DisablePasswordExpiration
So you don’t need to install the old module. You can use the new one! 🙂