
PowerShell est largement reconnu comme un outil essentiel pour les administrateurs informatiques spécialisés dans les scripts et l’automatisation. Cependant, ses capacités robustes s’étendent bien au-delà du secteur informatique, ce qui le rend précieux pour quiconque est confronté à des fichiers et répertoires désorganisés. Personnellement, j’utilise les commandes PowerShell pour trier le code obsolète, structurer les fichiers clients et atténuer le désordre accumulé après des mois de projets rapides et soumis à des délais serrés.
En tant que puissant shell de ligne de commande et plateforme de scripts, PowerShell simplifie de nombreuses tâches. Bien que les versions précédentes de Windows proposaient une application PowerShell autonome, les utilisateurs privilégient désormais Windows Terminal pour exécuter des environnements shell, notamment PowerShell et l’invite de commandes, grâce à sa polyvalence et à son interface moderne.
Toutes les commandes peuvent être exécutées à la fois dans l’application PowerShell dédiée et dans le terminal Windows. Pour commencer à les utiliser, ouvrez simplement un onglet PowerShell dans le terminal Windows.
1.Obtenir de l’aide

Lorsque j’ai découvert PowerShell grâce aux tutoriels YouTube, une commande fréquemment citée par les utilisateurs était Get-Help. Cette commande sert de ressource d’introduction et vous permet d’accéder à des informations détaillées sur chaque applet de commande PowerShell, ainsi qu’à sa syntaxe, ses paramètres et des exemples d’utilisation.
Pour récupérer des informations spécifiques sur une commande, tapez :
Get-Help Get-Process
Cela affichera le synopsis de la commande, les détails de la syntaxe et les paramètres d’entrée. Pour plus d’informations, ajoutez le paramètre -Examples :
Get-Help Get-Process -Examples
De plus, vous pouvez vous référer à la documentation officielle de Microsoft en utilisant le commutateur -Online :
Get-Help Get-Process -Online
Cette commande vous dirige vers le site Web de Microsoft pour une documentation complète sur les commandes.
2.Get-Command

Alors que Get-Help se concentre sur la fourniture d’informations sur les applets de commande, Get-Command est essentiel pour localiser et répertorier toutes les commandes disponibles. Si vous connaissez la fonction que vous souhaitez exécuter, mais que vous ne vous souvenez plus du nom de la commande, utilisez simplement Get-Command pour rechercher des commandes à partir de noms partiels ou de modèles.
Par exemple, pour trouver toutes les commandes contenant le mot process, entrez :
Get-Command *process*
Cette commande affiche toutes les commandes dont le nom inclut « process ».Vous pouvez affiner votre recherche en fonction du type de commande, par exemple si vous ne recherchez que des applets de commande :
Get-Command -Name Get* -CommandType Cmdlet
De plus, pour les recherches spécifiques à un module, comme celles relatives à la mise en réseau :
Get-Command -Module NetTCPIP
L’utilisation de Get-Command est nettement plus efficace que la recherche de noms de commandes sur le Web.
3.Test-NetConnection

Vous passez souvent d’un outil à l’autre, comme ping, telnet et traceroute ? L’ applet de commande Test-NetConnection regroupe ces fonctionnalités. Cette applet de commande est essentielle pour le dépannage réseau, car elle permet de déterminer si un problème provient de votre réseau, du serveur ou d’autres sources.
Pour déterminer si un site Web est accessible, exécutez :
Test-NetConnection makeuseof.com
Cette commande fournit les résultats du ping et les informations de connectivité essentielles. Pour tester un port spécifique, intégrez son numéro à la commande :
Test-NetConnection server.company.com -Port 443
Pour un traçage détaillé du chemin réseau, utilisez le paramètre -TraceRoute :
Test-NetConnection 8.8.8.8 -TraceRoute
Cette commande envoie des paquets de test à 8.8.8.8 tout en traçant les sauts entre votre ordinateur et la destination, vous aidant à identifier tout problème de connexion.
4.Obtenir-ChildItem

L’ applet de commande Get-ChildItem vous permet d’afficher les fichiers et dossiers de n’importe quel répertoire spécifié. Par exemple, pour afficher le contenu du dossier Documents, saisissez simplement :
Get-ChildItem C:\Users\Username\Documents
Pour identifier les fichiers PDF modifiés au cours de la semaine dernière, utilisez la commande suivante :
Get-ChildItem C:\Users\YourName\Documents -Filter *.pdf | Where-Object {$_. LastWriteTime -gt (Get-Date).AddDays(-7)}
Le paramètre -Recurse vous permet d’effectuer une recherche dans tous les sous-dossiers. Pour localiser tous les fichiers journaux de votre dossier Projets et de ses sous-répertoires :
Get-ChildItem C:\Projects -Recurse -Filter *.log
Si l’espace disque est faible, vous pouvez identifier les fichiers volumineux dépassant 1 Go :
Get-ChildItem C:\ -Recurse -File | Where-Object {$_. Length -gt 1GB} | Select-Object FullName, @{Name="SizeGB";Expression={$_. Length/1GB}}
L’ applet de commande Get-ChildItem est un allié puissant pour automatiser les tâches par lots, l’organisation des fichiers et les audits.
5.Où-Objet

Dans l’exemple précédent, l’utilisation de Where-Object met en évidence sa fonctionnalité de filtrage des données selon des critères de propriétés spécifiques, comparable aux instructions conditionnelles en programmation. La syntaxe entre accolades permet de représenter chaque élément évalué.
Pour visualiser tous les services en cours d’exécution, saisissez les éléments suivants :
Get-Service | Where-Object {$_. Status -eq "Running"}
Si vous êtes intéressé par les processus consommant plus de 100 Mo de mémoire, essayez :
Get-Process | Where-Object {$_. WorkingSet -gt 100MB}
Il est également possible de combiner plusieurs conditions. Par exemple, pour localiser des documents Word volumineux modifiés au cours du mois dernier :
Get-ChildItem -Filter *.docx | Where-Object {$_. Length -gt 5MB -and $_. LastWriteTime -gt (Get-Date).AddMonths(-1)}
Organisez des conditions complexes sur plusieurs lignes pour une meilleure lisibilité du script :
Get-ChildItem | Where-Object { $_. Length -gt 1MB -and $_. Extension -eq ".log"}
6.Sélectionner un objet

Souvent, le résultat des commandes est plus volumineux que nécessaire. L’ applet de commande Select-Object permet de filtrer uniquement les données pertinentes, qui peuvent ensuite être exportées vers un fichier CSV grâce à l’ applet de commande Export-Csv. Par exemple, si vous souhaitez afficher uniquement les noms et les états des services :
Get-Service | Select-Object Name, Status
Si votre objectif est d’identifier les cinq principaux processus consommant le plus de CPU, exécutez :
Get-Process | Sort-Object CPU -Descending | Select-Object -First 5 Name, CPU
De plus, vous pouvez créer des propriétés calculées. Pour afficher la taille des fichiers en mégaoctets plutôt qu’en octets :
Get-ChildItem | Select-Object Name, @{Name="SizeMB";Expression={$_. Length/1MB}}
Pour extraire une valeur de propriété unique, utilisez le paramètre -ExpandProperty :
Get-Process notepad | Select-Object -ExpandProperty Id
Cette commande génère uniquement l’ID du processus, ce qui peut être particulièrement utile lors de la transmission à des commandes supplémentaires nécessitant une valeur unique.
7.Devenir membre

PowerShell fonctionne principalement via des objets, et l’ applet de commande Get-Member révèle leurs propriétés et méthodes associées. Par exemple, lors de la récupération d’informations sur un processus, vous pouvez vérifier sa taille, sa date de création et d’autres indicateurs. Utilisez la commande suivante pour afficher les attributs d’un objet processus :
Get-Process | Get-Member
Cette option répertorie les propriétés telles que CPU, Id et WorkingSet, ainsi que les méthodes comme Kill() et Refresh().Si vous souhaitez afficher uniquement les propriétés, vous pouvez spécifier :
Get-Process | Get-Member -MemberType Property
Pour les opérations liées aux fichiers :
Get-ChildItem C:\temp\test.txt | Get-Member
Cela affiche des détails comme Length et LastWriteTime, ainsi que des méthodes comme Delete() et MoveTo().Vous pouvez filtrer les fichiers par taille grâce à Length ou identifier les fichiers récemment modifiés grâce à LastWriteTime.
8.Set-Clipboard et Get-Clipboard

Si vous êtes confronté à un résultat PowerShell trop volumineux nécessitant une copie, la sélection manuelle peut s’avérer fastidieuse. Cependant, Set-Clipboard et Get-Clipboard simplifient considérablement ce processus.
Pour copier les résultats de la commande dans votre presse-papiers, saisissez :
Get-Process | Select-Object Name, CPU | Set-Clipboard
Cela vous permet de coller facilement les résultats dans Excel ou tout autre éditeur de texte.À l’inverse, pour récupérer le contenu du presse-papiers dans PowerShell, exécutez simplement :
$text = Get-Clipboard
Cette fonctionnalité est particulièrement utile lors du traitement de listes. Par exemple, vous pouvez copier une plage de noms d’ordinateurs depuis Excel, puis exécuter :
Get-Clipboard | ForEach-Object { Test-NetConnection $_ }
Cette commande teste la connectivité à chaque nom d’ordinateur répertorié. L’intégration transparente entre PowerShell et les autres applications accélère considérablement les tâches répétitives.
9.Out-GridView

Il arrive que le tri et le filtrage interactifs des résultats soient nécessaires. L’ applet de commande Out-GridView ouvre une fenêtre distincte présentant un format de tableau triable et interrogeable.
Get-Process | Out-GridView
Cette action ouvre une nouvelle fenêtre affichant la liste des processus en cours dans une interface en grille. Cliquez sur les en-têtes de colonne pour trier ou filtrez par mot-clé dans le champ de recherche. Pour sélectionner des éléments de la grille et les transmettre à une autre commande, utilisez :
Get-Service | Out-GridView -PassThru | Restart-Service
Avec le paramètre -PassThru, vous pouvez sélectionner plusieurs lignes et exécuter des actions, telles que le redémarrage uniquement des services choisis.
Pour l’analyse des journaux, vous pouvez également appliquer :
Get-EventLog -LogName Application -Newest 1000 | Out-GridView
Cela permet un filtrage rapide des événements par saisie de mot-clé, un tri par heure et la révélation de modèles dans l’ensemble de données.
10.Obtenir le processus

L’ applet de commande Get-Process affiche toutes les applications en cours d’exécution sur votre ordinateur, fournissant des informations sur leur utilisation de la mémoire, le temps CPU et les ID de processus.
Pour lister tous les processus actuellement actifs, exécutez :
Get-Process
Si vous recherchez une application spécifique, telle que Google Chrome, précisez simplement :
Get-Process chrome
Si vous devez mettre fin à un programme qui ne répond pas, vous pouvez enchaîner les commandes comme suit :
Get-Process notepad | Stop-Process
Pour identifier les processus consommant des ressources mémoire importantes, implémentez :
Get-Process | Sort-Object WorkingSet -Descending | Select-Object -First 10
Cette commande offre un aperçu rapide des programmes accapareurs de mémoire lorsque les performances de votre système ralentissent.
Laisser un commentaire