CreatedOnDate

PowerShell script with functions that append the devices’ [primary user] (retrieved from Intune) to the device name in the Teamviewer portal.

TeamViewer Portal

By default, when a device is registered in the TeamViewer portal by deploying the msi (through Intune of course) it doesn’t contain any information regarding the primary (or any other) user of the device. Generally, the end user will not know the name of their device and the IT Service Desk would prefer to search by the users’ name rather than device.

By scheduling an Azure Automation script that uses the TeamViewer and Intune Graph API, we can append a [User Name] to the device so it looks like: Lap-Win10-1 [Jack Rudlin]

See below on how to set things up.

TeamViewer token

To connect to the TeamViewer API and add the primary user to the existing device name, we need a token to authenticate.

Login to the TeamViewer portal with an admin account that will remain active - maybe a generic super user? In my example I’m using an admin account with my name.

You have to create a token under a user account, rather than the company profile, because only user accounts have access to edit devices via the API.

CreatedOnDate

Edit your account profile in the top right drop down menu:

CreatedOnDate

Create a new script token from the Apps menu:

CreatedOnDate

Give the token a name, description and edit access to Computers:

CreatedOnDate

Make a note of the token - however it can always be retrieved later by editing the token:

CreatedOnDate

The script

Github Source

Rename-TeamViewerDevice.ps1

PoSh Modules

The script relies on PowerShell module Microsoft.Graph.Intune so make sure that’s installed in your Azure Automation account and is running at least module version 6.1907.1.

Note: There is a bug with older versions of the Microsoft.Graph.Intune module in Azure Automation Accounts. More details here.

Authentication

Use an account or AAD Application that has read-only access to Intune device properties. See below for variables to amend.

Variables

Replace $token variable with the TeamViewer token that you created above.

#Define Auth Token for TeamViewer
$token = "3462611-habtKKAf1VrtYJD2UWZO"

Replace $IntuneROAccount with the name of the Azure Automation Account credentials that will provide RO access to Intune.

You don’t have to, but if you want to change the format of how the user names will appear and how its matched by the script, change the $NamingPatternMatch variable and also the [$PrimaryUser] on line 141.

$NamingPatternMatch = '\[(.+)\]'

[$PrimaryUser]

Output

During the script run, output will look like this if running from Azure Automation:

CreatedOnDate

Or this from a shell:

CreatedOnDate

true is returned when a TeamViewer device is succesfully renamed.

The result looks like this from the TeamViewer portal:

CreatedOnDate

and allows simple search by users name from the bar in the top right:

CreatedOnDate