For anyone with this issue, there is a fix you can apply until Microsoft pull their finger out.
This parameter it is referring to is the "autostart teams" checkbox. Even unticking it (if it even lets you as most of the time you cannot even interact with it) will not work and it instead needs to be done via regedit.
I have made a GPO that does two things, the first being amending or deleting the following keys and folders:
REGISTRY
COMPUTER LEVEL
DELETE
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run32
Value name: Teams
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run32
Value name: TeamsMachineInstaller
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\StartupFolder
Value name: Microsoft Teams (work or school).lnk
USER LEVEL
UPDATE
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run
Value name: com.squirrel.Teams.Teams
Value type: REG_BINARY
Value data: 01100000a9a989ca3496da01
HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\MSTeams_8wekyb3d8bbwe\TeamsTfwStartupTask
Value name: state
Value type: REG_DWORD
Value data: 0
FOLDERS
DELETE
Folder path: %userprofile%\AppData\Roaming\Microsoft\Teams
Folder path: %userprofile%\AppData\Roaming\Microsoft\MsTeams
The second being running a powershell script OnLogon, you may need to amend it to match your specific environment setup:
# Define the path to the WindowsApps folder
$windowsAppsPath = "C:\Program Files\WindowsApps"
# Get all folders in the WindowsApps directory starting with "MSTeams_"
$teamsFolders = Get-ChildItem -Path $windowsAppsPath -Directory -Filter "MSTeams_*"
# Initialize variables to hold the highest version number and corresponding folder
$highestVersion = "0.0.0.0"
$latestFolder = $null
# Loop through each folder
foreach ($folder in $teamsFolders) {
# Extract the version number from the folder name
$version = [System.Version]::new(($folder.Name -split "_")[1])
# Compare the version number with the highest version found so far
if ($version -gt $highestVersion) {
$highestVersion = $version
$latestFolder = $folder.FullName
}
}
# Output the path of the folder with the highest version number
if ($latestFolder -ne $null) {
$exePath = Join-Path -Path $latestFolder -ChildPath "ms-teams.exe"
if (Test-Path $exePath) {
Start-Process -FilePath $exePath
Write-Output "Microsoft Teams launched."
# Get the current user's desktop folder
$desktopPath = [Environment]::GetFolderPath("Desktop")
# Define the shortcut file path
$shortcutPath = Join-Path -Path $desktopPath -ChildPath "Microsoft Teams.lnk"
# Check if the shortcut already exists
if (Test-Path $shortcutPath) {
# If exists, delete the existing shortcut
Remove-Item $shortcutPath -Force
Write-Output "Existing shortcut replaced."
} else {
Write-Output "Shortcut created."
}
# Create the new shortcut
$WScriptShell = New-Object -ComObject WScript.Shell
$Shortcut = $WScriptShell.CreateShortcut($shortcutPath)
$Shortcut.TargetPath = $exePath
$Shortcut.Save()
Write-Output "Shortcut created on desktop."
} else {
Write-Output "ms-teams.exe not found in the latest folder."
}
} else {
Write-Output "No Teams folder found."
}