<?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>powershell Archives - Mon linux</title>
	<atom:link href="https://www.monlinux.net/tag/powershell/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.monlinux.net/tag/powershell/</link>
	<description>by Belgotux</description>
	<lastBuildDate>Fri, 31 Mar 2023 09:05:38 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>

<image>
	<url>https://www.monlinux.net/wp-content/uploads/cropped-mon-linux-logo-grey-512-32x32.png</url>
	<title>powershell Archives - Mon linux</title>
	<link>https://www.monlinux.net/tag/powershell/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Lancement de tâches à un changement de connexion réseau</title>
		<link>https://www.monlinux.net/2023/04/lancement-de-taches-a-un-changement-de-connexion-reseau/</link>
					<comments>https://www.monlinux.net/2023/04/lancement-de-taches-a-un-changement-de-connexion-reseau/#respond</comments>
		
		<dc:creator><![CDATA[belgotux]]></dc:creator>
		<pubDate>Sat, 22 Apr 2023 09:41:39 +0000</pubDate>
				<category><![CDATA[windows]]></category>
		<category><![CDATA[powershell]]></category>
		<guid isPermaLink="false">https://www.monlinux.net/?p=1724</guid>

					<description><![CDATA[<p>Ce script powershell permet de lancer des actions lors d&#8217;un changement de connexion r&#233;seau. Il est fait pour garder les pid des processus lanc&#233;s et s&#8217;assure de les tuer une fois qu&#8217;on est plus sur le r&#233;seau en question. Je... <a class="more-link" href="https://www.monlinux.net/2023/04/lancement-de-taches-a-un-changement-de-connexion-reseau/">Continue Reading &#8594;</a></p>
<p>L’article <a href="https://www.monlinux.net/2023/04/lancement-de-taches-a-un-changement-de-connexion-reseau/">Lancement de tâches à un changement de connexion réseau</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Ce script powershell permet de lancer des actions lors d&rsquo;un changement de connexion réseau. Il est fait pour garder les pid des processus lancés et s&rsquo;assure de les tuer une fois qu&rsquo;on est plus sur le réseau en question. Je vous livre ici la version qui se déclenche avec un event réseau via une tâche planifiée, mais un script en format boucle est aussi disponible dans <a href="https://gist.github.com/belgotux/1dd9619c444b13f8b68806592ae4182b#file-actions_connection_loop-ps1" target="_blank" rel="noreferrer noopener">un gist github action_connection_loop.ps1</a>.</p>



<p>Ce script permet de lancer un tunnel SSH vers un serveur et ensuite de lancer Proxifier afin de faire passer mon trafic ce manière sécurisé car mes deux types de VPN ne passaient pas sur ce réseau. Pourquoi faire cela ? Car sur ce réseau, de l&rsquo;analyse des paquet https est faite via le firewall qui chiffre à la volée avec un certificat interne sur la machine du parc. Les mots de passe sont redevenus en claire pour le firewall&#8230;.</p>



<h2 class="wp-block-heading">Le script actions_connection_event.ps1</h2>



<p>Ce script actions_connection_event.ps1 est à mettre dans un répertoire <code>C:\Scripts</code> :</p>



<pre class="wp-block-code"><code lang="powershell" class="language-powershell">[void][Windows.Networking.Connectivity.NetworkInformation, Windows, ContentType = WindowsRuntime]


$rootedConnexion="WIfiX","WifiY"

# can be a path
# or an array of 3 string : path / -argumentList / -WindowStyle
$exeToStart= @(
  @("ssh","home-socks -p 2222","hidden"),
 "C:\Program Files (x86)\Proxifier\Proxifier.exe"
)


$pidFile=$env:TEMP+'\tunnelSocksProcess.pid'

$connProfil = [Windows.Networking.Connectivity.NetworkInformation]::GetInternetConnectionProfile()
$actuelNetworkNames=$connProfil.GetNetworkNames()

# check if pid not already running
if (-not(Test-path $pidFile -PathType Leaf)) {
  if ($actuelNetworkNames -in $rootedConnexion) {
    foreach ($exe in $exeToStart) {
      if ($exe -is [array]) {
        Start-Process -FilePath $exe[0] -argumentList $exe[1] -WindowStyle $exe[2] -PassThru | select-object -ExpandProperty id | Out-File -Append -FilePath $pidFile
        # -PassThru return a process object # -ExpandProperty get only the value (no header)
      }
      else {
        Start-Process -FilePath $exe -PassThru | select-object -ExpandProperty id | Out-File -Append -FilePath $pidFile
      }
    }
  }
}
# if pid exist, check if network change
else {
  if (-not($actuelNetworkNames -in $rootedConnexion)) {
    #write-host "Network change"
    $currentPid=get-content -Path $pidFile
    stop-process -id $currentPid
    remove-item $pidFile
  }
}

#write-host "Actual network : $actuelNetworkNames"</code></pre>



<h2 class="wp-block-heading">Tâche planifiée</h2>



<p>Pour tester la tâche planifiée, l&rsquo;event choisi doit être : </p>



<ul class="wp-block-list">
<li>Log : Microsoft-Windows-NetworkProfile/Operationel</li>



<li>Source : NetworkProfile</li>



<li>Event ID : 10000</li>
</ul>



<p>Dans les actions, pour tester, faite avec une simple commande :</p>



<pre class="wp-block-code"><code class="">cmd.exe /c "echo network change &amp;&amp; pause"</code></pre>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="591" height="516" data-id="1725" src="https://www.monlinux.net/wp-content/uploads/image-27.png" alt="" class="wp-image-1725" srcset="https://www.monlinux.net/wp-content/uploads/image-27.png 591w, https://www.monlinux.net/wp-content/uploads/image-27-300x262.png 300w" sizes="(max-width: 591px) 100vw, 591px" /><figcaption class="wp-element-caption">event trigger</figcaption></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="632" height="480" data-id="1726" src="https://www.monlinux.net/wp-content/uploads/image-28.png" alt="" class="wp-image-1726" srcset="https://www.monlinux.net/wp-content/uploads/image-28.png 632w, https://www.monlinux.net/wp-content/uploads/image-28-300x228.png 300w, https://www.monlinux.net/wp-content/uploads/image-28-600x456.png 600w" sizes="(max-width: 632px) 100vw, 632px" /><figcaption class="wp-element-caption">event action de test</figcaption></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="632" height="480" data-id="1727" src="https://www.monlinux.net/wp-content/uploads/disable-conditions.png" alt="" class="wp-image-1727" srcset="https://www.monlinux.net/wp-content/uploads/disable-conditions.png 632w, https://www.monlinux.net/wp-content/uploads/disable-conditions-300x228.png 300w, https://www.monlinux.net/wp-content/uploads/disable-conditions-600x456.png 600w" sizes="(max-width: 632px) 100vw, 632px" /><figcaption class="wp-element-caption">event power condition</figcaption></figure>
</figure>



<p>On n&rsquo;oublie pas de désélectionner le fait de démarrer uniquement lorsque l&rsquo;on est sur secteur.</p>



<p>On change de connexion pour le teste et une fois validé on va mettre la bonne action : </p>



<pre class="wp-block-code"><code class="">powershell.exe C:\Scripts\actions_connection_event.ps1</code></pre>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="632" height="480" src="https://www.monlinux.net/wp-content/uploads/actions-2.png" alt="" class="wp-image-1728" srcset="https://www.monlinux.net/wp-content/uploads/actions-2.png 632w, https://www.monlinux.net/wp-content/uploads/actions-2-300x228.png 300w, https://www.monlinux.net/wp-content/uploads/actions-2-600x456.png 600w" sizes="auto, (max-width: 632px) 100vw, 632px" /></figure>
<p>L’article <a href="https://www.monlinux.net/2023/04/lancement-de-taches-a-un-changement-de-connexion-reseau/">Lancement de tâches à un changement de connexion réseau</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.monlinux.net/2023/04/lancement-de-taches-a-un-changement-de-connexion-reseau/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Obtenir son statut Teams dans sa domotique Jeedom</title>
		<link>https://www.monlinux.net/2023/01/obtenir-son-statut-teams-dans-sa-domotique-jeedom/</link>
					<comments>https://www.monlinux.net/2023/01/obtenir-son-statut-teams-dans-sa-domotique-jeedom/#respond</comments>
		
		<dc:creator><![CDATA[belgotux]]></dc:creator>
		<pubDate>Sun, 15 Jan 2023 22:12:00 +0000</pubDate>
				<category><![CDATA[Domotique]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[domotique]]></category>
		<category><![CDATA[jeedom]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[teams]]></category>
		<guid isPermaLink="false">https://www.monlinux.net/?p=1675</guid>

					<description><![CDATA[<p>Avec le t&#233;l&#233;travail s&#8217;inscrivant dans les moeurs durablement, on se retrouve de plus en plus &#224; la maison. Cela cr&#233;e de nouvelles habitudes et donc de nouveau besoin d&#8217;automatisation! Le but est de r&#233;cup&#233;rer le statut Teams via sa machine... <a class="more-link" href="https://www.monlinux.net/2023/01/obtenir-son-statut-teams-dans-sa-domotique-jeedom/">Continue Reading &#8594;</a></p>
<p>L’article <a href="https://www.monlinux.net/2023/01/obtenir-son-statut-teams-dans-sa-domotique-jeedom/">Obtenir son statut Teams dans sa domotique Jeedom</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Avec le télétravail s&rsquo;inscrivant dans les moeurs durablement, on se retrouve de plus en plus à la maison. Cela crée de nouvelles habitudes et donc de nouveau besoin d&rsquo;automatisation!</p>



<p>Le but est de récupérer le statut Teams via sa machine windows afin de le mettre à jour sur sa domotique Jeedom. Cela permet de faire des scénarios pour les lumières, le chauffage, etc.</p>



<p>Le script d&rsquo;origine est fait pour homeAssitant par <a href="https://github.com/EBOOZ" target="_blank" rel="noreferrer noopener nofollow">EBOOZ</a>. Je l&rsquo;ai <a href="https://github.com/belgotux/TeamsStatus" target="_blank" rel="noreferrer noopener">modifié afin de le rendre compatible avec Jeedom</a>, gérer les caractères « spéciaux » en UTF8 sous powershell, par spéciaux on entend simplement les caractères accentués de la langue française&#8230; Pas mal de modifications de variables pour rendre ce script multilingue également. J&rsquo;ai revu la partie installation pour la rendre plus générique, celle d&rsquo;origine étant plus hasardeuse en fonction du répertoire courant.</p>



<h2 class="wp-block-heading">La configuration du virtuel</h2>



<p>Création d&rsquo;un virtuel pour gérer l&rsquo;état du statut et de l&rsquo;activité : </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="141" src="https://www.monlinux.net/wp-content/uploads/image-14-1024x141.png" alt="" class="wp-image-1677" srcset="https://www.monlinux.net/wp-content/uploads/image-14-1024x141.png 1024w, https://www.monlinux.net/wp-content/uploads/image-14-300x41.png 300w, https://www.monlinux.net/wp-content/uploads/image-14-768x106.png 768w, https://www.monlinux.net/wp-content/uploads/image-14-600x83.png 600w, https://www.monlinux.net/wp-content/uploads/image-14-945x130.png 945w, https://www.monlinux.net/wp-content/uploads/image-14.png 1460w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">création du virtuel</figcaption></figure>



<p>Une fois créé, enregistrez pour obtenir les 2 ID utilisés par le script.</p>



<p>Récupération de l&rsquo;url API via l&rsquo;onglet équipement : </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="203" src="https://www.monlinux.net/wp-content/uploads/image-16-1024x203.png" alt="" class="wp-image-1679" srcset="https://www.monlinux.net/wp-content/uploads/image-16-1024x203.png 1024w, https://www.monlinux.net/wp-content/uploads/image-16-300x59.png 300w, https://www.monlinux.net/wp-content/uploads/image-16-768x152.png 768w, https://www.monlinux.net/wp-content/uploads/image-16-1536x304.png 1536w, https://www.monlinux.net/wp-content/uploads/image-16-600x119.png 600w, https://www.monlinux.net/wp-content/uploads/image-16-945x187.png 945w, https://www.monlinux.net/wp-content/uploads/image-16.png 1675w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">récupération url API</figcaption></figure>



<p>Vous avez récupéré l&rsquo;url ainsi que l&rsquo;apikey (grisé sur l&rsquo;image).<br></p>



<h2 class="wp-block-heading">Le script TeamsStatus</h2>



<p>Le <a href="https://github.com/belgotux/TeamsStatus" target="_blank" rel="noreferrer noopener">TeamsStatus </a>est composé d&rsquo;un script powershell, d&rsquo;un fichier de configuration et du binaire nssm.exe qui permet de créer facilement un service sous Windows pour un script.</p>



<p>Il peut également service à faire un update manuel, utilise en cas de test : </p>



<pre class="wp-block-code"><code lang="powershell" class="language-powershell">C:\Scripts\Get-TeamsStatus.ps1 Occupé</code></pre>



<h3 class="wp-block-heading">Installation du script</h3>



<p>Récupérez le projet git <a href="https://github.com/belgotux/TeamsStatus/archive/refs/heads/main.zip">via un fichier zip</a> ou un git clone : </p>



<pre class="wp-block-code"><code lang="powershell" class="language-powershell">git clone https://github.com/belgotux/TeamsStatus.git</code></pre>



<p>Copiez le fichier Settings de votre langue :</p>



<pre class="wp-block-code"><code lang="powershell" class="language-powershell">cp Settings-fr.ps1 Settings.local.ps1</code></pre>



<ul class="wp-block-list">
<li>Remplacez <code>&lt;Insert token&gt;</code> avec le token Jeedom que vous avez généré</li>



<li>Remplacez <code>&lt;UserName&gt;</code> avec le nom d&rsquo;utilisateur local de la machine qui est logué dans Teams et que vous voulez monitorer</li>



<li>Remplacez <code>&lt;Jeedom URL&gt;</code> avec l&rsquo;URL de votre serveur Jeedom</li>



<li>Remplacez <code>&lt;ID&gt;</code> de statut par l&rsquo;ID du virtuel que vous avez créé</li>



<li>Remplacez <code>&lt;ID&gt;</code> d&rsquo;activité par l&rsquo;ID du virtuel que vous avez créé</li>
</ul>



<p>Installez le script avec l&rsquo;invite de commande admin PowerShell :</p>



<pre class="wp-block-code"><code lang="powershell" class="language-powershell">New-Item -Path "c:\Scripts\" -ItemType Directory
Copy-Item -Path .\nssm.exe -Destination "c:\Scripts\"
Copy-Item -Path .\Settings.local.ps1 -Destination "c:\Scripts\"
Copy-Item -Path .\Get-TeamsStatus.ps1 -Destination "c:\Scripts\"
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Unblock-File c:\Scripts\Settings.local.ps1
Unblock-File c:\Scripts\Get-TeamsStatus.ps1
Start-Process -FilePath "c:\Scripts\nssm.exe" -ArgumentList 'install "Microsoft Teams Status Monitor" "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" "-command "&amp; { . C:\Scripts\Get-TeamsStatus.ps1 }"" ' -NoNewWindow -Wait
Start-Service -Name "Microsoft Teams Status Monitor"</code></pre>



<p>Après avoir exécuter ces commandes, démarrez l&rsquo;application teams pour voir si le statut remonte bien dans votre domotique Jeedom.</p>



<h3 class="wp-block-heading">Widget Jeedom</h3>



<p>Vous devriez obtenir ce widget dans votre Domotique Jeedom, avec votre status selon votre état, en ligne, occupé, hors connexion :</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:100%">
<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="164" height="163" data-id="1682" src="https://www.monlinux.net/wp-content/uploads/2022-12-19_18h22_50.png" alt="" class="wp-image-1682" srcset="https://www.monlinux.net/wp-content/uploads/2022-12-19_18h22_50.png 164w, https://www.monlinux.net/wp-content/uploads/2022-12-19_18h22_50-150x150.png 150w" sizes="auto, (max-width: 164px) 100vw, 164px" /><figcaption class="wp-element-caption">Teams Jeedom hors connexion</figcaption></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="162" height="165" data-id="1683" src="https://www.monlinux.net/wp-content/uploads/2022-12-19_18h25_03.png" alt="" class="wp-image-1683"/><figcaption class="wp-element-caption">Teams Jeedom Absent</figcaption></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="163" height="173" data-id="1684" src="https://www.monlinux.net/wp-content/uploads/2022-12-19_18h25_10.png" alt="" class="wp-image-1684"/><figcaption class="wp-element-caption">Teams Jeedom Disponible</figcaption></figure>
</figure>
</div></div>
</div>
</div>



<p>Maintenant à vous de voir ce que vous voulez en faire dans vos scénarios! Piloter un éclairage, le chauffage, un bandeau led, etc!</p>



<p><strong>Attention que ce statut est remonter dans Jeedom où que vous soyez</strong>! Pensez à l&rsquo;associer dans vos scénarios avec un statut de présence à la maison. Pour éviter d&rsquo;allumer votre chauffage quand vous êtes en présentiel au bureau <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>L’article <a href="https://www.monlinux.net/2023/01/obtenir-son-statut-teams-dans-sa-domotique-jeedom/">Obtenir son statut Teams dans sa domotique Jeedom</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.monlinux.net/2023/01/obtenir-son-statut-teams-dans-sa-domotique-jeedom/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/

Mise en cache de page à l’aide de Disk: Enhanced 
Mise en cache de la base de données de 29/48 requêtes en 0.075 secondes utilisant Disk

Served from: www.monlinux.net @ 2026-07-17 21:38:16 by W3 Total Cache
-->