Articles

Affichage des articles associés au libellé PowerShell

PowerShell - Microsoft Edge - Ouvrir et afficher une page web en plein écran

Image
📌 Introduction Bonjour Ă  tous ! Voici un petit article pour partager un script PowerShell qui permet de lancer une page web dans Microsoft Edge et de l'afficher automatiquement en plein Ă©cran (mode kiosque), sans interaction utilisateur. Ce type de script est particulièrement utile dans les contextes suivants : Affichage d'un dashboard sur un Ă©cran de supervision Borne d'information ou Ă©cran kiosque en entreprise Affichage automatique d'une page de statut au dĂ©marrage d'un poste PrĂ©sentation en salle de rĂ©union sans manipulation manuelle đź“„ Le script Le principe est simple : on lance Edge sur l'URL cible, on attend qu'il soit chargĂ©, on l'active en premier plan, puis on envoie la touche F11 pour passer en plein Ă©cran. # ── Ouvrir Microsoft Edge sur l'URL cible ──────────────────────────────────── Start-Process microsoft-edge:https:/...

MJML - la bibliothèque open source pour créer facilement des emails responsives

Image
📌 Introduction Lorsqu'il s'agit de créer des emails, la compatibilité multiplateforme est souvent un véritable casse-tête. En effet, il est difficile de garantir que les emails s'afficheront correctement sur tous les clients de messagerie et sur tous les appareils. C'est là que MJML intervient. MJML est une bibliothèque open source pour répondre aux personnes qui cherchent à créer des emails efficaces tout en réduisant le temps de développement. La bibliothèque est équipée de nombreuses fonctionnalités utiles, telles que des composants préconstruits pour les boutons, les tableaux, les listes, etc. MJML propose également une mise en page flexible et facilement personnalisable pour répondre aux besoins spécifiques de chaque projet. 💡 Pour l'hébergement des photos de vos mails, je vous conseille ImgBB . Il s'agit d'une plateforme en ligne gratuite qui permet d'héberger et de p...

Powershell - Afficher un navigateur de fichier dans votre script powershell

Image
📌 Introduction Lorsqu'on dĂ©veloppe des scripts PowerShell destinĂ©s Ă  des utilisateurs non-techniques, il est souvent prĂ©fĂ©rable de leur proposer une boĂ®te de dialogue graphique pour sĂ©lectionner un fichier ou un dossier, plutĂ´t que de leur demander de saisir manuellement un chemin d'accès. C'est exactement ce que permettent les fonctions Show-FileBrowser et Show-FolderBrowser , basĂ©es sur la bibliothèque System.Windows.Forms de .NET. Ces fonctions sont simples, lĂ©gères, et ne nĂ©cessitent aucune dĂ©pendance externe. Elles fonctionnent sur Windows PowerShell 5.1 ainsi que sur PowerShell 7+ sous Windows. ⚠️ Note 2026 : L'Ă©diteur PowerShell ISE est dĂ©sormais dĂ©prĂ©ciĂ© par Microsoft. Il est recommandĂ© d'utiliser Visual Studio Code avec l'extension PowerShell pour dĂ©velopper et tester vos scripts. đź“‚ Partie 1 — SĂ©lectionner un fichier : Show-FileBrowser ...

Windows LAPS – Forcer le traitement de la politique et analyser les Ă©vĂ©nements avec PowerShell

Image
Windows LAPS ( Local Administrator Password Solution ) est devenu un composant natif de Windows depuis la mise Ă  jour d'avril 2023. Il remplace avantageusement l'ancienne solution LAPS en intĂ©grant nativement la rotation des mots de passe des comptes administrateurs locaux — que ce soit via Active Directory , Azure AD / Entra ID ou en mode Workgroup . Dans un contexte de gestion Ă  distance via Azure Run Command , j'ai eu besoin de forcer manuellement le traitement de la politique LAPS et d'en analyser le rĂ©sultat de manière fiable, sans aucune interaction utilisateur. Voici le script que j'ai mis en place. 🔍 Contexte et problĂ©matique Le cmdlet Invoke-LapsPolicyProcessing ne retourne aucune sortie structurĂ©e . La seule source d'information fiable reste le journal d'Ă©vĂ©nements Windows LAPS : Applications and Services Logs → Microsoft → Windows → LAPS → Operational ...

PowerShell - Génération de GUID

Image
Introduction Dans le domaine du développement logiciel, la génération d'identifiants uniques est une tâche courante. Les GUID (Globally Unique Identifier) sont des identifiants aléatoires largement utilisés pour garantir l'unicité des données. Dans cet article, nous allons explorer une méthode simple mais puissante pour générer des GUID en utilisant un script PowerShell. Qu'est-ce qu'un GUID ? Un GUID est un identifiant unique de 128 bits, représenté sous la forme d'une chaîne de caractères. Ces identifiants sont générés de manière aléatoire et ont une très faible probabilité de duplication. Les GUID sont utilisés dans de nombreux contextes, tels que les bases de données, les applications distribuées et les systèmes de fichiers. Voici comment cela fonctionne : Ouvrez PowerShell, l'invite de commande de Windows dédiée aux scripts. Tapez [GUID]::NewGuid().ToString() et appuyez sur Entrée. Le script générera immédiatement un nouvel identifiant GUID unique et l...

PowerShell - Active Directory - Désactiver automatiquement les comptes expirés

Active Directory dispose de la capacité de définir une date d'expiration sur les comptes de sorte que le compte devienne inactif et ne puisse plus être accédé/connecté une fois que cette date est passée. Le problème avec ce fonctionnement est qu'en théorie, le compte est toujours "activé" - car il n'est pas réellement "désactivé" - il est simplement expiré. Les comptes désactivés peuvent facilement être identifiés dans Active Directory Users & Computers par une icône légèrement différente à côté du nom du compte. Cependant, les comptes expirés n'ont aucune indication visuelle qu'ils sont expirés, ce qui les rend plus difficiles à identifier. Voici un script rapide PowerShell que l'on peut lancer quotidiennement pour désactiver tous les comptes Active Directory qui ont expiré. # Saisir l'unité organisationnelle (OU) $Target = "OU=Disabled,OU=Accounts,DC=Labo,DC=local" # Obtenir la liste des utilisateurs dont le compte es...

PowerShell - Comment utiliser la prise en charge de TLS 1.2

Pourquoi il est impĂ©ratif d'implĂ©menter le nouveau TLS dans son script? Malheureusement, si vous souhaitez interagir avec eux en Powershell (dans une version infĂ©rieure Ă  la 6.0) avec des commandes comme Invoke-RestMethod ou Invoke-WebRequest, vous risquez de vous retrouver avec l’erreur Could not create SSL/TLS secure channel. Microsoft comme beaucoup d'autres sites sont en train de supprimer la prise en charge de TLS 1.0 et 1.1 sur l'ensemble de leur site pour imposer l'utilisation de TLS 1.2. Donc pour que l'on s'Ă©vite l'erreur "Could not create SSL/TLS secure channel", il faudra forcer le TLS 1.2. Forcer PowerShell Ă  utiliser TLS 1.2 La solution consiste Ă  forcer PowerShell Ă  utiliser TLS 1.2 lorsqu'il nĂ©gocie une connexion SMTP AUTH avec Exchange Online. Pour ce faire, il faut exĂ©cuter une commande permettant de sĂ©lectionner TLS 1.2 Ă  l'aide de la classe ServicePointManager de DotNET. Donc il suffira donc de rajouter cette ligne da...

PowerShell : Foreach-Object avec l'alphabet

Image
Il n'est pas rare que nous utilisions la fonction foreach-object pour afficher des nombres sĂ©quentiellements sur PowerShell en exĂ©cutant " 1..10 | foreach-object{$_} ". Donc si on veut faire la mĂŞme chose avec les lettres, on devrait faire ceci : " a..z | foreach-object{$_} " Comme on peut le voir, on n'obtient pas ce que l'on veut. L'alternative est donc d'utiliser la table ASCII puis la reconvertir avec la balise [char] convertir le nombre en alphabet. " 65..90 | foreach-object{[char]$_} " Pour gĂ©nĂ©rer la liste de  A Ă  Z en majuscule. " 97..122 | foreach-object{[char]$_} "Pour gĂ©nĂ©rer la liste de  A Ă  Z en minuscule. Maintenant dans la pratique si l'on veut crĂ©er 26 sous-dossiers qui correspondra Ă  une lettre peut utiliser cette commande: 97 .. 122 | ForEach-Object { new-item -type directory -path $( [char] $_ ) } Ici, avec la mĂŞme mĂ©thode, on peut rechercher puis dĂ©placer copier les fichiers dans chacun des dos...

Powershell - Supprimer Teams sur l'ensemble des profils utilisateurs

MĂŞme si Microsoft Teams propose une version MSI de son programme, il ne sert que de source local d'installation, et l'installation se retrouve sur chaque profile. Donc voici un petit script que je vous partage pour retirer sur un poste teams sur l'ensemble du poste. function unInstallTeams ( $path ) { $clientInstaller = " $( $path ) \Update.exe " try { $process = Start-Process -FilePath " $clientInstaller " -ArgumentList " --uninstall /s " -PassThru -Wait -ErrorAction STOP if ( $process . ExitCode -ne 0 ) { Write-Error " UnInstallation failed with exit code $( $process . ExitCode ) . " } } catch { Write-Error $_ . Exception . Message } } # Remove Teams Machine-Wide Installer Write-Host " Removing Teams Machine-wide Installer " -ForegroundColor Yellow $MachineWide = Get-WmiObject -Class Win32_Product | Where-Object {...

Powershell - Ne plus utiliser le navigateur Internet Explorer avec la command Invoke-Webrequest

Image
RĂ©cupĂ©rer des informations sur une page internet avec PowerShell Je pense qu'il vous est dĂ©jĂ  arrivĂ© de vouloir rĂ©cupĂ©rer des informations avec PowerShell sur des pages internet, cependant, comme on peut le voir souvent, la première fois on a le droit Ă  un message pour vous informer que l'on doit d'abord initialiser le moteur Internet Explorer. Il faut comprendre par lĂ , l'avoir lancer et valider les diffĂ©rentes options. Le message en question en Anglais : Invoke-WebRequest : The response content cannot be parsed because the Internet Explorer engine is not available , or Internet Explorer’s first-launch configuration is not complete. Specify the UseBasicParsing parameter and try again. Si l'on voulait le contourner, il suffisait de faire la manipulation ou rajouter une clef de registre pour corriger cela. Comme ce que vous pouvez le voir ici. $keyPath = ' Registry::HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Internet Explor...