<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Teams &#8211; Sigalou Domotique</title>
	<atom:link href="https://www.sigalou-domotique.fr/tag/teams/feed" rel="self" type="application/rss+xml" />
	<link>https://www.sigalou-domotique.fr</link>
	<description>Cybersécurité, Home Assistant, 365...</description>
	<lastBuildDate>Sun, 21 Apr 2024 11:14:56 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>

<image>
	<url>https://www.sigalou-domotique.fr/wp-content/uploads/2026/04/cropped-sigalou-carre-32x32.png</url>
	<title>Teams &#8211; Sigalou Domotique</title>
	<link>https://www.sigalou-domotique.fr</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Créer un canal Teams = Boite mail partagée</title>
		<link>https://www.sigalou-domotique.fr/creer-un-canal-teams-boite-mail-partagee</link>
		
		<dc:creator><![CDATA[Sigalou]]></dc:creator>
		<pubDate>Mon, 26 Dec 2022 14:32:50 +0000</pubDate>
				<category><![CDATA[Domotique]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[Teams]]></category>
		<guid isPermaLink="false">https://www.sigalou-domotique.fr/?p=3429</guid>

					<description><![CDATA[Il est parfois complexe d&#8217;arriver à recevoir dans un canal dédié de Teams un mail venant de l&#8217;extérieur. Par exemple, je voudrais que tous les mails que m&#8217;envoie la Préfecture aillent dans un canal Préfecture qui se trouve dans une équipe Mails de groupe. Evidemment, j&#8217;ai demandé à la Préfecture de toujours utiliser le mail [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"></p>


<p>Il est parfois complexe d&rsquo;arriver à recevoir dans un <strong>canal dédié de Teams un mail venant de l&rsquo;extérieur</strong>.</p>
<p>Par exemple, je voudrais que tous les mails que m&rsquo;envoie la Préfecture aillent dans un canal <strong>Préfecture</strong> qui se trouve dans une équipe <strong>Mails de groupe.</strong></p>
<p><img decoding="async" class="alignnone size-full wp-image-3430" src="https://www.sigalou-domotique.fr/wp-content/uploads/2022/12/pref.png" alt="" width="308" height="136" srcset="https://www.sigalou-domotique.fr/wp-content/uploads/2022/12/pref.png 308w, https://www.sigalou-domotique.fr/wp-content/uploads/2022/12/pref-300x132.png 300w" sizes="(max-width: 308px) 100vw, 308px" /><span id="more-3429"></span></p>
<p>Evidemment, j&rsquo;ai demandé à la Préfecture de toujours utiliser le mail prefecture@mondomaine.fr pour m&rsquo;écrire, c&rsquo;est un mail qui est dédié à cette utilisation.</p>
<p><span style="text-decoration: underline;">Nota</span> : comme on va utiliser les règles Outlook, on pourrait filtrer sur d&rsquo;autres critères, j&rsquo;ai fait le choix de dédier un mail à cette utilisation pour plus de simplicité.</p>
<p>Tous les canaux Teams sont accessibles via un mail du type ecf2ec2e.mondomaine.fr@fr.teams.ms, c&rsquo;est cette utilisation que je voudrais éviter, donner ce mail à un contact peut sembler étrange (mais cela est possible pour une mailing list automatique si c&rsquo;est vous qui vous inscrivez, ce tuto ne vous est donc pas utile).</p>
<h3>Création d&rsquo;une boite partagée Microsoft 365</h3>
<p>On va utiliser une boite partagée M365, pour la créer, on va dans l&rsquo;administration de la plateforme, rubrique <strong>Teams et groupes</strong> puis <strong>Boites aux lettres partagées</strong></p>
<p><img fetchpriority="high" decoding="async" class="alignnone size-full wp-image-3431" src="https://www.sigalou-domotique.fr/wp-content/uploads/2022/12/adminm365.png" alt="" width="275" height="253" /></p>
<p><span style="text-decoration: underline;">Nota</span> : La création d&rsquo;une boite aux lettres partagées ne coûte rien en licence, elles sont gratuites.</p>
<p>Une fois la boîte créée, on pourrait penser utiliser la fonction de transfert de mail vers le mail du canal mais cette fonctionnalité ferait un <strong>transfert</strong> et non une redirection, ce n&rsquo;est pas l&rsquo;objectif recherché.</p>
<p><img decoding="async" class="alignnone size-full wp-image-3432" src="https://www.sigalou-domotique.fr/wp-content/uploads/2022/12/transfert.png" alt="" width="205" height="101" /></p>
<h3>Attribution temporaire d&rsquo;une licence Exchange</h3>
<p>Pour la configuration, il faut aller dans Outlook on line et ajouter une règle.</p>
<p>Je ne suis pas arrivé à trouver comment faire cela sans une licence Exchange, on va donc ajouter une licence, mettre en place la règle et retirer la licence.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3433" src="https://www.sigalou-domotique.fr/wp-content/uploads/2022/12/utilisateur.png" alt="" width="272" height="213" /></p>
<p>Pour cela, toujours dans l&rsquo;interface d&rsquo;administration, on vas dans <strong>Utilisateurs actifs</strong> chercher notre utilisateur (identique à la boite aux lettres partagée créée à l&rsquo;instant). Puis <strong>Gérer les licences de produits</strong> dans les 3 petits points de l&rsquo;utilisateur.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3434" src="https://www.sigalou-domotique.fr/wp-content/uploads/2022/12/licence.png" alt="" width="223" height="470" srcset="https://www.sigalou-domotique.fr/wp-content/uploads/2022/12/licence.png 223w, https://www.sigalou-domotique.fr/wp-content/uploads/2022/12/licence-142x300.png 142w" sizes="auto, (max-width: 223px) 100vw, 223px" /></p>
<p>Lui attribuer une licence Exchange, n&rsquo;importe laquelle.</p>
<h3>Ajouter une règle dans Outlook on Line</h3>
<p>Afin de pouvoir accéder à l&rsquo;utilisateur prefecture@mondomaine.fr, il faut avoir son mot de passe, dans l&rsquo;administration des utilisateurs actifs, réinitialisez le mot de passe puis changez le, le nouveau sera utilisé pour se connecter à Outlook on line.</p>
<ul>
<li>Se rendre dans <a href="https://outlook.office.com/mail/" target="_blank" rel="noopener">https://outlook.office.com/mail/</a></li>
<li>S&rsquo;identifier avec le nouvel utilisateur créé</li>
<li>Se rendre dans paramètres, Courrier, règles</li>
</ul>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3435" src="https://www.sigalou-domotique.fr/wp-content/uploads/2022/12/regles.png" alt="" width="346" height="272" srcset="https://www.sigalou-domotique.fr/wp-content/uploads/2022/12/regles.png 346w, https://www.sigalou-domotique.fr/wp-content/uploads/2022/12/regles-300x236.png 300w" sizes="auto, (max-width: 346px) 100vw, 346px" /></p>
<ul>
<li>Ajouter une règle de redirection, cela donnera :</li>
</ul>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3436" src="https://www.sigalou-domotique.fr/wp-content/uploads/2022/12/regle1.png" alt="" width="512" height="139" srcset="https://www.sigalou-domotique.fr/wp-content/uploads/2022/12/regle1.png 512w, https://www.sigalou-domotique.fr/wp-content/uploads/2022/12/regle1-300x81.png 300w" sizes="auto, (max-width: 512px) 100vw, 512px" /></p>
<h3>Retirer la licence Exchange</h3>
<p>La licence est devenue inutile, elle peut être retirée.</p>
<h3>Test, validation de la méthode</h3>
<p>Il suffit d&rsquo;envoyer un mail à prefecture@mondomaine.fr pour le voir apparaitre (et non transféré) dans le canal Teams. Les pièces jointes sont également jointe, tout fonctionne parfaitement.</p>
<h3>Bonus : Ajouter la boite aux lettres partagées dans Outlook on line de votre compte principal</h3>
<p>Si on souhaite transférer ce mail en question, on peut ajouter la boite aux lettres partagées dans son compte Outlook principal. Pour cela, il faut être membre de la boite partagée. Puis avec un clic droit sur <strong>Dossiers</strong>, utiliser la fonctionnalité <strong>Ajouter un dossier partagé</strong>, y saisir la boite mail partagée.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3437" src="https://www.sigalou-domotique.fr/wp-content/uploads/2022/12/boitepartagee.png" alt="" width="236" height="159" /></p>


<p class="wp-block-paragraph">/</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Calendrier de groupe 365 dans Teams</title>
		<link>https://www.sigalou-domotique.fr/calendrier-de-groupe-365-dans-teams</link>
		
		<dc:creator><![CDATA[Sigalou]]></dc:creator>
		<pubDate>Tue, 06 Sep 2022 02:12:56 +0000</pubDate>
				<category><![CDATA[Domotique]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[Teams]]></category>
		<guid isPermaLink="false">http://jeedom.sigalou-domotique.fr/?p=3325</guid>

					<description><![CDATA[Objectif Les membres d&#8217;une équipe Teams (donc d&#8217;un groupe 365) peuvent obtenir le calendrier d&#8217;équipe dans un canal de leur équipe. Procédure Créer l&#8217;équipe Teams (exemple Equipe Sigalou) Aller autoriser l&#8217;utilisation du client exchange pour ne plus masquer le calendrier  Dans PowerShell : #Install Exchange Online Management ShellInstall-Module -Name ExchangeOnlineManagement#Connect to Exchange OnlineConnect-ExchangeOnline#Run Get-UnifiedGroupGet-UnifiedGroup En cas de [&#8230;]]]></description>
										<content:encoded><![CDATA[<h3>Objectif</h3>
<p>Les membres d&rsquo;une équipe Teams (donc d&rsquo;un groupe 365) peuvent obtenir le calendrier d&rsquo;équipe dans un canal de leur équipe.</p>
<p><img loading="lazy" decoding="async" class="alignnone  wp-image-3347" src="http://jeedom.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe17.png" alt="" width="510" height="469" srcset="https://www.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe17.png 731w, https://www.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe17-600x552.png 600w, https://www.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe17-300x276.png 300w" sizes="auto, (max-width: 510px) 100vw, 510px" /></p>
<h3>Procédure</h3>
<p><span id="more-3325"></span></p>
<ul>
<li><strong>Créer l&rsquo;équipe</strong> Teams (exemple <strong>Equipe Sigalou</strong>)</li>
</ul>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3326" src="http://jeedom.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe1.png" alt="" width="208" height="57" /></p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3327" src="http://jeedom.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe2.png" alt="" width="215" height="70" /></p>
<ul>
<li>Aller <strong>autoriser l&rsquo;utilisation du client exchange</strong> pour ne plus masquer le calendrier</li>
</ul>
<p> Dans PowerShell :</p>
<pre>#Install Exchange Online Management Shell<br /><br />Install-Module -Name ExchangeOnlineManagement<br /><br />#Connect to Exchange Online<br /><br />Connect-ExchangeOnline<br /><br />#Run Get-UnifiedGroup<br /><br />Get-UnifiedGroup</pre>
<p>En cas de pépin (uniquement), repartir du début :</p>
<pre>Install-Module PowershellGet -Force <br />Update-Module PowershellGet <br />Set-ExecutionPolicy RemoteSigned <br />Install-Module -Name ExchangeOnlineManagement</pre>
<p> </p>
<p>Cela affiche la liste des groupes, logiquement le dernier est le notre :</p>
<p> </p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3328" src="http://jeedom.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe3.png" alt="" width="938" height="28" srcset="https://www.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe3.png 938w, https://www.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe3-600x18.png 600w, https://www.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe3-300x9.png 300w, https://www.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe3-768x23.png 768w" sizes="auto, (max-width: 938px) 100vw, 938px" /></p>
<p>Utiliser la commande :</p>
<pre>Set-UnifiedGroup -identity &lt;group name&gt; -HiddenFromExchangeClientsEnabled:$false</pre>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3342" src="http://jeedom.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe12.png" alt="" width="1017" height="34" srcset="https://www.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe12.png 1017w, https://www.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe12-600x20.png 600w, https://www.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe12-300x10.png 300w, https://www.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe12-768x26.png 768w" sizes="auto, (max-width: 1017px) 100vw, 1017px" /></p>
<ul>
<li>Aller dans Canal Général / Fichiers / Ouvrir dans SharePoint</li>
</ul>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3335" src="http://jeedom.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe5.png" alt="" width="200" height="65" /></p>
<ul>
<li>Aller sur Pages / Nouveau / Page de site</li>
</ul>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3336" src="http://jeedom.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe6.png" alt="" width="371" height="345" srcset="https://www.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe6.png 371w, https://www.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe6-300x279.png 300w" sizes="auto, (max-width: 371px) 100vw, 371px" /></p>
<ul>
<li>Changer le titre, supprimer l&rsquo;auteur et décocher les commentaires, éventuellement simplifier la zone de titre</li>
</ul>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3337" src="http://jeedom.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe7.png" alt="" width="492" height="239" srcset="https://www.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe7.png 492w, https://www.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe7-300x146.png 300w" sizes="auto, (max-width: 492px) 100vw, 492px" /></p>
<ul>
<li>Placer la souris sous le cadre de titre et cliquer sur le + pour ajouter un composant WebPart</li>
</ul>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3338" src="http://jeedom.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe8.png" alt="" width="614" height="251" srcset="https://www.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe8.png 614w, https://www.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe8-600x245.png 600w, https://www.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe8-300x123.png 300w" sizes="auto, (max-width: 614px) 100vw, 614px" /></p>
<ul>
<li>Choisir Calendrier de groupe</li>
</ul>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3339" src="http://jeedom.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe9.png" alt="" width="91" height="88" /></p>
<ul>
<li>Publier la page</li>
</ul>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3340" src="http://jeedom.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe10.png" alt="" width="118" height="37" /></p>
<ul>
<li>Cliquer sur Créer une réunion</li>
</ul>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3341" src="http://jeedom.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe11.png" alt="" width="232" height="81" /></p>
<p>Et c&rsquo;est là que la magie opère, quelques secondes après, Outlook on line s&rsquo;ouvre et vous ajoute le calendrier dans la liste des groupes :</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3343" src="http://jeedom.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe13.png" alt="" width="205" height="211" /></p>
<p>On ajoute quelques réunions :</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3344" src="http://jeedom.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe14.png" alt="" width="449" height="305" srcset="https://www.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe14.png 449w, https://www.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe14-300x204.png 300w" sizes="auto, (max-width: 449px) 100vw, 449px" /></p>
<ul>
<li>On peut fermer Outlook Online, SharePoint Online et on retourne dans Teams</li>
<li>Dans le canal général (ou ailleurs), on fait + pour ajouter un onglet et on va chercher sharePoint</li>
</ul>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3345" src="http://jeedom.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe15.png" alt="" width="837" height="318" srcset="https://www.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe15.png 837w, https://www.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe15-600x228.png 600w, https://www.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe15-300x114.png 300w, https://www.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe15-768x292.png 768w" sizes="auto, (max-width: 837px) 100vw, 837px" /></p>
<ul>
<li>On va chercher notre page de Calendrier :</li>
</ul>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3346" src="http://jeedom.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe16.png" alt="" width="409" height="383" srcset="https://www.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe16.png 409w, https://www.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe16-300x281.png 300w" sizes="auto, (max-width: 409px) 100vw, 409px" /></p>
<p>Et voilà, le calendrier est un onglet du canal général de Teams :</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3347" src="http://jeedom.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe17.png" alt="" width="731" height="672" srcset="https://www.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe17.png 731w, https://www.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe17-600x552.png 600w, https://www.sigalou-domotique.fr/wp-content/uploads/2022/09/equipe17-300x276.png 300w" sizes="auto, (max-width: 731px) 100vw, 731px" /></p>
<p> </p>


<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Générer une liste des équipes Teams, leurs canaux, les propriétaires, membres &#8230; avec Power Automate ou PowerShell</title>
		<link>https://www.sigalou-domotique.fr/generer-une-liste-des-equipes-teams-leurs-canaux-les-proprietaires-membres</link>
					<comments>https://www.sigalou-domotique.fr/generer-une-liste-des-equipes-teams-leurs-canaux-les-proprietaires-membres#respond</comments>
		
		<dc:creator><![CDATA[Sigalou]]></dc:creator>
		<pubDate>Sun, 07 Jun 2020 07:00:02 +0000</pubDate>
				<category><![CDATA[Domotique]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[Teams]]></category>
		<guid isPermaLink="false">http://jeedom.sigalou-domotique.fr/generer-une-liste-des-equipes-teams-leurs-canaux-les-proprietaires-membres</guid>

					<description><![CDATA[Objectif : Je souhaitais générer ce type de liste : &#160;Premier essai, avec Power Automate Je me suis lancé dans la mise en oeuvre de la génération d&#8217;un excel avec Power Automate, cela ressemblait à cela : &#160; Pour établir la liste, cela peut suffire mais à l&#8217;heure où j&#8217;écris ce tuto, Power Automate ne [&#8230;]]]></description>
										<content:encoded><![CDATA[<h1>Objectif :</h1>
<p>Je souhaitais générer ce type de liste :</p>
<p><img loading="lazy" decoding="async" class=" size-full wp-image-431" src="http://jeedom.sigalou-domotique.fr/wp-content/uploads/2020/06/excelteams.png" alt="excelteams" width="1396" height="411" srcset="https://www.sigalou-domotique.fr/wp-content/uploads/2020/06/excelteams.png 1396w, https://www.sigalou-domotique.fr/wp-content/uploads/2020/06/excelteams-600x177.png 600w, https://www.sigalou-domotique.fr/wp-content/uploads/2020/06/excelteams-300x88.png 300w, https://www.sigalou-domotique.fr/wp-content/uploads/2020/06/excelteams-1024x301.png 1024w, https://www.sigalou-domotique.fr/wp-content/uploads/2020/06/excelteams-768x226.png 768w, https://www.sigalou-domotique.fr/wp-content/uploads/2020/06/excelteams-1200x353.png 1200w" sizes="auto, (max-width: 1396px) 100vw, 1396px" /></p>
<p><span id="more-434"></span></p>
<h1>&nbsp;Premier essai, avec Power Automate</h1>
<p><img loading="lazy" decoding="async" class=" size-full wp-image-432" src="http://jeedom.sigalou-domotique.fr/wp-content/uploads/2020/06/pa.png" alt="pa" width="295" height="157"></p>
<p>Je me suis lancé dans la mise en oeuvre de la génération d&rsquo;un excel avec Power Automate, cela ressemblait à cela :</p>
<table border="2">
<tbody>
<tr>
<td>&nbsp;<img loading="lazy" decoding="async" class=" size-full wp-image-433" src="http://jeedom.sigalou-domotique.fr/wp-content/uploads/2020/06/pa2.png" alt="pa2" width="668" height="632" srcset="https://www.sigalou-domotique.fr/wp-content/uploads/2020/06/pa2.png 668w, https://www.sigalou-domotique.fr/wp-content/uploads/2020/06/pa2-600x568.png 600w, https://www.sigalou-domotique.fr/wp-content/uploads/2020/06/pa2-300x284.png 300w" sizes="auto, (max-width: 668px) 100vw, 668px" /></td>
</tr>
</tbody>
</table>
<p>Pour établir la liste, cela peut suffire mais à l&rsquo;heure où j&rsquo;écris ce tuto, <strong>Power Automate ne sait pas encore</strong> extraire les membres, les propriétaires ni savoir si le canal ou l&rsquo;équipe sont privés. Cela ne me convient donc pas, j&rsquo;ai cherché une autre solution.</p>
<h1>Second essai, utiliser PowerShell</h1>
<p>Revenir aux outils puissants en ligne de commande est souvent le réflexe des informaticiens, et je n&rsquo;ai pas été déçu avec <strong>le module MicrosoftTeams pour PowerShell</strong>.</p>
<p>Utilisant <a href="http://jeedom.sigalou-domotique.fr/jeedom">Jeedom</a>, j&rsquo;ai cherché à tester PowerShell adapté à Raspbian. Cela pour l&rsquo;installer sur un Raspi3B+ qui héberge déja Jeedom.</p>
<p>J&rsquo;ai deux Jeedoms, un en prod et un en dev, un sous <strong>Stretch</strong> et un sous <strong>Buster</strong>. Dans les<a href="https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-core-on-linux?view=powershell-7#raspbian" target="_blank" rel="noopener noreferrer"> docs de Microsoft</a>, il est spécifié d&rsquo;utiliser Stretch, chez moi, cela fonctionne sur les deux (pour ce que j&rsquo;ai testé).</p>
<h2>Installation de PowerShell Core</h2>
<p>Se demander si on installe une version 32bits ou 64bits est la première étape, pour cela, taper :</p>


<pre class="EnlighterJSRAW" data-enlighter-language="generic">uname -m</pre>



<p>Toute valeur en dessous de ARMv<strong>7</strong> sont en 32 bit.<br>La version 64 bit commence à AMRv<strong>8.</strong></p>
<p>La dernière version de powershell peut être trouvée sur&nbsp;<a href="https://github.com/PowerShell/PowerShell">https://github.com/PowerShell/PowerShell</a> pour Raspbian.Version 7.1.0 au jour de rédaction de ce tuto.</p>
<p>Si une version ancienne ou posant souci est déjà installée, il faut la supprimer par :</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">rm -rf ~/powershell</pre>



<p>Lancer l&rsquo;installation (mettre à jour le N° de version)</p>
<pre class="EnlighterJSRAW" data-enlighter-language="typescript" data-enlighter-theme="classic">sudo su -
apt-get install '^libssl1.0.[0-9]$' libunwind8 -y
wget https://github.com/PowerShell/PowerShell/releases/download/v7.1.0/powershell-7.1.0-linux-arm32.tar.gz
mkdir ~/powershell
tar -xvf ./powershell-7.1.0-linux-arm32.tar.gz -C ~/powershell
sudo ~/powershell/pwsh -c New-Item -ItemType SymbolicLink -Path "/usr/bin/pwsh" -Target "$PSHOME/pwsh" -Force<code class="EnlighterJSRAW" data-enlighter-language="generic"></code></pre>



<div>Pour lancer PowerShell</div>
<div>
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="classic" data-enlighter-linenumbers="false">~/powershell/pwsh</pre>
</div>



<div>
<div>
<div>Pour vérifier la version</div>
<div>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">$psversiontable</pre>
</div>
</div>
</div>



<h2>Dans PowerShell, installer Module MicrosoftTeams</h2>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">Uninstall-Module -Name MicrosoftTeams
Install-Module -Name MicrosoftTeams -AllowPrerelease
Import-Module MicrosoftTeams</pre>
<h2>Faire les premiers essais en ligne de commande</h2>
<p>Pour vérifier la version et la bonne installation de MicrosoftTeams :</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">get-module | ft name, version</pre>
<p>Faire un essai en récupérant la liste des équipes Teams</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">Connect-MicrosoftTeams</pre>
<p><em><span style="text-decoration: underline;">Nota</span> : Depuis peu, une erreur xdg-open bloque l&rsquo;identification, j&rsquo;ai dû m&rsquo;identifier par un script en utilisant Credential</em></p>
<p>Afficher la liste des commandes du Module MiscrosoftTeams</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">get-command -Module MicrosoftTeams</pre>
<p>Suivre les instructions en jaune pour s&rsquo;identifier</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">$AllTeams = Get-Team 
Write-Output $AllTeams</pre>
<p class="EnlighterJSRAW" data-enlighter-language="generic">La liste des équipes doivent s&rsquo;afficher</p>
<h2>Installer PSFTP</h2>
<p>Pour envoyer un fichier généré par Powershell sur un serveur FTP, le plus simple est d&rsquo;installer PSFTP (Dans PowerShell)</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">apt-get install PSFPT</pre>



<h2>Lancer un script en ligne de commande</h2>
<p>Pour lancer le script <a href="http://jeedom.sigalou-domotique.fr/wp-content/uploads/2020/12/teams_sigalou.zip">teams_sigalou</a>.ps1, utiliser cette commande :</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">~/powershell/pwsh -File "teams_sigalou.ps1"</pre>



<p><strong>Générer un CSV avec la liste des équipes Teams</strong></p>
<p>Après de multiples essais, voici le dernier script, n&rsquo;hésitez pas à l&rsquo;adapter.</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic"># Script de génération de la liste des équipes Teams et export dans un fichier CSV puis envoie de ce fichier par FTP pour être exploité par un fichier Excel
# Réalisé par Sigalou 06/12/2020 sigalou@@@sigalou-domotique.fr
# Utilisez GitHub ou le mail pour toutes questions, demandes d'amélioration et n'hésitez pas à proposer des améliorations
# Merci de laisser ces lignes
# Source : http://jeedom.sigalou-domotique.fr/generer-une-liste-des-equipes-teams-leurs-canaux-les-proprietaires-membres
# ou https://github.com/sigalou/MicrosoftTeamstoCSV

# Identification FPT
    param([string]$UserName, [string]$Password, [switch]$MFA,[int]$Action) 
    $passwordFTP = ConvertTo-SecureString -AsPlainText "xxxxx" -Force
    $credentialsFTP = New-Object System.Management.Automation.PSCredential "xxxxx_ftp", $passwordFTP
    Import-Module PSFTP

# Identification M365
    $UserName = "xxxxx@xxxxx.com"
    $Password = "xxxx"

#Connect to Microsoft Teams
    $Module=Get-Module -Name MicrosoftTeams -ListAvailable 
    if($Module.count -eq 0)
    {
     Write-Host MicrosoftTeams module is not available  -ForegroundColor yellow 
     $Confirm= Read-Host Are you sure you want to install module? [Y] Yes [N] No
     if($Confirm -match "[yY]")
     {
      Install-Module MicrosoftTeams
     }
     else
     {
      Write-Host MicrosoftTeams module is required.Please install module using Install-Module MicrosoftTeams cmdlet.
      Exit
     }
    }
    Write-Host `n`n`n`n`n`nLancement ... -ForegroundColor Yellow

    #Autentication using MFA
    if($mfa.IsPresent)
    {
     $Team=Connect-MicrosoftTeams
    }
    #Authentication using non-MFA
    else
    {
     #Storing credential in script for scheduling purpose/ Passing credential as parameter
     if(($UserName -ne "") -and ($Password -ne ""))
     {
      $SecuredPassword = ConvertTo-SecureString -AsPlainText $Password -Force
      $Credential  = New-Object System.Management.Automation.PSCredential $UserName,$SecuredPassword
      $Team=Connect-MicrosoftTeams -Credential $Credential
     }
     else
     {  
      $Team=Connect-MicrosoftTeams
     }
    }

    #Check for Teams connectivity
    If($Team -ne $null)
    {
     Write-host `nConnecté avec succès à Microsoft Teams -ForegroundColor Green
    }
    else
    {
     Write-Host Error occurred while creating Teams session. Please try again -ForegroundColor Red
     exit
    }

    # Mettre $True pour avoir un debug à l'ecran pour suivre la génération
    $modeDEBUG=$False
    $Result=""  
    $Results=@() 
    $Path="./TeamsData.csv"
    If (Test-Path $Path){
    Remove-Item $Path
    }
    Write-Host `nRécupération des données...
    $Count=0
    $Teams=Get-Team -Visibility Private 
    $nbTeamsPrivate=$Teams.Count
    #$Teams=Get-Team -Visibility Public -User xxxxx@xxxxxxxxxxxxxxxx.fr
    $Teams=Get-Team -Visibility Public 
    $nbTeams=$Teams.Count
    $ColA=$nbTeams.ToString()+"-"+$nbTeamsPrivate.ToString()
    $Result=@{'ColA'=$ColA;'ColB'="Actualisation du $((Get-Date -format 'dd-MM-yyyy` HH:mm').ToString())";}
    $Results= New-Object psobject -Property $Result
    $Results | select 'ColA','ColB' | Export-Csv $Path -NoTypeInformation -Append
    Write-Host `nTraitement des données...
    $Teams | Sort-Object DisplayName | foreach {
        $compteurLignes=0
        $TeamName=$_.DisplayName
        $Description=$_.Description
        $GroupId=$_.GroupId
        $TeamUser=Get-TeamUser -GroupId $GroupId
        $TeamMemberCount=$TeamUser.Count
        $TeamPrefix=""
        $mettreVirgule=0
        $NomProprio=""
        $TouslesProprios=$TeamUser| Where-Object { $_.Role -eq 'Owner' }
        $TouslesProprios | foreach {
            if ($mettreVirgule -eq 1) {
                $mettreVirgule=0 
                $NomProprio=$NomProprio+", "
            }
            $NomProprio=$NomProprio+$_.Name
            $mettreVirgule=1
        }
        $NomProprio=$NomProprio+" et "+$TeamMemberCount+" membres"
        if ($TeamMemberCount -gt 80) {
           $NomProprio=""
           $TeamPrefix="<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f310.png" alt="🌐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> "
           } 
        if ($_.Archived -eq "True") {
           $TeamPrefix="<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f5c4.png" alt="🗄" class="wp-smiley" style="height: 1em; max-height: 1em;" /> "
           $NomProprio="[ Archivée ]"
           } 
        If($Description -eq $TeamName) {$Description=""}
        Write-Progress -Activity "   $Count/$nbTeams $TeamName "
        if ($modeDEBUG) { Write-Host `n╔═══════[$TeamName] $Description -ForegroundColor green}
        $Count++
        Get-TeamChannel -MembershipType Standard -GroupId $GroupId | foreach {
            $ChannelName=$_.DisplayName
            If($ChannelName -ne "general") {
                Write-Progress -Activity "   $Count/$nbTeams $TeamName // $ChannelName"
                #$Description=$_.Description
                if ($modeDEBUG) { Write-Host ╠═══&gt; [$ChannelName] $ChannelMemberCount $Description}
                $Result=@{'ColA'="";'ColB'=$ChannelName;}
            } else {
                $Result=@{'ColA'=$TeamPrefix+$TeamName;'ColB'=$NomProprio;}
            }
            $Results= New-Object psobject -Property $Result
            $Results | select 'ColA','ColB' | Export-Csv $Path -NoTypeInformation -Append
            $compteurLignes++
        } 
        $canauxprives=Get-TeamChannel -MembershipType Private -GroupId $GroupId
        $canauxprivescount=$canauxprives.Count
        If($canauxprivescount -eq "1") {
            if ($modeDEBUG) { Write-Host ╠═══&gt; +$canauxprivescount canal privé }
            $Result=@{'ColA'="";'ColB'="+1 canal privé";'ColC'="";'ColD'="";}
            $Results= New-Object psobject -Property $Result
            $Results | select 'ColA','ColB' | Export-Csv $Path -NoTypeInformation -Append
            $compteurLignes++
        }
        elseIf($canauxprivescount -gt 1) {
            if ($modeDEBUG) { Write-Host ╠═══&gt; +$canauxprivescount canaux privés }
            $Result=@{'ColA'="";'ColB'="+$canauxprivescount canaux privés";}
            $Results= New-Object psobject -Property $Result
            $Results | select 'ColA','ColB' | Export-Csv $Path -NoTypeInformation -Append
            $compteurLignes++
        }
        if ($compteurLignes -eq '1') {
            if ($modeDEBUG) { Write-Host ╠═══&gt; On ajoute une ligne vide }
            $Result=@{'ColA'="";'ColB'=" ";}
            $Results= New-Object psobject -Property $Result
            $Results | select 'ColA','ColB' | Export-Csv $Path -NoTypeInformation -Append
            }
        if ($modeDEBUG) { Write-Host ╚══════════════════════════════════════════════════════ -ForegroundColor green }
    }
    Write-Progress -Activity "`n     Processed Teams count: $Count "`n"  Currently Processing: $TeamName  `n Currently Processing Channel: $ChannelName"  -Completed
    if((Test-Path -Path $Path) -eq "True") 
    {
    Write-Host `nReport available in $Path -ForegroundColor Green
    }
      
    Disconnect-MicrosoftTeams
    
# Envoyer le fichier TeamsData.csv dans ftp 
    Set-FTPConnection -Credentials $credentialsFTP -Server ftp.xxxx.org -Session FloFTP -ignoreCert -UseBinary -KeepAlive
    $Session = Get-FTPConnection -Session FloFTP
    Get-ChildItem ".\TeamsData.csv" | Add-FTPItem -Session $Session -Path /Teams/ -Overwrite      </pre>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.sigalou-domotique.fr/generer-une-liste-des-equipes-teams-leurs-canaux-les-proprietaires-membres/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
