Modules PowerShell qui ont transformé mon flux de travail

Modules PowerShell qui ont transformé mon flux de travail

Si vous utilisez encore des scripts PowerShell personnalisés pour de simples transferts de fichiers ou la génération de rapports Excel, il est temps de rationaliser votre flux de travail. Les modules PowerShell pré-intégrés peuvent gérer la plupart des tâches courantes bien plus efficacement que tout script manuel.

Pour commencer à utiliser ces modules, assurez-vous d’utiliser au moins PowerShell 5.1. Si de nombreux modules sont compatibles avec PowerShell 7 sur différentes plateformes, certains peuvent être limités à Windows. Il est également essentiel d’activer l’exécution des scripts en ajustant votre politique d’exécution comme suit :

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned -Force

Lors de l’installation de modules, utilisez systématiquement le paramètre -Scope CurrentUser pour éliminer le besoin d’autorisations administratives.

6 PSReadLine

Inclus par défaut avec PowerShell, PSReadLine est souvent sous-utilisé, même par les utilisateurs expérimentés. Ce module améliore votre expérience en ligne de commande grâce à des fonctionnalités telles que la coloration syntaxique, l’édition multiligne et les fonctionnalités prédictives IntelliSense.

Terminal PowerShell avec le module PSReadLine installé
Crédit photo : auto-capture (Tashreef Shareef) – Aucune attribution requise

Pour obtenir la dernière version de PSReadLine, utilisez la commande suivante :

Install-Module -Name PSReadLine -Scope CurrentUser -Force

L’activation d’IntelliSense enrichira votre historique de commandes en vous proposant des suggestions à mesure que vous saisissez du texte. Activez-le avec :

Set-PSReadLineOption -PredictionSource HistorySet-PSReadLineOption -PredictionViewStyle ListView

Après avoir exécuté quelques commandes, comme ipconfig ou Get-Service, IntelliSense vous proposera des options issues de votre historique dès que vous commencerez à saisir. Vous pouvez parcourir ces suggestions à l’aide des flèches haut et bas, et confirmer votre sélection avec la touche Entrée.

5 ImportExcel

Avec plus de 14 millions de téléchargements, ImportExcel est un choix populaire pour les utilisateurs souhaitant créer des feuilles de calcul Excel sans avoir besoin d’Excel lui-même, idéal pour les environnements de serveur ou les scripts d’automatisation.

Importer un module Excel sur un terminal PowerShell
Crédit photo : auto-capture (Tashreef Shareef) – Aucune attribution requise

Pour installer ImportExcel, entrez la commande suivante :

Install-Module -Name ImportExcel -Scope CurrentUser

Ce module permet d’effectuer des tâches allant des exportations de base aux fonctions plus complexes telles que les tableaux croisés dynamiques et la mise en forme conditionnelle. Par exemple, pour exporter des informations sur les processus en cours vers une feuille de calcul formatée, utilisez :

Get-Service | Where-Object {$_.Status -eq "Running"} |Export-Excel -Path "ServiceReport.xlsx" -AutoSize -TableStyle Medium9 -FreezeTopRow

Cette commande rassemble tous les services actifs et les exporte vers un fichier Excel, en formatant les colonnes pour qu’elles correspondent au contenu et en gelant la ligne d’en-tête pour plus de commodité.

Rapport Excel généré par ImportExcel
Crédit photo : auto-capture (Tashreef Shareef) – Aucune attribution requise

4 PSWriteHTML

PSWriteHTML vous permet de transformer la sortie PowerShell en rapports HTML, complets avec des tableaux et des graphiques, ne nécessitant aucune connaissance préalable du codage HTML.

Commande d'exportation du module PSWriteHTML
Crédit photo : auto-capture (Tashreef Shareef) – Aucune attribution requise

Installez le module avec la commande :

Install-Module -Name PSWriteHTML -Scope CurrentUser

Pour créer un rapport système mettant en évidence les dix principaux processus par utilisation du processeur, utilisez :

Import-Module PSWriteHTML;$procs = Get-Process | Select-Object Name, CPU, WorkingSet -First 10New-HTML -TitleText "System Report" -FilePath "Report.html" -ShowHTML {New-HTMLSection -HeaderText "Process Information" {New-HTMLTable -DataTable $procs -Filtering -Buttons @('copyHtml5', 'excelHtml5')}}

Le code HTML généré dispose de fonctionnalités de tri, de filtrage et d’exportation pilotées par JavaScript.

Résultat d'exportation du module PSWriteHTML
Crédit photo : auto-capture (Tashreef Shareef) – Aucune attribution requise

3 PSWindowsUpdate

En tant que module le plus populaire de la galerie PowerShell avec plus de 33 millions de téléchargements, PSWindowsUpdate propose des applets de commande spécialement conçues pour gérer le client Windows Update.

Module PowerShell PSWindowsUpdate
Crédit photo : auto-capture (Tashreef Shareef) – Aucune attribution requise

Installez-le en utilisant la commande suivante :

Install-Module -Name PSWindowsUpdate -Scope CurrentUser

Ce module fournit des applets de commande pour une gestion complète des mises à jour Windows, idéale pour automatiser les tâches. Vérifiez simultanément les mises à jour en attente sur plusieurs serveurs avec :

$Servers = 'SERVER01', 'SERVER02', 'SERVER03'Invoke-Command -ComputerName $Servers -ScriptBlock {Import-Module PSWindowsUpdate<|image_sentinel|>Get-WindowsUpdate -MicrosoftUpdate | Select-Object @{n='Computer';e={$env:COMPUTERNAME}}, KB, Title, Size, IsDownloaded, IsInstalled, RebootRequired} | Sort-Object Computer, KB | Format-Table -AutoSize

Cela révèle rapidement les mises à jour en attente sur vos serveurs. Vous pouvez installer des mises à jour spécifiques, masquer celles qui posent problème ou planifier facilement les installations. Utilisez le paramètre -AcceptAll pour ignorer les invites de confirmation.

2 icônes de terminal

Optimisez votre expérience de terminal PowerShell avec Terminal-Icons, qui ajoute des icônes reconnaissables aux fichiers dans les listes de répertoires. Chaque type de fichier est représenté par une icône et une couleur uniques, améliorant ainsi la visibilité et la navigation.

Module PowerShell Terminal-Icônes
Crédit photo : auto-capture (Tashreef Shareef) – Aucune attribution requise

Pour installer, exécutez :

Install-Module -Name Terminal-Icons -Scope CurrentUser

Ce module améliore la sortie de Get-ChildItem. Après l’installation, pour afficher les icônes, utilisez :

Import-Module Terminal-Icons

Par la suite, lors de l’exécution de Get-ChildItem ou de ses alias, chaque type de fichier affichera son icône et sa couleur respectives. Les scripts PowerShell afficheront le logo PowerShell et les dossiers afficheront les icônes correspondantes. Cette amélioration esthétique améliore non seulement l’apparence de votre terminal, mais facilite également l’identification rapide des fichiers lors de la navigation entre les onglets. Veuillez noter que l’installation d’une police Nerd est nécessaire pour un affichage correct des icônes.

Module PowerShell Terminal-Icons avec Get-ChildItem
Crédit photo : auto-capture (Tashreef Shareef) – Aucune attribution requise

1 Transfert

Transferetto est un module PowerShell conçu pour simplifier l’interaction avec FTP, FTPS et SFTP. Au lieu de recourir à des classes. NET ou à des outils tiers, il propose des applets de commande intuitives et natives PowerShell.

Module PowerShell Transferetto
Crédit photo : auto-capture (Tashreef Shareef) – Aucune attribution requise

Pour installer Transferetto, utilisez :

Install-Module -Name Transferetto -Scope CurrentUser

Le flux de travail reflète étroitement celui des modules de base de données : connexion, exécution de tâches et déconnexion :

$Client = Connect-FTP -Server "ftp.example.com" -Credential (Get-Credential)Send-FTPFile -Client $Client -LocalPath "C:\Reports\Report1.xlsx" -RemotePath "/uploads/"Disconnect-FTP -Client $Client

Au-delà des fonctions de base, Transferetto prend en charge les configurations SSL, les méthodes de cryptage, les options de validation de certificat et la commande Request-FTPConfiguration, qui peut tester automatiquement les paramètres de connexion de votre serveur.

De plus, il ne se limite pas à des fichiers individuels ; vous pouvez télécharger des répertoires entiers avec Send-FTPDirectory ou même effectuer des transferts FXP (copie de fichiers de serveur à serveur).Grâce à la prise en charge de SFTP et SSH, il vous permet également d’exécuter des commandes à distance en conjonction avec vos transferts de fichiers.

Étant donné que Transferetto fonctionne à la fois sur Windows PowerShell 5.1 et PowerShell 7+, vos scripts restent fonctionnels sur les plates-formes Windows, Linux et macOS sans nécessiter aucune modification.

Même si votre utilisation de PowerShell se limite à des tâches basiques, se familiariser avec plusieurs modules peut améliorer votre efficacité. Des modules comme PSReadLine accélèrent la saisie grâce à des suggestions prédictives, ImportExcel simplifie la gestion des feuilles de calcul sans Excel, et Terminal-Icons améliore la lisibilité de votre interface de terminal.

Une vaste gamme de modules est disponible dans la Galerie PowerShell. Vérifiez leur compatibilité et leur historique de mises à jour avant l’installation. Commencez par un ou deux modules répondant directement à vos besoins les plus urgents, puis développez progressivement votre boîte à outils à mesure que vous gagnez en aisance.

Source et images

Laisser un commentaire

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