5 Methods to Disable Microsoft Teams Auto Startup on Windows
In this post, I will show you multiple methods to disable Microsoft Teams auto startup. Users frequently ask how to prevent Microsoft Teams from opening at Windows startup, and there are easy ways to do that.
When you install Office 2021 or Microsoft 365, all the Office apps including the Microsoft Teams is installed by default. Although with Configuration Manager, you can customize the Office 365 deployment and exclude the Teams installation.
MS Teams is set up to launch automatically whenever a user logs in to their computer. If you do not use Microsoft Teams or do not want it to consume your host resources, you can disable Microsoft Teams auto startup.
An illustration of Teams’ startup launch is shown in the screenshot below. Although the application can be closed, you must do so each time, you log in to Windows. We will discuss some methods for permanently eliminating Teams launching at startup.
Method 1: Manually Disable Teams from Opening on Startup
You can manually disable Microsoft Teams auto start in its settings. Open the Teams app and go to Settings > General > Application. Uncheck the Auto-start application option. Restart the Microsoft Teams app.
Method 2: Disable Microsoft Teams Auto Startup from Task Manager
The task manager on Windows allows you to monitor the running Processes, measure the system performance and lists the users, details and services. The Startup tab of Task Manager shows the lists of applications that are set to auto startup during every boot.
The users have an option to disable Microsoft Teams auto startup from their Task Manager, and it will not start up automatically. For that to happen, they will need to follow these steps:
To open the task manager, press Ctrl + Shift + Esc key or right-click on the Task bar and select Task Manager. On the Task Manager window, switch to the Startup tab. Right-click on Microsoft Teams, and select Disable.
Now we see the status of Microsoft Teams app as Disabled. This ensures the Teams app won’t automatically launch during the startup.
Method 3: Prevent Microsoft Teams Auto Startup using Registry
Registry is one of the methods that you can use to ensure the Microsoft Teams won’t launch automatically during the startup. Before making any changes to the Windows Registry, ensure you take a complete backup of it.
On your Windows PC, right-click Start and select Run. Enter the command regedit and click enter key to launch the Registry Editor. In the registry editor, navigate to the following path:
Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
From the above registry path, delete the com.squirrel.Teams.Teams registry parameter. You must restart your computer after making the registry changes. With the next log in, you will notice that Microsoft Teams isn’t launched automatically.
Method 4: Use PowerShell script to Disable Teams Auto Startup
By default, Microsoft Teams automatically starts when a user logs in to their computer after it’s installed. Microsoft provides a PowerShell script to reset the Teams autostart setting on a per-user basis.
If you’ve already deployed Teams in your organization and want to set the “Prevent Microsoft Teams from starting automatically after installation” Group Policy setting to disable Teams autostart, you’ll need to first set the Group Policy setting to the value you want, and then run this script. After Teams is started for a user, the autostart settings can’t be disabled by using Group Policy.
The below PowerShell script is provided by Microsoft.
<# .SYNOPSIS This script allows you to reset all autostart settings to the default settings for Teams. .DESCRIPTION If you want to use the "Prevent Microsoft Teams from starting automatically after installation" Group Policy setting, make sure you first set the Group Policy setting to the value you want before you run this script. #> $ErrorActionPreference = "Stop" $TeamsDesktopConfigJsonPath = [System.IO.Path]::Combine($env:APPDATA, 'Microsoft', 'Teams', 'desktop-config.json') $TeamsUpdatePath = [System.IO.Path]::Combine($env:LOCALAPPDATA, 'Microsoft', 'Teams', 'Update.exe') Function Test-RegistryValue { param( [Alias("PSPath")] [Parameter(Position = 0, Mandatory = $true, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)] [String]$Path , [Parameter(Position = 1, Mandatory = $true)] [String]$Name ) process { if (Test-Path $Path) { $Key = Get-Item -LiteralPath $Path if ($null -ne $Key.GetValue($Name, $null)) { $true } else { $false } } else { $false } } } Function Test-Remove-RegistryValue { param ( [Alias("PSPath")] [Parameter(Position = 0, Mandatory = $true, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)] [String]$Path , [Parameter(Position = 1, Mandatory = $true)] [String]$Name ) process { if (Test-RegistryValue -Path $Path -Name $Name) { Write-Host "Removing registry key $Path\$Name" Remove-ItemProperty -Path $Path -Name $Name } } } # when determining whether Teams should be auto-started we are checking three flags Write-Host "Removing Auto-Start-related artifacts" # 0. Close Teams, if running $teamsProc = Get-Process -name Teams -ErrorAction SilentlyContinue if ($null -ne $teamsProc) { Write-Host "Stopping Microsoft Teams..." Stop-Process -Name Teams -Force # wait some time Start-Sleep 5 } else { Write-Host "No running Teams process found" } # 1. Check that Teams process isn't still running $teamsProc = Get-Process -name Teams -ErrorAction SilentlyContinue if($null -eq $teamsProc) { # 2. remove HKEY_CURRENT_USER\Software\Microsoft\Office\Teams\LoggedInOnce registry key Test-Remove-RegistryValue -Path "HKCU:\Software\Microsoft\Office\Teams" -Name "LoggedInOnce" # 3. remove HKEY_CURRENT_USER\Software\Microsoft\Office\Teams\HomeUserUpn registry key Test-Remove-RegistryValue -Path "HKCU:\Software\Microsoft\Office\Teams" -Name "HomeUserUpn" # 4. remove HKEY_CURRENT_USER\Software\Microsoft\Office\Teams\DeadEnd registry key Test-Remove-RegistryValue -Path "HKCU:\Software\Microsoft\Office\Teams" -Name "DeadEnd" # 5. remove HKCU:\Software\Microsoft\Office\Outlook\Addins\TeamsAddin.FastConnect registry key Remove-Item -Path "HKCU:\Software\Microsoft\Office\Outlook\Addins\TeamsAddin.FastConnect" -ErrorAction SilentlyContinue # 6. restore HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\com.squirrel.Teams.Teams if (!(Test-RegistryValue -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" -Name "com.squirrel.Teams.Teams")) { Write-Host "Restoring registry key HKCU\Software\Microsoft\Windows\CurrentVersion\Run\com.squirrel.Teams.Teams" Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" -Name "com.squirrel.Teams.Teams" -Value "$TeamsUpdatePath --processStart ""Teams.exe"" --process-start-args ""--system-initiated""" } # 7. We are checking whether there are entries 'isLoggedOut' and 'openAtLogin' in the desktop-config.json file if (Test-Path -Path $TeamsDesktopConfigJsonPath) { Write-Host "Changing entries 'guestTenantId', 'isLoggedOut' and 'openAtLogin' in the desktop-config.json, if exist" # open desktop-config.json file $desktopConfigFile = Get-Content -path $TeamsDesktopConfigJsonPath -Raw | ConvertFrom-Json $desktopConfigFile.PSObject.Properties.Remove("guestTenantId") $desktopConfigFile.PSObject.Properties.Remove("isLoggedOut") try { $desktopConfigFile.appPreferenceSettings.openAtLogin = $true } catch { Write-Host "openAtLogin JSON element doesn't exist" } $desktopConfigFile | ConvertTo-Json -Compress | Set-Content -Path $TeamsDesktopConfigJsonPath -Force } } else { Write-Host "Teams process is still running, aborting script execution" }
Method 5: Disable Teams Auto Startup using Group Policy
In an Active Directory environment, you can prevent teams auto startup on multiple Windows computers using the group policy. You must enable the Prevent Microsoft Teams from starting automatically after installation Group Policy setting. You can find this policy setting in User Configuration\Policies\Administrative Templates\Microsoft Teams. This is the recommended method because you can turn off or turn on the policy setting according to your organization’s needs.
When you deploy a new group policy, you either do it at the domain level or at the organizational unit level. I suggest making a new group policy object, linking it to a test OU with the pilot computers, and then deploying it to a larger group of computers.
To create the GPO to disable the auto startup of Microsoft Teams, log in to the domain controller. Launch the Server Manager from the Start menu and click Tools > Group Policy Management console. In the Group Policy Management console, expand the domain, right-click Group Policy Objects or an OU, and select New.
Enter the name for the new group policy. For example, you can specify the GPO name as “Disable Microsoft Teams Auto Startup” and click OK. The new GPO is created and is visible under the list of Group Policy Objects in the console.
Right-click the GPO that you just created and select Edit. In the Group Policy Management Editor, navigate to User Configuration\Policies\Administrative Templates\Microsoft Teams. Here look for the policy setting “Prevent Microsoft Teams from starting automatically after installation“, right-click this setting and select Edit.
This policy setting controls whether Microsoft Teams starts automatically when the user logs into a device after Teams is installed. If you enable this policy setting, Teams does not start automatically when the user logs in to the device and the user has not started Teams previously. Select Enabled and click Apply and OK.
Conclusion
In this article, I have covered multiple ways to disable Microsoft Teams from launching during startup. I hope you can now get rid of teams from auto-starting on your Windows PC using any of these methods.
Good It worked
If you’re deploying it via distributed msi using the /a argument for a software gpo you can just edit the setup.json that comes with the msi installation to add the { “noAutoStart”: true } that comes with a { “noAutoStart”: false } by default, that helped me a lot since it’s an option defined on installation!
I also found this to work but finding/writing a PowerShell script to change the json file deemed problematic for me – on a large scale. (Intune)