Teams: Check client version using PowerShell

Looking for New Teams? Please go to New Teams: Check client version using PowerShell – UC Lobby

Update May 18th 2022: Now available as Get-UcTeamsVersion in UCLobby Teams PowerShell Module

An easy way to check MS Teams version is in the client by going to About > Version:

The version will be displayed near the Command Box:

The MS Teams client is installed per user and the version is stored in the settings.json file:

%AppData%\Microsoft\Teams\

Using PowerShell we can convert JSON files to PowerShell Objects:

PowerTip: Convert JSON File to PowerShell Object
https://blogs.technet.microsoft.com/heyscriptingguy/2014/04/23/powertip-convert-json-file-to-powershell-object/

Now we can run the following PowerShell cmdlet to get the Teams client version:

Get-Content $env:UserProfile”\AppData\Roaming\Microsoft\Teams\settings.json” | ConvertFrom-Json | Select Version, Ring, Environment

The install/update date is in the installTime.txt file in the same folder:

Get-Content $env:UserProfile”\AppData\Roaming\Microsoft\Teams\installTime.txt”

Note: The date is stored in MM/dd/yyyy

Since MS Teams is installed on a user level we can have multiple versions on the same machine.

To check all the installed versions we can use a PowerShell Script that will execute the previous cmdlets for each user.

The script is available in GitHub and doesn’t take any parameter:

MS Teams installed version for each user profile

Get-TeamsVersion.ps1

Thanks to The Scripting Guys for a way to list the user profile paths:

Use PowerShell to Find User Profiles on a Computer

11 thoughts on “Teams: Check client version using PowerShell”

  1. This is really useful, thanks.
    Would you know how to add in the architecture version to this?
    I tried adding in Architecture as a property the end of the get-content line but to no avail.

    Thanks

  2. This is excellent. I have been attempting to have the script reference a TXT file containing a list of computers to run this on and output the results to a CSV. If either one or both of these additions are possible it would be a lifesaver.

      1. No worries, I had a draft but never published. I just updated the module, if you previously install it just do:

        Update-Module UCLobbyTeams

        If you don’t have it then:
        Install-Module UclobbyTeams

        In version 0.2.7 you can use this:

        $cred = Get-Credential
        Get-UcTeamsVersionBatch -InputCSV C:\Temp\ComputerList.csv -Credential $cred -ExportCSV

        or

        $cred = Get-Credential
        Get-UcTeamsVersionBatch -InputCSV C:\Temp\ComputerList.csv -Credential $cred -ExportCSV -OutputPah C:\Temp

        You only need to specify Credentials if the current account doesn’t have access to the Admin Shares.
        the OutputPath is optional, if you don’t use it, the Download folder of the current user will be the Output Path.

        The inputfile can be any CSV with a column Computer, something like this:
        Computer,SerialNumber
        localhost,00001
        workstation.contoso.com,0002

        Please let me know if this works and also if you have feedback on it.

        For more information about the module:

        https://uclobby.com/uclobby-teams-powershell-module/

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.