In this blog post, we will explore the process of deploying the New Microsoft Teams app on Windows 10 and Windows 11 devices using the Intune admin center.
Microsoft has completely redesigned the New MS Teams app. It was made generally available to users starting on October 5, 2023. It’s twice as fast and uses 50% less computing resources than the previous Teams version.
You can read more about the new Microsoft Teams app here: Switch to the new Microsoft Teams. To deploy the new Microsoft Teams app on macOS devices, please refer to this guide: Deploy New Microsoft Teams on macOS using Intune.
Remove Personal Microsoft Teams
If you want to first remove Personal Microsoft Teams, either built-in or installed versions, you can use the script remove_teams.ps1. This script can be downloaded from my GitHub repository to Uninstall Microsoft Teams from Windows 11 devices. You can use #step-2-deploy-powershell-script to deploy the script via Intune.
Once the app is removed, proceed to the steps to install New Microsoft Teams app on Windows devices via Intune using the steps provided in the next sections of the post.
Contents
1. Download New Microsoft Teams App
The first step is downloading the installation files required to deploy the New Microsoft Teams App. We will require two files, teamsbootstrapper.exe, and MSTeams-x64.msix, for offline Installation of the new MS Teams app. You can obtain both files by using the links provided below:
If you intend to deploy the New Microsoft Teams app on a Windows operating system with an architecture other than 64-bit, you’ll need to download the corresponding .msix from the Microsoft website and use it for the deployment.
2. Download PowerShell Scripts
I’ll utilize the following three PowerShell scripts to deploy the new Microsoft Teams app on Windows devices.
- Install.ps1: This script will deploy the new Microsoft Teams using its offline installer.
- Uninstall.ps1: This script will uninstall the new Microsoft Teams App.
- Detect.ps1: This script will detect the new Microsoft Teams App on the target devices.
You can download all these scripts from my GitHub repository. Here is the link: Microsoft Teams (new) PowerShell scripts. I have also provided the script content below:
Install.ps1
<#
.SYNOPSIS
Install New Microsoft Teams App on target devices
.DESCRIPTION
Below script will install New MS Teams App Offline.
.NOTES
Name : New MS Teams App Installation Offline
Author : Jatin Makhija
Version : 1.0.0
DateCreated: 12-Jan-2024
Blog : https://cloudinfra.net
.LINK
https://cloudinfra.net
#>
# Define paths and filenames
$msixFile = ".\MSTeams-x64.msix"
$destinationPath = "C:\windows\temp"
$bootstrapperPath = ".\teamsbootstrapper.exe"
# Copy MSTeams-x64.msix to the destination directory
Copy-Item -Path $msixFile -Destination $destinationPath -Force
# Check if the copy operation was successful
if ($?) {
# If successful, execute teamsbootstrapper.exe with specified parameters
Start-Process -FilePath $bootstrapperPath -ArgumentList "-p", "-o", "$destinationPath\MSTeams-x64.msix" -Wait -WindowStyle Hidden
Write-Host "Microsoft Teams installation completed successfully."
} else {
# If copy operation failed, display an error message
Write-Host "Error: Failed to copy MSTeams-x64.msix to $destinationPath."
exit 1
}
Uninstall.ps1
./teamsbootstrapper -x
Detect.ps1
<#
.SYNOPSIS
Detect New Microsoft Teams App on target devices
.DESCRIPTION
Below script will detect if New MS Teams App is installed.
.NOTES
Name : New MS Teams Detection Script
Author : Jatin Makhija
Version : 1.0.0
DateCreated: 12-Jan-2024
Blog : https://cloudinfra.net
.LINK
https://cloudinfra.net
#>
# Define the path where New Microsoft Teams is installed
$teamsPath = "C:\Program Files\WindowsApps"
# Define the filter pattern for Microsoft Teams installer
$teamsInstallerName = "MSTeams_*"
# Retrieve items in the specified path matching the filter pattern
$teamsNew = Get-ChildItem -Path $teamsPath -Filter $teamsInstallerName
# Check if Microsoft Teams is installed
if ($teamsNew) {
# Display message if Microsoft Teams is found
Write-Host "New Microsoft Teams client is installed."
exit 0
} else {
# Display message if Microsoft Teams is not found
Write-Host "Microsoft Teams client not found."
exit 1
}
3. Create an Intunewin file
As we will be utilizing the Win32 app deployment method to deploy this app, the application must be uploaded in the .intunewin file format. Let’s check the steps to create .intunewin file:
- Create a New folder that will hold all New Microsoft Teams app Installation files. I have created a folder in C:\temp called NewTeamsInstaller.
- Move All Installation files into the NewTeamsInstaller folder, which includes the below files:
- Install.ps1
- Uninstall.ps1
- MSTeams-x64.msix
- teamsbootstrapper.exe
- Create an empty folder called Output anywhere in C:\ or D:\ drive. You can name it whatever you like. This will be the folder where we will generate .Intunewin file. I have created this folder in C:\temp.
- Download and Extract the Microsoft Win32 Content Prep tool. I have extracted it to C:\temp\IntuneContentPrepTool.
- Launch the PowerShell console as an administrator and then navigate to the folder where the Microsoft Win32 Content Prep Tool is located to set it as the current directory.
- Run
IntunewinAppUtil.exe
You will get options to specify the Source Folder, Setup File, Output Folder, and Catalog Folder.- Source Folder: Provide the folder where all application setup files are copied. C:\temp\NewTeamsInstaller.
- Setup File: Provide the file’s name to execute it on the target device. We are going to use the Install.ps1 file to Install the app, so provide the Setup file as Install.ps1.
- Output folder: Provide a location of a folder where .Intunewin file will be generated. You can provide any folder you like, But I generally create an empty Output folder. C:\temp\Output.
- Catalog folder: Specify N not to specify any Catalog folder, or press Enter to skip.
- The .intunewin file generated is in the Output folder location specified when it was created. We will use this file to create the Win32 app deployment from the Intune admin center.
If you are facing any Issues, creating .Intunewin file. You can refer to my step-by-step guide, which provides more details on How to create an IntuneWin file.
How to create Intunewin file (Step-by-step) Guide
4. Create Win32 App Deployment for New Teams App
Now that we have created .intunewin file. Using this file, we will create a Win32 app deployment on the Intune admin center to deploy the New Microsoft Teams app on the target devices.
`To Create Win32 app deployment, follow the below steps:
- Sign in to the Intune admin center.
- Click on Apps and then click on All Apps.
- Click on + Add and Select Windows app (Win32) from the app type, then click Select.
- App Information: Click on Select app package file and browse to .Intunewin file.
- Program:
- Install command: %SystemRoot%\sysnative\WindowsPowerShell\v1.0\powershell.exe -windowstyle hidden -executionpolicy bypass -command .\install.ps1
- Uninstall command: %SystemRoot%\sysnative\WindowsPowerShell\v1.0\powershell.exe -windowstyle hidden -executionpolicy bypass -command .\uninstall.ps1
- Installation time required (mins): Keep default, which is 60 minutes.
- Allow available uninstall: Yes
- Install behavior: System
- Device restart behavior: Select No specific action.
- Requirements: You can specify the requirements that devices must meet to deploy the app. If your devices mix 32-bit and 64-bit types, check the boxes for 32-bit and 64-bit in the operating system architecture drop-down menu. Else, go with 64-bit.
- Operating System Architecture: 64-bit
- Minimum operating system: Select the minimum OS requirement for this deployment.
- Detection Rules: We will utilize the
Detect.ps1
PowerShell script to identify the app installation on the target computers. Follow the settings below to configure the detection script for the app deployment. Click on Next to proceed. Download Detect.ps1 from the GitHub Repo: Download Detect.ps1 from GitHub.- Rule format: Use a custom detection script.
- Script file: Browse to the PowerShell script Detect.ps1.
- Run script as 32-bit process on 64-bit clients: No
- Enforce script signature check and run script silently: No
- Assignments: Click on Add group to add an Entra security group containing users or devices. You can start by adding a few devices to test the application deployment, and once the testing is successful, you can add more devices.
- Review + create: Review the deployment and click on Create to start the deployment process.
Sync Intune Policies
The device check-in process might not begin immediately. If you’re testing this policy on a test device, you can manually kickstart Intune sync from the device itself or remotely through the Intune admin center.
Alternatively, you can use PowerShell to force the Intune sync on Windows devices. Restarting the device is another way to trigger the Intune device check-in process.
Monitoring Deployment Progress
From the Intune admin center > Apps > All apps. Click on the MS Teams app deployment and check the Overview page to show the deployment status.
- If you click Device Install Status, you will find the app deployment status for each target device. Confirm the deployment’s success by checking the Status column, which should appear Installed.
End User Experience
After the successful completion of the app deployment on the target devices, follow the steps below to check and confirm the app installation on a device:
- Click on the Windows logo and search for the Teams app.
- If the app is installed successfully, you will find the Microsoft Teams (work or school) app with the new logo. This confirms that the app has been deployed successfully on the devices.
Further Reading
To learn more about the New Microsoft Teams App, explore the links below:
Thanks for this wonderful article but where is the Detect script?
Detect.ps1 is in this blog post and also can be downloaded from the Github Repo: https://github.com/Jatin-Makhija-sys/Powershell-Scripts/tree/master/Intune/MicrosoftTeams(new).
Is this install system wide context? Our organization does not want Teams installed on a per profile basis which leads to out of date clients if a user hasn’t logged into the machine in a while to update their install.
Yes, the “Install behavior” is set to “System” in the Program tab when creating the app deployment. Therefore, the installation will occur in the System Context. I hope this answers your query.
Thanks! Works like a charm.
Many Thanks, QQ I get a Edge Webview2 runtime Requirement on launch. is that something that auto deploys as this worked via Co portal / live system but on autopilot it installed this package but said lacked Edge Webview2 Runtime (so wondered if I need to make a dependancy app to deploy this as a Device app. – Or better to do as user as This Runtime might get auto added later?
works pretty good, the first time it stated the app was installed but it was not. Had to do a uninstall and then the next install worked.
My devices come with an office suite including Teams Personal and want to uninstall Teams personal and install Teams work or school only. Devices are enrolled as Windows Autopilot. What would be the best practice?
Intune shows as app installed, but when checked in All apps, it is not there.
Any idea what to do next?
Is there a clean way to uninstall teams classic before we deploy this?
There are many options to uninstall Teams classic version:
1. You can use the Teams classic version MSI and target for uninstall assignment and check if its removing the app.
2. Create a Powershell script, Test for manual removal of teams classic apps, and deploy it via Intune: https://cloudinfra.net/how-to-deploy-a-powershell-script-using-intune/
Great Article.
Can we add the Website Tab with the link and add in Teams channel using command.
Thanks for this guide, it installed Teams Work and School without issue.
Great article, but the detection script incorrectly identifies that the Teams client is installed, even though it’s not. Thats the reason why some comments here indicate that it’s installed, but in reality, it isn’t.
Yes, indeed. I’m using the script below instead.
———-
$Pkg = Get-AppxPackage -Name “MSTeams” -AllUsers -ErrorAction SilentlyContinue
if ($null -ne $Pkg) {
write-host “Success – $($Pkg.PackageFullName) v$($Pkg.version) is installed”
exit 0
}
————
Did this script end up working and detecting the install ok?
Yes, it properly detects is New Teams is installed on my test machine.
I am using this in my autopilot as a required app. Installs fine during device app phase, but wants to install again in the user phase, this is not set as a User Required App. Unfortunately it errors with 0x80070643 during the user phase. It still works and has no issues, but was hoping you may understand why this is occurring and possibly how to stop it.
I find that the app installed, as the files are listed in the Program Files -> WindowsApps directory, but it doesn’t show up in start menu or add/remove programs.
Anyone got any ideas on that?
Could you please check Settings App > Apps > Installed Apps and search for Teams to confirm if it shows up?
Hi…
Thansk for responding. No, it is not shown in the Settings app, add/remove programs or in control panel -> Programs -> uninstall
It says Teams has installed successfully on the Intune side. But even after restarting the device Teams is not there and it doesnt show in control panel – programs and features. It also doesnt show up in Settings – Apps&Features. Any ideas?
Exactly the same issue I see here and asked about above. I have a ticket open with MS regarding this.
Did you hear back from Microsoft?
Thank you. May I know what is the difference between deploying as win32app as intunewin file vs Line of business app using msix ?
Thank you.
Very nice!
Thanks! Works like a charm.
But I still don’t understand why Microsoft can’t just make relevant packages and add them to Intune. Even though they have paid for it, they still need technicians to solve basic deployment problems.
Thanks from me too, it’s quick and easy
Greetings from Switzerland
Super Anleitung DANKE
Hey
Great article. I was wonder can we use this on AVD/VDI enviroment. Is there another trigger or installer we need? Similar to classic “machine-wide” and vdi regkeys
Many thanks
Matt
Both the Install and Uninstall scripts did not work, and the company portal returned errors until I changed the install and uninstall commands to “powershell.exe -ExecutionPolicy Bypass -File .\Install.ps1” and “powershell.exe -ExecutionPolicy Bypass -File .\Uninstall.ps1”, respectively. I wonder why…
Maybe this will be helpful to someone.
Big Thank you to the author for the detailed manual.
Hi. Great article. I was wondering if this installs the latest version of Teams on an endpoint? I was reading bootstrapper -p does this? but I tried running this command and it fails.