How to Deploy Microsoft Teams Using SCCM
This post is a guide to deploy Microsoft Teams using SCCM. If you have office 365 deployed for your organization, Microsoft Teams should be available for you. Integrated with Office 365, Microsoft Teams is a chat-based work-space. Microsoft Teams bring together conversations, content, meetings, files, Office apps, and third-party integrations to provide a single hub for teamwork in Office 365. Furthermore let me tell you that Teams is not available as a standalone service. To setup Microsoft Teams in your Office 365 organization, read this article. More information about office 365 licensing for Microsoft Teams is documented here.
Microsoft recently announced that Microsoft Teams will replace Skype for business in future. I am not sure when will it replace the SFB but the plan is in queue. With the new updates, Microsoft has added calling features and meeting enhancements in Teams. From past few days I have been working on deploying Microsoft Teams app to an organization. This organization currently has skype for business installed on the computers. Both the softwares can run on a single computer without any issues. Let’s looks at the steps for deploying Microsoft Teams using SCCM.
To download the latest version of Microsoft Teams, click here. Downloads are available for 32-bit and 64-bit windows OS (Windows 7 and above). Also if you have Mac OSX 10.10+, the Teams app is available for download on same page.
How to Deploy Microsoft Teams Using SCCM
To deploy Microsoft Teams using SCCM, launch the Configuration Manager console. Create a new Application and select Manually specify the application information. Click Next.
Specify some information about the Microsoft Teams app and click Next.
Add a new deployment type and select Manually specify the deployment type information. Click Next.
Specify the content location and use the following as install and uninstall commands.
Installation program - "Teams_windows.exe" -s
Uninstall Program - "%LocalAppData%\Microsoft\Teams\Update.exe" --uninstall -s
Most of all if you notice the uninstall command is supplied by Microsoft and is stored in the registry. So we will use the same to detect the presence of Microsoft Teams application.
Hence to detect the presence of Microsoft Teams app, let’s a detection rule. In the detection rule choose the setting type as Registry. Specify the following as mentioned below.
Hive – HKEY_CURRENT_USER
Key – SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Teams
Value – DisplayVersion
Data Type – String
Select “This registry settings must satisfy the following rule to indicate the presence of this application”. Choose Operator to Equals and specify value 1.0.00.6903.
Click OK and close the detection rule window. Click Next.
For User Experience, select Installation behavior to Install for a user. Set the installation program visibility to Hidden. Click Next.
Complete the remaining steps and finally on the completion page click Close.
Distribute the Microsoft Team app to distribution points. In the next step deploy the Microsoft Teams app to the desired collection.
On the client computer, launch the software center. Under the list of Applications click on Microsoft Teams and click Install.
Using the CMTrace tool open the AppEnforce.log file to monitor the install and uninstall process. In my test lab both install and uninstall of Microsoft Teams worked well. The installation and uninstallation was tested on Windows 7, Windows 10 operating systems.
how to download teams msi file for sccm.
The MSI installer is available and you can download it from Microsoft site – https://docs.microsoft.com/en-us/microsoftteams/msi-deployment
hi, there is a query to find who has already installed Teams on the pc ???
Thanks for another great tutorial!
I am getting this error when I deploy.
Unsupported configuration. App is targeted to Machine and enforcement is set to run in a user context. AppEnforce 06/08/2020 11:57:13 AM 8796 (0x225C)
CommenceEnforcement failed with error 0x87d0031e. AppEnforce 06/08/2020 11:57:13 AM 8796 (0x225C)
Method CommenceEnforcement failed with error code 87D0031E AppEnforce 06/08/2020 11:57:13 AM 8796 (0x225C)
++++++ Failed to enforce app. Error 0x87d0031e. ++++++ AppEnforce 06/08/2020 11:57:13 AM 8796 (0x225C)
I have doubled checked the deployment, it’s definitely set for a user
Can you create a guide on how to create and Deploy Microsoft Teams Rooms by using Microsoft Endpoint Configuration Manager
Perfect instructions!
Can we add MS Teams Application to Task Sequence?
Hello. When I click the install button, I get the information “Status: Failed”. Click on more information and give this error 0x87D00324 (-2016410844). But in the end the Teams is installed. What should be the problem?
I get the same error. I have tried several different detections, but nothing has changed. It does uninstall without any errors.
Hello Seems like a détection problem, review your detection rules
Create a CMD file adding the install line and the timeout Timeout /T 20 then EXIT
That’s an application detection issue because I had the same issue while using the method mentioned in the post. However, I changed the detection method little bit, I chose “This registry setting must exist on the target system to indicate presence of this application” and run the machine policy retrieval and it worked like a charm!!!
i am running this query to see how many machines currently have teams installed by come up with nothing
select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_G_System_ADD_REMOVE_PROGRAMS on SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceId = SMS_R_System.ResourceId where SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName like “Microsoft Teams%”
i see % missing just before Microsoft
Hello,
I have used below query still I am getting the same error, not working.
select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_G_System_ADD_REMOVE_PROGRAMS on SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceId = SMS_R_System.ResourceId where SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName like “%Microsoft Teams%”
Hello Prajwal,
We are getting multiple entries for single computer and seeing all different versions with different user, do you know why there are multiple entries getting created for same computer either with different version or different user in report. how to get accurate report.
How did you get the query working in the first place
Oh wow this is horrible to uninstall, even with the machine-level MSI. https://docs.microsoft.com/en-us/microsoftteams/msi-deployment
What if we deployed it to an area and decided to uninstall it in bulk? It appears that you can’t. Any suggestions?
Hi Prajwal,
First of all thank you for this post,
I just have a question why you choose the “Installation Behavior” to Install for user?
Because as i know “Install for system” is better in regards to privilege.
Thank you,
The Teams app installs to the user’s profile \ appdata, so it needs to install as the user.
What if there are multiple users in a student environment?
It will install for each user on logon
How to change the installation path? If it installs to current user profile then users will need admin privilege for the install.
I know SCCM will use system account. What is I am doing manually or pushing through GPO.
Hi Praj,
Thanks for this post. Also let me say, many of your posts have helped me greatly. I appreciate your efforts.
I’m having an issue with this app always saying Failed, even though it installs and works successfully. Only thing different is that I have version 1.1.00.2251. App detection always fails after install. Seems like it is trying to do detection before it is completely installed.
Any thoughts?
Thank you
Maybe you should re-check detection method.
I did multiple times and tried multiple detections.
I had a suspicion that it was installing “too fast”. I found a link that confirmed this. So, per the link, i created a .bat file with the following 2 lines:
teams_windows.exe /s
ping 127.0.0.1 -n 60
it now installs without the false failure.
Thanks
Is it installing as expected? I’ve noticed that for my deployment, it’s creating a folder in ProgramData, for each user on a computer that runs the install (e.g. “C:\ProgramData\username\Microsoft\Teams\…”). The uninstaller is placed in ProgramData as well, instead of in LocalAppData.
I am not aware if they have changed the install folder location. What do you see in the registry under – SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Teams?.
The REG values for install and uninstall location is “C:\ProgramData\username\Microsoft\Teams\…”
I did further testing this morning, and it seems that it only installs to LocalAppData if I am using the built-in administrator account. All other users, both local standard/admin or domain standard/admin, install to ProgramData.
I also noticed that it is creating a folder named “SquirrelTemp” in LocalAppData, which does contain a copy of the Update.exe file. I’m going to test starting the uninstall command in that location. If that doesn’t work, I’ll probably need to make an uninstall script that checks LocalAppData and ProgramData for the uninstaller, as a workaround.
Or wait for Microsoft’s MSI installer, which “will be available in the coming months” (as of March 8, 2018):(https://microsoftteams.uservoice.com/forums/555103-public/suggestions/17380159-improve-install-options-install-for-all-users-an)
Thanks for that info. Looks like in the new installer they have changed install location folders. I never noticed squirreltemp in appdata during my packaging. msi installer would solve most of the things here.
I figured out what’s going on in my environment. We have a GPO that blocks installs from AppData, and I did not whitelist Teams.
It was installing to ProgramData when it couldn’t install to LocalAppData. It installs normally when that GPO is not applied.
Still hoping for that MSI installer so we can deploy from task sequence.
In that case you should change your uninstall commands and point to programdata.
i would recommend changing the operator from “Equals” to “Greater than or equal to” in the detection rule window. This way, even if a higher version is installed, there would not be any problems. As, MS updates teams frequently, and there is a possibility of the version value to Change in the registry.
Hi prajwal,
Thanks for sharing this. Is there way to block startup automatic loading?
I did the same deployment changing the success code in the program
I don’t think so. It launches up every time when a user logs in. Something like skype for business.
Hi
You can stop it starting automatically by by removing the RUN key in the registry
Command line
reg delete HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v com.squirrel.Teams.Teams
Powershell
Remove-ItemProperty -path HKCU:\Software\Microsoft\Windows\CurrentVersion\Run\ -Name com.squirrel.Teams.Teams
Hi,
I’ve tried this just now however the registry key is not there….
Any ideas why this is?
Thanks in Advance
Is the app version same as what i mentioned in the post ?.