Read this topic for information on how to deploy Microsoft Teams Rooms with Microsoft 365 or Office 365, where Microsoft Teams or Skype for Business and Exchange are both online.
The easiest way to set up user accounts is to configure them using remote Windows PowerShell. Microsoft provides SkypeRoomProvisioningScript.ps1, a script that will help create new user accounts, or validate existing resource accounts you have in order to help you turn them into compatible Microsoft Teams Rooms user accounts. If you prefer, you can follow the steps below to configure accounts your Microsoft Teams Rooms device will use.
Before you deploy Microsoft Teams Rooms with Microsoft 365 or Office 365, be sure you have met the requirements. For more information, see Microsoft Teams Rooms requirements.
To enable Skype for Business, you must have the following:
Skype for Business Online (Plan 2, or an Enterprise-based plan) or higher in your Microsoft 365 or Office 365 plan. The plan needs to allow dial-in conferencing capabilities.
If you need dial-in capabilities from a meeting, you will need an Audio Conferencing and Phone System license. If you need dial-out capabilities from a meeting, you will need an Audio Conferencing license.
Your tenant users must have Exchange mailboxes.
Your Microsoft Teams Rooms account does require at a minimum a Skype for Business Online (Plan 2) license, but it does not require an Exchange Online license. See Microsoft Teams Rooms licenses for details.
For details on Skype for Business Online Plans, see the Skype for Business Online Service Description.
Add a device account
Connect to Exchange Online PowerShell. For instructions, see Connect to Exchange Online PowerShell.
In Exchange Online PowerShell, create a new room mailbox or modify an existing room mailbox. By default, room mailboxes don't have associated accounts, so you'll need to add an account when you create or modify a room mailbox that allows it to authenticate with Skype Room Systems v2.
To create a new room mailbox, use the following syntax:PowerShellCopy
New-Mailbox -Name "<Unique Name>" -Alias <Alias> -Room -EnableRoomMailboxAccount $true -MicrosoftOnlineServicesID <Account> -RoomMailboxPassword (ConvertTo-SecureString -String '<Password>' -AsPlainText -Force)
This example creates a new room mailbox with the following settings:
Account password: P@$$W0rd5959
New-Mailbox -Name "Rigel-01" -Alias Rigel1 -Room -EnableRoomMailboxAccount $true -MicrosoftOnlineServicesID Rigel1@contoso.onmicrosoft.com -RoomMailboxPassword (ConvertTo-SecureString -String 'P@$$W0rd5959' -AsPlainText -Force)
To modify an existing room mailbox, use the following syntax:PowerShellCopy
Set-Mailbox -Identity <RoomMailboxIdentity> -EnableRoomMailboxAccount $true -RoomMailboxPassword (ConvertTo-SecureString -String '<Password>' -AsPlainText -Force)
This example enables the account for the existing room mailbox that has the alias value Rigel2, and sets the password to 9898P@$$W0rd. Note that the account will be Rigel2@contoso.onmicrosoft.com because of the existing alias value.PowerShellCopy
Set-Mailbox -Identity Rigel2 -EnableRoomMailboxAccount $true -RoomMailboxPassword (ConvertTo-SecureString -String '9898P@$$W0rd' -AsPlainText -Force)
In Exchange Online PowerShell, configure the following settings on the room mailbox to improve the meeting experience:
AutomateProcessing: AutoAccept (Meeting organizers receive the room reservation decision directly without human intervention: free = accept; busy = decline.)
AddOrganizerToSubject: $false (The meeting organizer is not added to the subject of the meeting request.)
DeleteComments: $false (Keep any text in the message body of incoming meeting requests.)
DeleteSubject: $false (Keep the subject of incoming meeting requests.)
RemovePrivateProperty: $false (Ensures the private flag that was sent by the meeting organizer in the original meeting request remains as specified.)
AddAdditionalResponse: $true (The text specified by the AdditionalResponse parameter is added to meeting requests.)
AdditionalResponse: "This is a Skype Meeting room!" (The additional text to add to the meeting request.)
This example configures these settings on the room mailbox named Rigel-01.PowerShellCopy
Set-CalendarProcessing -Identity "Rigel-01" -AutomateProcessing AutoAccept -AddOrganizerToSubject $false -DeleteComments $false -DeleteSubject $false -RemovePrivateProperty $false -AddAdditionalResponse $true -AdditionalResponse "This is a Skype Meeting room!"
For detailed syntax and parameter information, see Set-CalendarProcessing.
Connect to MS Online PowerShell to make Active Directory settings by running the
Connect-MsolService -Credential $credPowerShell cmdlet. For details about Active Directory, see Azure ActiveDirectory (MSOnline) 1.0.
Azure Active Directory PowerShell 2.0 is not supported.
If you do not want the password to expire, use the following syntax:PowerShellCopy
Set-MsolUser -UserPrincipalName <upn> -PasswordNeverExpires $true
This example sets the password for the account Rigel1@contoso.onmicrosoft.com to never expire.PowerShellCopy
Set-MsolUser -UserPrincipalName "Rigel1@contoso.onmicrosoft.com" -PasswordNeverExpires $true
You can also set a phone number for the account by running the following command:PowerShellCopy
Set-MsolUser -UserPrincipalName <upn> -PhoneNumber <phone number>
The device account needs to have a valid Microsoft 365 or Office 365 license, or Exchange and Microsoft Teams or Skype for Business will not work. If you have the license, you need to assign a usage location to your device account—this determines what license SKUs are available for your account. You can use
Get-MsolAccountSkuto retrieve a list of available SKUs for your Microsoft 365 or Office 365 organization as follows:PowershellCopy
Next, you can add a license using the
Set-MsolUserLicensecmdlet. This example adds the Meeting Room license to the account:PowerShellCopy
Set-MsolUser -UserPrincipalName "Rigel1@contoso.onmicrosoft.com" -UsageLocation "US" Set-MsolUserLicense -UserPrincipalName $acctUpn -AddLicenses "Contoso:MEETING_ROOM"
For detailed instructions, see Assign licenses to user accounts with Office 365 PowerShell.
You can also add Phone System capabilities to this account, but you have to configure it first. See What is Phone System? for more details. This example adds the PSTN Domestic and International Calling Plan:PowerShellCopy
Set-MsolUserLicense -UserPrincipalName email@example.com -AddLicenses "Contoso:MCOPSTN2"
Next, you need to enable the device account with Skype for Business. Be sure your environment meets the requirements defined in Microsoft Teams Rooms requirements.
Start a remote Windows PowerShell session as follows (be sure to install Skype for Business Online PowerShell components):
Skype for Business Online Connector is currently part of the latest Teams PowerShell module.
If you're using the latest Teams PowerShell public release, you don't need to install the Skype for Business Online Connector.
Import-Module -Name MicrosoftTeams $cssess = New-CsOnlineSession -Credential $cred Import-PSSession $cssess -AllowClobber
Obtain the RegistrarPool information from the new user account being setup, as shown in this example:
Get-CsOnlineUser -Identity "Rigel1@contoso.onmicrosoft.com" | Select -Expand RegistrarPool
Next, enable your Microsoft Teams Rooms account for Skype for Business Server by running the following cmdlet:
Enable-CsMeetingRoom -Identity "Rigel1@contoso.onmicrosoft.com" -RegistrarPool "sippoolbl20a04.infra.lync.com" -SipAddressType EmailAddress
New user accounts might not be created on the same registrar pool as existing user accounts in the tenant. The command above will prevent errors in account setup due to this situation.
For validation, you should be able to use any Skype for Business client to sign in to the account you created.