Intune – Comment déployer le nouveau Teams sur Windows ?
Sommaire
I. Présentation
Dans ce tutoriel, nous allons apprendre à déployer le nouveau client Microsoft Teams pour Windows à l'aide d'une stratégie Intune. À compter du 31 mars 2024, Microsoft forcera l'utilisation du nouveau client Microsoft Teams, à la place de l'application Legacy qui est amenée à disparaitre.
En tant qu'administrateur système, vous devez anticiper ce changement prévu par Microsoft et qui est détaillé sur cette page de la documentation :
Pour effectuer le déploiement en masse de la nouvelle application Microsoft Teams, nous allons suivre la recommandation de l'éditeur et utiliser l'installeur "teamsbootstrapper.exe". Il va permettre d'installer le nouveau Teams au niveau machine, ce qui profitera à tous les utilisateurs qui utilisent une machine. Autrement dit, ceci évite d'avoir une application Teams qui s'installe dans le profil de chaque utilisateur.
Pour utiliser cet exécutable avec Intune, nous allons devoir créer plusieurs scripts PowerShell et générer un package Intunewin. Pour plus d'informations sur cette méthodologie, suivez ce tutoriel :
II. Préparer les sources d'installation
A. Les scripts PowerShell
Pour réussir notre mission du jour, nous allons utiliser plusieurs scripts PowerShell pour répondre aux besoins d'Intune, à savoir fournir une commande d'installation et une commande de désinstallation, mais aussi pour la détection sur l'appareil (validation de l'installation).
- NewTeamsInstall.ps1 pour installer Teams à partir du teamsbootstrapper.exe
Le script d'installation a pour objectif d'exécuter "teamsbootstrapper.exe" avec l'argument "-p" car il s'agit de celui qui permet d'effectuer une installation au niveau machine.
$teamsbootstrapperPath = ".\teamsbootstrapper.exe"
Start-Process -FilePath $teamsbootstrapperPath -ArgumentList "-p"
Concrètement, ce script va exécuter la commande suivante :
teamsbootstrapper.exe -p
Cet exécutable va récupérer les sources d'installation de Microsoft Teams sur Internet. Sachez que l'option "-o" suivi d'un chemin local ou d'un chemin UNC permettra d'aller récupérer le package MSIX d'installation à un autre emplacement.
Ce script d'installation ne s'occupe pas de désinstaller l'ancien client Microsoft Teams. Néanmoins, la documentation de Microsoft précise : "Microsoft tentera de supprimer le client Teams classique en votre nom, mais si cette opération est bloquée ou empêchée par votre configuration ou vos politiques, il vous incombe de procéder vous-même à cette suppression." - Cela signifie que le comportement du teamsbootstrapper.exe pourrait évoluer après le 31 mars 2024.
Même s'il n'est pas obligatoire de supprimer l'ancien client Teams, il est préférable de le faire pour des raisons de sécurité. Si vous souhaitez le faire avec PowerShell, il vous faudra un script plus complet (je vous recommande celui-ci), car vous devez rechercher la présence de Teams dans tous les profils utilisateurs de chaque machine (puisque l'application peut s'installer dans chaque profil).
- NewTeamsUninstall.ps1 pour désinstaller Teams à partir du teamsbootstrapper.exe (obligatoire lors de la création d'une application, même s'il n'est pas utilisé)
Le script de désinstallation a pour objectif d'exécuter "teamsbootstrapper.exe" avec l'argument "-x" car il s'agit de celui qui permet d'effectuer une installation au niveau machine.
$teamsbootstrapperPath = ".\teamsbootstrapper.exe"
Start-Process -FilePath $teamsbootstrapperPath -ArgumentList "-x"
- NewTeamsDetection.ps1 pour détecter la présence du nouveau Teams sur la machine, en recherchant le répertoire d'installation
Enfin, le script de détection va parcourir le répertoire "C:\Program Files\WindowsApps" à la recherche d'un répertoire nommé "MSTeams_<ID>". Le nom varie d'une machine à l'autre, donc nous devons utiliser un wildcard pour rechercher le répertoire par rapport au préfixe.
Nous retournerons "0" comme ExitCode si le répertoire est trouvé, ce qui est synonyme de succès. Dans le cas contraire, l'ExitCode retourné sera "1". En complément, un message est généré via Write-Host pour confirmer la détection du répertoire (ce message sera visible dans les logs d'IME).
# Chemin vers l'installation du nouveau Teams
$NewTeamsPath = Get-ChildItem "C:\Program Files\WindowsApps" -Filter "MSTeams_*"
# Vérifier la présence du nouveau Teams et retourner un code d'état
if($NewTeamsPath){
Write-Host "Le nouveau Teams est présent sur cet ordinateur !"
exit 0
}else{
exit 1
}
En complément, voici le lien vers la documentation de l'installeur Teams :
B. Générer le package intunewin
Nous allons devoir générer un package ".intunewin" pour créer notre application. Pour cela, nous avons besoin :
- De l'outil Microsoft Win32 Content Prep Tool, que vous pouvez télécharger sur ce dépôt GitHub
- De l'exécutable teamsbootstrapper.exe, que vous pouvez télécharger via ce lien
- De nos scripts PowerShell
En ce qui me concerne, j'ai créé le répertoire "C:\TEMP\SOFTWARE\NewTeam" et il contient ceci :
Nous allons packager ces fichiers dans un fichier Intunewin. Toutefois, il n'y a pas d'obligation à ajouter le script "NewTeamsDetection.ps1" dans ce package, car il sera chargé indépendamment dans l'interface d'administration d'Intune.
Ouvrez une console PowerShell et exécutez l'outil de packaging :
.\IntuneWinAppUtil.exe
Ensuite, répondez aux différentes questions (en adaptant les valeurs pour qu'elles correspondent à votre environnement) :
- Dossier source : C:\TEMP\SOFTWARE\NewTeam
- Fichier d'installation source : C:\TEMP\SOFTWARE\NewTeam\NewTeamsInstall.ps1
- Dossier de sortie (où stocker le package intunewin) : C:\TEMP\SOFTWARE\INTUNEWIN
- Dossier de catalogue : non
Appuyez sur Entrée pour lancer le processus de packaging et patientez quelques secondes...
Voilà, le fichier de sortie est créé :
C:\TEMP\SOFTWARE\INTUNEWIN\NewTeamsInstall.intunewin
III. Créer l'application Teams (New) dans Intune
Désormais, nous allons créer l'application Teams à partir du portail Microsoft Intune. Cliquez sur "Applications", puis "Windows", et cliquez sur le bouton "Ajouter". Un panneau latéral va s'ouvrir, choisissez le type d'application "Application Windows (Win32)" et cliquez sur "Sélectionner".
Sélectionnez le package d'installation "NewTeamInstall.intunewin" généré précédemment.
A. Informations sur l'application
Désormais, il va falloir se laisser guider par l'assistant. Commencez par nommer cette application, le nom "Microsoft Teams (New)" me semble plutôt cohérent. Vous pouvez aussi indiquer une description afin de préciser que cette application s'appuie sur des scripts PowerShell.
Indiquez "Microsoft" en tant que "Editeur" et poursuivez.
B. Programme
L'étape "Programme" se présente à vous. Ici, vous devez déclarer les commandes d'installation et de désinstallation. Vous allez pouvoir indiquer à Intune qu'il doit exécuter les scripts PowerShell, par l'intermédiaire d'Intune Management Extension.
Voici les valeurs à ajouter :
- Commande d'installation
%SystemRoot%\sysnative\WindowsPowerShell\v1.0\powershell.exe -WindowStyle hidden -ExecutionPolicy Bypass -Command .\NewTeamsInstall.ps1
- Commande de désinstallation
%SystemRoot%\sysnative\WindowsPowerShell\v1.0\powershell.exe -WindowStyle hidden -ExecutionPolicy Bypass -Command .\NewTeamsUninstall.ps1
Puis, choisissez "Système" pour l'option "Comportement à l'installation" puisque nous voulons installer cette application pour tous les utilisateurs de la machine (ceci implique d'avoir des privilèges élevés).
Poursuivez.
C. Exigences
Pour l'étape "Exigences", sélectionnez Windows 64 bits et le système d'exploitation minimal "Windows 10 1607", puis continuez.
D. Règles de détection
Pour détecter la présence de l'application Microsoft Teams, nous allons utiliser notre script PowerShell "NewTeamsDetection.ps1".
- Format des règles : utiliser un script de détection personnalisé
- Fichier de script : NewTeamsDetection.ps1
Le contenu du script s'affiche dans l'interface d'Intune :
Suite à l'installation de Microsoft Teams, Intune exécutera ce script pour détecter si l'installation est présente ou non.
E. Dépendances
Passez cette étape.
F. Remplacement
Passez cette étape.
G. Affectations
Pour finir, sous "Obligatoire", affectez l'application aux machines de votre choix grâce à la sélection d'un ou plusieurs groupes. Pour ma part, ce sera "Tous les appareils" car il s'agit d'un lab. En production, ciblez un groupe avec des machines de tests dans un premier temps.
Poursuivez jusqu'à la fin de la création de l'application. Il ne reste plus qu'à tester !
IV. Tester sur un appareil
Sur un appareil concerné par la stratégie d'application, vous devriez voir l'application Teams (New) apparaître. Bien entendu, vous pouvez forcer une synchronisation pour ne pas avoir besoin d'attendre...
Puisque nous n'avons pas retiré les notifications, vous devriez voir apparaître ceci lorsque le processus va débuter :
Une fois l'opération terminée, le statut sera visible dans Intune :
Sur le PC, nous pouvons aussi exécuter notre commande de détection manuellement, et nous verrons qu'elle retourne bien un dossier ! Ceci signifie que l'installation s'est déroulée correctement !
Le nouveau client Teams apparait également dans le menu Démarrer :
En cas de problème, analysez le fichier journal d'Intune Management Extension avec CMTrace pour identifier l'origine du problème. D'ailleurs, dans celui-ci, nous pouvons suivre les différentes étapes de l'installation et avoir également le retour de notre script de détection :
V. Conclusion
En suivant ce tutoriel, et en l'adaptant à votre environnement, vous devriez être en mesure de déployer la nouvelle application Microsoft Teams sur vos appareils Windows 10 et Windows 11 inscrits dans Intune !
En complément, dans le Centre d'administration Microsoft Teams, vous pouvez configurer la stratégie de mise à jour de Teams pour basculer sur le mode "Nouvelles équipes par défaut", ce qui correspond au nouveau client Teams (traduction un peu hasardeuse...). Ici, je fais référence à cette option :
La procédure ne fonctionne pas avec des comptes non administrateurs. Avez-vous une idée pour résoudre mon problème ?
Bonjour,
Vous avez bien attribué la stratégie Intune sur des appareils ?