Utilisation des pipelines pour l’automatisation
Pipeline s’agit d’une fonctionnalité intéressante dans PowerShell qui vous permet de diffuser les résultats d’une applet de commande à une autre. Ce concept utilise le symbole | (pipe) pour connecter des applets de commande, afin de créer un processus d’automatisation plus efficace et plus flexible.
En PowerShell, les pipelines servent à faire circuler objects from d’une applet de commande à une autre. Symbole | Séparez les applets de commande et transmettez les résultats de la première applet à la deuxième applet de commande sans stocker de données temporaires.
Un exemple simple :
Get-Process | Sort-Object CPU -Descending
- Get-Process : Récupère la liste de tous les processus actifs sur le système.
- Sort-Object CPU -Descending : Trie les processus en fonction de l’utilisation du processeur à partir du plus élevé.
Le résultat est une liste de processus qui ont été triés en fonction de l’utilisation du processeur.
Regroupement des processus en fonction de l’utilisation de la mémoire virtuelle
Par exemple, supposons que vous souhaitiez savoir quelles applications utilisent le plus Virtual Memory (VM) et regrouper les processus par l’entreprise qui les a créés. Voici les étapes à suivre :
- Utilisez Get-Process pour exécuter tous les processus.
- Triez les processus en fonction de l’utilisation de la machine virtuelle.
- Prenez un nombre spécifique de processus, tels que les 10 premiers.
- Regroupez les processus par propriétés Company.
Le code complet :
Get-Process |
Sort-Object VM -Descending |
Select-Object -First 10 |
Group-Object Company
- Sort-Object VM -Descending : Trie les processus en fonction de l’utilisation Virtual Memory du plus élevé.
- Select-Object -First 10 : Sélectionnez les 10 processus les plus utilisés par les machines virtuelles.
- Group-Object Company : Regroupez les processus par le nom de l’entreprise qui les a créés.
La sortie affichera les Company mana yang memiliki proses dengan penggunaan Virtual Memory.
Comment combiner des applets de commande pour des solutions plus complexes
Les pipelines facilitent la combinaison d’applets de commande et la création de solutions plus complexes sans avoir à écrire de code difficile. Par exemple, si vous souhaitez rechercher un processus qui utilise un processeur élevé et l’arrêter, vous pouvez utiliser le pipeline suivant :
Get-Process |
Where-Object {$_.CPU -gt 50} |
Stop-Process
- Where-Object {$_.CPU -gt 50} : Filtre les processus dont l’utilisation du processeur est supérieure à 50 %.
- Stop-Process : Arrête le processus filtré.
Ce pipeline vous permet d’automatiser les tâches avec des étapes claires et organisées. Vous pouvez également ajouter des paramètres pour rendre la solution plus spécifique, comme l’envoi d’un rapport des résultats :
Get-Process |
Where-Object {$_.CPU -gt 50} |
Export-Csv -Path “HighCPUProcesses.csv”
Ce pipeline stockera les données du processus gourmand en ressources processeur dans un fichier CSV.
Automatisation avec PowerShell
Une applet de commande très utile dans PowerShell est Get-WindowsOptionalFeature. Cette applet de commande permet aux utilisateurs d’afficher les fonctionnalités facultatives disponibles dans Windows, y compris leur état (activé ou désactivé). À l’aide de ces applets de commande, les administrateurs peuvent facilement gérer et auditer les fonctionnalités existantes.
Pour afficher toutes les fonctionnalités facultatives dans Windows, vous pouvez exécuter la commande suivante :
Get-WindowsOptionalFeature -Online
Cette commande génère une liste d’objets qui représentent chaque fonctionnalité facultative, avec des propriétés telles que FeatureName, State et une description de la fonctionnalité.