Déployer et configurer Teams par GPO

I. Présentation

Dans ce tutoriel, je vous propose de voir comment déployer Microsoft Teams par GPO et surtout de l'installer à l'échelle d'une machine. Cet outil collaboratif, intégré à la suite Office 365, est de plus en plus utilisé et il est une vraie réussite pour Microsoft, il me semble intéressant de vous parler de son déploiement en entreprise.

Si vous souhaitez déployer Teams pour l'ensemble des utilisateurs d'un poste, je vous recommande de passer par le package MSI puisqu'il va copier des sources d'installation dans "Program Files" et chaque utilisateur qui va se connecter va bénéficier de Teams. En effet, Teams sera alors installé dans le dossier du profil de l'utilisateur : C:\Users\<utilisateur>\AppData\Local\Microsoft\Teams. Ce comportement est différent des autres logiciels, comme la suite Office par exemple, puisque là il y a bien une installation dans chaque profil utilisateur (comme OneDrive).

Note : Le fait de s'appuyer sur le package MSI et donc sur la source locale dans "Program Files" permet d'optimiser aussi l'installation et les flux réseau : le package MSI sera déployé une fois au travers du réseau et ensuite la machine s'appuie sur les données locales.

Si vous souhaitez installer Teams uniquement pour quelques utilisateurs, alors il vaut mieux passer par l'exécutable (via une GPO également) mais pour qu'il s'installe uniquement dans les profils que vous ciblez.

II. Installer Teams avec un package MSI

Pour installer Teams avec un package MSI, récupérez déjà les sources : Teams 32 bits  - Teams 64 bits

Ensuite, vous pouvez faire une GPO de déploiement de logiciel en suivant l'assistant, si vous avez besoin de l'intégrer dans un script de déploiement alors vous pouvez utiliser cette commande :

msiexec /i "\\mon-serveur.it-connect.local\Deploiement\Teams\Teams_windows_x64.msi" OPTIONS="noAutoStart=true"

La directive "noAutoStart" si elle est définie sur "True" permet d'indiquer à Teams qu'il ne doit pas démarrer à la fin de l'installation dans la session utilisateur. Quoi qu'il en soit rien ne se lance à la fin de l'installation du MSI car il déploie seulement des sources sur le poste cible.

Pour votre GPO, créez un script "Install-Teams.ps1" (par exemple) et ajoutez la ligne ci-dessous (à minima). Configurez la GPO afin qu'elle exécute le script au démarrage du PC, voici comment procéder : Configuration ordinateur > Paramètres Windows > Scripts > Démarrage > Onglet "Scripts PowerShell.

Ensuite, appliquez votre GPO sur l'OU qui contient le(s) poste(s) ciblé(s). Lorsqu'ils auront récupérés la GPO et installé le MSI, la liste des programmes contiendra "Teams Machine-Wide Installer" :

Le paramètre "noAutoStart" quant à lui est définit directement dans le fichier "setup.json" où se situe également la source d'installation qui sera déployée sur les comptes utilisateurs. Ce qui donne :

Maintenant que Teams est installé sur votre PC, vos utilisateurs vont pouvoir l'utiliser sans problème !

Quelques infos :

  • Teams va se configurer en démarrage automatique à partir du moment où l’utilisateur va l’ouvrir et se connecter
  • Teams étant amené à évoluer, la version que l’on déploie va vieillir : lorsqu'elle sera obsolète, Teams se mettra à jour automatiquement avant que l’utilisateur puisse se connecter, et tant que la version n’a pas trop de retard, la mise à jour sera automatique mais non bloquante pour l’utilisateur.

Passons maintenant à la phase de configuration.

III. Configurer Teams avec desktop-config.json

A ce jour, Microsoft ne propose pas de fichier ADMX pour configurer Teams directement par GPO : la configuration s'effectue en partie depuis le centre d'administration Office 365 où vous pourrez brider les fonctionnalités de Teams.

Il est possible d'agir malgré tout sur d'autres paramètres : lancement automatique ou non de Teams, l'affichage au premier plan de Teams ou encore le thème. Ces paramètres, propre à chaque utilisateur, sont stockés à l'emplacement suivant : C:\Users\<username>\AppData\Roaming\Microsoft\Teams\desktop-config.json. Si vous utilisez des profils itinérants, ce chemin pourra être différent et pointer sur votre serveur directement.

Le fichier desktop-config.json contient un lot de paramètres, dont :

  • openAtLogin : s'il est définit sur "true" alors Teams se lance directement à l'ouverture de session, sinon ce n'est pas le cas
  • isForeground : s'il est définit sur "true" alors Teams s'affichera au premier plan lors de son démarrage automatique, s'il est définit sur "false" alors Teams va démarrer automatiquement (si openAtLogin = true) mais être réduit directement, il est alors plus discret.
  • theme : indique le nom du thème à utiliser, par exemple "dark" pour le thème sombre

Je vous déconseille de déployer directement un fichier desktop-config.json type car il semble y avoir des identifiants de machine ou des choses comme ça.... Il vaut mieux modifier uniquement les valeurs de façon ciblée. Pour réaliser cette opération, PowerShell sera notre allié.

On va créer un nouveau script de configuration de Teams que l'on va exécuter à l'ouverture de session dans une GPO. Ceci est indispensable, les paramètres étant propre à chaque utilisateur.

Dans un premier temps, nous allons récupérer le chemin vers les "AppData\Roaming" de l'utilisateur. On va s'appuyer sur la variable d'environnement pour être sur de récupérer la bonne valeur :

$TeamsPath = $Env:APPDATA + "\Microsoft\Teams"

Ensuite, on va récupérer le contenu du fichier JSON dans une variable en remplaçant les valeurs des paramètres que l'on veut changer. Puis, on va réinjecter le contenu de notre variable dans le même fichier JSON pour écraser son contenu.

Ce qui donne, par exemple pour agir sur openAtLogin (de true vers false) et isForeground (de true vers false) :

$content = Get-Content "$TeamsPath\desktop-config.json" | foreach { $_ -replace '"isForeground":true','"isForeground":false' -replace '"openAtLogin":true','"openAtLogin":false' }

Enfin, on va réinjecter les nouvelles valeurs dans le fichier JSON (en écrasant tout le fichier) :

Set-Content -Path "$TeamsPath\desktop-config.json" -Value $content

Il ne reste plus qu'à exécuter notre script dans une GPO : Configuration utilisateur > Paramètres Windows > Scripts > Ouverture de session > Onglet "Scripts PowerShell". Cette GPO devra être appliquée sur les utilisateurs pour lesquels vous souhaitez appliquer les paramètres.

Vous êtes maintenant en mesure de déployer et configurer Teams par GPO sur votre parc informatique.

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian BURNEL

Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.

Nombre de posts de cet auteur : 5471.Voir tous les posts

8 thoughts on “Déployer et configurer Teams par GPO

  • Avant de deployer Teams, avez vous mis en place une politique de securité pour éviter la création de trop nombreux groupes ?

    Répondre
  • Bonjour,

    Ma GPO est appliqué cependant le script ne démarre pas au lancement de la session malgré plusieurs redémarrage.
    Auriez-vous une idée ?

    Merci

    Répondre
    • Bonjour,
      L’exécution des scripts est bien autorisée sur le PC ?
      Florian

      Répondre
  • Bonjour.

    Le script fonctionne, le openAtLogin est bien a false mais Teams persiste a l’ouverture de session.

    Répondre
  • Bonjour,

    L’installation via MSI est elle prévu pour une ferme rds ?

    Répondre
  • Bonjour,

    Est-ce qu’il y a moyen de désactiver le lancement de Teams au démarrage du pc via GPO ?

    Répondre
    • pas besoin t peu le faire via le taskmanager

      Répondre
  • Svp faites une vidéo de ce module parce que avec les vidéos c’est plus explicite;
    Là tout de suite suis un peu perdue.
    Merci

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.