Back in 2019, one of my customers needed to roll out a 1000+ Skype (Teams) Room Systems in their environment. To be very blunt and honest, by default it comes down to rolling out a small business device into the enterprise, some maybe call it an appliance. For the Teams Room Systems which are based on Windows 10 counts;
- Every device comes with a default installation of Windows 10 which is prepared by the OEM with the drivers and to run the Teams Room app.
- Every device will need to have a unique configuration for Teams (by default provided manually in the TRS app).
- By default a workgroup device with two local accounts which are the same on every device.
- Windows Autopilot is not supported.
- The device will receive a random DESKTOP-<random> name.
- The device is updated by Microsoft a the time the new version of Windows 10 is verified and marked as supported. Until then the feature updates of Windows 10 are automatically blocked.
Activating a Teams Room System can be done manually, where you need to provide the necessary information about the Teams Room accounts, the peripheral devices that are connected. When you have one or two devices, that is doable but when you have hundreds or thousands automation is maybe more interesting.
In this blog I will describe process and components I used so that we were able to configure the devices without needing to enter all the information manually by the engineers installing the Teams Room Systems.
Windows Configuration Designer
For the solution I created I am relying on the Windows Configuration Designer, the Windows Configuration Designer allows you to create a Provisioning Package that can take care of provisioning and configuring Windows 10 for your needs. For the Teams Room Systems we want to be able to configure the name of the device, drop an XML file that configures the Teams Room app and join the device to Azure AD. Automatic Device Enrollment in Azure AD will make sure that the device will become Intune managed.
Since we want to drop an XML file with the unique information about the Teams Room System, a unique provisioning package for each device needs to be created.
With PowerShell the device can be tuned as part of the provisioning package, but also PowerShell can be used to create the provisioning packages based on a CSV file that contains information about all of the Teams Room Systems that need to be deployed.
Besides that the provisioning packages are created, the PowerShell script also needs to be capable to create or update the skypesettings.xml and a customizations.xml so that they are customized for the different Teams Room Systems.
The CSV file is basically the center piece of the process, the CSV contains all the unique information about the Teams Room Systems. Information like, the UPN, email address, passwords, name of the device, the peripheral devices, and so on and on.
This file needs to be prepared before you can use it to create the hundreds or thousands of provisioning packages.
In short the process of deploying the Teams Room Systems looks like as follows.
In the next blogs I will dive more into the tech of the solution, with some tips and tricks. I will do my best to put them online as soon as possible 🙂