Commandes Powershell les plus utiles : aide-mémoire avec exemples
Publié: 2023-07-23- Premiers pas avec PowerShell
- Plongez dans les structures de commande PowerShell
- Gestion des fichiers et des dossiers
- Gestion des processus système
- L'administration du réseau
- Gestion Active Directory
- Gestion du journal des événements
- Surveillance et analyse des performances
- Accès à distance et sessions PowerShell
- Politiques de sécurité et d'exécution
- Techniques PowerShell avancées
- 30 commandes PowerShell supplémentaires ci-dessous
- Conclusion
- FAQ
- Comment utiliser les commandes Windows PowerShell ?
- Comment puis-je obtenir une liste de commandes PowerShell dans Windows 7 ?
- Puis-je utiliser PowerShell sur des systèmes autres que Windows ?
- Puis-je écrire des scripts dans PowerShell ?
- Puis-je utiliser PowerShell pour gérer des environnements basés sur le cloud ?
Si vous avez déjà eu le plaisir de plonger dans le monde de l'administration système, vous avez probablement rencontré les commandes Windows PowerShell et PowerShell. C'est un outil pratique, un langage de script shell qui vous donne accès au fonctionnement interne de votre système d'exploitation.
Il surpasse l'invite de commande traditionnelle (CMD), offrant plus de puissance, de flexibilité et de contrôle.
Contrairement à CMD, qui utilise de simples instructions de ligne de commande, Windows PowerShell emploie un langage plus étendu, utilisant une liste de commandes PowerShell ou d'applets de commande pour les tâches système complexes.
En tant qu'administrateur système, votre travail peut voir des améliorations spectaculaires avec cet outil dans votre arsenal. Il ne s'agit pas seulement de rendre les choses plus faciles ; c'est une question d'efficacité, de précision et de capacité à automatiser les tâches répétitives.
Premiers pas avec PowerShell
Maintenant que vous savez ce qu'est PowerShell, il est temps de plonger. Le démarrage est assez simple. Vous avez deux itinéraires principaux :
- la console PowerShell
- l'environnement de script intégré (ISE).
La console est votre interface de ligne de commande. C'est un chemin direct pour que vos commandes atteignent et manipulent le système. ISE, en revanche, est votre terrain de jeu pour les scripts. C'est là que vous pouvez écrire, tester et déboguer vos scripts PowerShell dans un environnement convivial et centré sur l'utilisateur.
Pour vous aider à démarrer, couvrons quelques commandes PowerShell de base .
Description : affiche des informations d'aide sur les commandes et les rubriques Windows PowerShell .
Exemple : Taper Get-Help Get-Process affichera l'aide pour la commande Get-Process.
Comme son nom l'indique, Get-Help est votre guide à travers l'univers PowerShell . Il s'agit d'un manuel intégré qui vous permet d'explorer les fonctionnalités d'autres commandes.
Description : Récupère une liste de toutes les commandes disponibles dans PowerShell.
Exemple : La saisie de Get-Command -Module ActiveDirectory listera toutes les commandes disponibles dans le module ActiveDirectory.
Get-Command est un autre outil précieux sur votre aide-mémoire des commandes PowerShell . Avec lui, vous pouvez afficher toutes les commandes que PowerShell a à offrir.
Plongez dans les structures de commande PowerShell
Les commandes PowerShell sont construites autour de trois structures principales : applets de commande, alias et scripts.
Les cmdlets (Command-lets) sont au cœur de PowerShell. Ce sont des commandes légères qui exécutent des fonctions spécifiques. Contrairement aux programmes exécutables traditionnels, les cmdlets sont des objets de classe .NET Framework - une bouchée, non ? En termes simples, ce sont des morceaux de code qui font des choses, comme récupérer des données, modifier les paramètres système ou exécuter des processus.
Description : Récupère une liste de tous les processus en cours d'exécution
Exemple : Entrer Get-Process vous montrera tous les processus en cours d'exécution sur votre système.
Les alias ne sont que des raccourcis pour les applets de commande. Par exemple, au lieu de taperGet-ChildItem, vous pouvez simplement taperdir, ce qui est plus rapide et plus facile à retenir.
Les scripts, enfin, sont des fichiers texte contenant une série d'applets de commande à exécuter dans l'ordre. Ils sont l'épine dorsale de l'automatisation, vous permettant d'exécuter des tâches complexes sans saisie manuelle. Avec ces connaissances et votre liste croissante de commandes PowerShell , vous êtes sur la bonne voie pour devenir un pro de PowerShell.
Gestion des fichiers et des dossiers
Être à la tête d'un système de fichiers peut être une tâche ardue. Heureusement, PowerShell donne un coup de main. Avec un arsenal d'applets de commande, vous pouvez gérer de manière transparente les fichiers et les dossiers.
Description : affiche les éléments et les éléments enfants dans les emplacements spécifiés.
Exemple : Entrez Get-ChildItem C:\Documents et vous verrez tous les éléments dans le répertoire Documents.
Cette applet de commande est un membre crucial de votre liste de commandes PowerShell pour la gestion des fichiers. Il répertorie non seulement les fichiers et les dossiers, mais peut également approfondir les répertoires révélant les trésors cachés à l'intérieur.
Description : Crée un nouvel élément, tel qu'un fichier ou un dossier.
Exemple : Tapez New-Item -Path .-Nom "fichier.txt" -ItemType "fichier" -Valeur "répertoire actuel du fichier de démonstration du nouvel élément powershell".
et regardez un nouveau fichier, file.txt, apparaître dans votre dossier Documents.
Gestion des processus système
Maintenant, changeons de vitesse et parlons des processus du système. Considérez-les comme l'équipe des coulisses d'une production théâtrale, travaillant avec diligence dans les coulisses pour s'assurer que le spectacle se déroule sans accroc. PowerShell propose des commandes pour surveiller, manipuler et gérer ces héros méconnus.
Description : Récupère l'état d'une liste de processus spécifiés.
Exemple : Entrer Get-Process affichera tous les processus en cours d'exécution sur votre machine.
Ce qui précède est l'une des commandes PowerShell les plus fréquemment utilisées dans Windows 10 pour gérer les processus système. Il fournit un instantané de ce qui se passe derrière votre écran.
Travailler avec les services
Tout comme les processus système, les services sont des rouages essentiels qui assurent le bon fonctionnement de nos systèmes. Il existe des programmes qui s'exécutent en arrière-plan, et avec PowerShell, vous pouvez les surveiller de près.
Description : Récupère l'état des services sur un ordinateur local ou distant.
Exemple : Lorsque vous exécutez Get-Service, vous obtenez une mise à jour de l'état de tous les services de votre ordinateur.
Description : Arrête un ou plusieurs services en cours d'exécution.
Exemple : Stop-Service -Name "serviceName" arrêtera le service spécifié.
Ces exemples de commandes PowerShell ne font qu'effleurer la surface de ce que vous pouvez faire avec PowerShell. La vraie beauté de PowerShell réside dans sa flexibilité et dans la mesure dans laquelle il peut être personnalisé pour répondre à vos besoins spécifiques.
L'administration du réseau
Gérer un réseau peut ressembler à essayer de résoudre un puzzle avec des pièces infinies. Heureusement, avec PowerShell, vous n'êtes pas sans outils pour vous faciliter la tâche. Voici quelques-unes des principales commandes PowerShell pour vous aider.
Description : affiche les informations de diagnostic d'une connexion.
Exemple : Tapez Test-NetConnection pour tester la connexion réseau de votre machine.
Description : affiche la configuration de l'adresse IP.
Exemple : L'exécution de Get-NetIPAddress révèle les détails de l'adresse IP de votre machine.
Ces applets de commande peuvent aider à diagnostiquer les problèmes et révéler les détails essentiels de la configuration du réseau.
Gestion Active Directory
Dans le monde de l'administration réseau, Active Directory (AD) est le gestionnaire du bureau, assurant le suivi de chaque ressource réseau. PowerShell est fourni avec des commandes utiles pour faciliter la gestion d'AD.
Description : Récupère un objet utilisateur ou effectue une recherche pour récupérer plusieurs objets utilisateur.
Exemple : Get-ADUser -Filter * affichera une liste de tous les utilisateurs de votre AD.
Description : Crée un nouvel utilisateur AD.
Exemple : Avec une commande comme New-ADUser -Name "JohnDoe" vous pouvez créer un nouvel utilisateur nommé JohnDoe.
Gestion du journal des événements
Les journaux d'événements sont comme le journal de votre système, enregistrant ses pensées et ses actions. Ils sont un outil précieux pour le dépannage. Voici comment exécuter des commandes PowerShell dans Windows 10 qui interagissent avec vos journaux d'événements.
Description : Obtient les événements dans un journal des événements ou une liste des journaux des événements.
Exemple : Get-EventLog -LogName System affichera les journaux d'événements système.
Description : efface toutes les entrées des journaux d'événements spécifiés.
Exemple : Clear-EventLog -LogName "Application" effacera l'ardoise du journal des événements de votre application.
Il est important de se rappeler que bien qu'il s'agisse de certaines des commandes PowerShell les plus courantes , il en existe d'innombrables autres à explorer. L'adaptabilité et les fonctionnalités robustes de PowerShell en font un outil indispensable pour tout administrateur système.
Surveillance et analyse des performances
Comme un orchestre bien réglé, votre système a besoin d'ajustements réguliers pour donner le meilleur de lui-même. La surveillance des performances garantit que les ressources de votre système sont utilisées efficacement. Voici quelques commandes Windows PowerShell qui vous permettent de jeter un coup d'œil sous le capot.
Description : Récupère l'état d'une liste de processus spécifiés.
Exemple : Running Get-Process affiche tous les processus en cours d'exécution sur votre machine.
Description : mesure le temps nécessaire pour exécuter des blocs de script.
Exemple : Measure-Command {Get-Process} révélera le temps mis pour exécuter la commande Get-Process.
Description : Obtient des données de compteur de performances à partir d'ordinateurs locaux et distants.
Exemple : Get-Counter -Counter "\Processor(_Total)\% Processor Time" vous donnera des statistiques d'utilisation du CPU.
A lire également : Comment accélérer les performances d'un disque dur sous Windows ?
Accès à distance et sessions PowerShell
L'un des points forts de PowerShell réside dans sa capacité à gérer des ordinateurs distants. Vous pouvez établir des sessions ou des connexions persistantes avec des machines distantes. Votre aide-mémoire sur les commandes PowerShell ne serait pas complète sans ces applets de commande.
Description : Démarre une session interactive avec un ordinateur distant.
Exemple : Enter-PSSession -ComputerName Server01 vous permet d'interagir directement avec Server01.
Description : Crée une nouvelle session PowerShell.
Exemple : New-PSSession -ComputerName Server02 crée une nouvelle session avec Server02.
Description : Ferme une ou plusieurs sessions PowerShell.
Exemple : Remove-PSSession -Session $s ferme une session stockée dans la variable $s.
Travailler avec des profils PowerShell
Comme votre profil personnel, un profil PowerShell est un script qui s'exécute au démarrage de Powershell et qui définit votre environnement. Voici quelques commandes PowerShell d'applet de commande pour gérer vos profils.
Description : détermine si tous les éléments du chemin existent.
Exemple : Test-Path $profile vérifiera si un profil existe.
Description : Crée un nouvel élément, tel qu'un fichier ou un dossier.
Exemple : Si Test-Path $profile renvoie False, New-Item -Type file -Path $profile -Force créera un nouveau profil.
Description : Ouvre les fichiers dans le Bloc-notes.
Exemple : Notepad $profile ouvre votre profil dans Notepad, vous permettant de le modifier.
En comprenant et en utilisant ces commandes, vous pouvez personnaliser votre environnement PowerShell en fonction de vos préférences et de votre style de travail.
Politiques de sécurité et d'exécution
Dans le domaine de PowerShell, la sécurité est comme un gardien inébranlable, garantissant que les scripts et les commandes sont exécutés en toute sécurité. Voici quelques commandes PowerShell de base qui vous aident à définir et à comprendre vos politiques d'exécution.
Description : Obtient les politiques d'exécution pour la session en cours.
Exemple : Get-ExecutionPolicy affiche votre politique d'exécution actuelle.
Description : Définit la politique d'exécution pour la session PowerShell.
Exemple : Set-ExecutionPolicy RemoteSigned définit la stratégie pour n'exécuter que des scripts signés par un éditeur de confiance.
Description : Obtient la signature numérique d'un script ou d'un fichier.
Exemple : Get-AuthenticodeSignature C:\Scripts\Test.ps1 affiche la signature numérique du script Test.ps1.
Techniques PowerShell avancées
Au fur et à mesure que vous plongerez dans l'océan de PowerShell, vous découvrirez qu'il contient bien plus que des applets de commande de base. Les fonctions avancées offrent une plus grande flexibilité et fonctionnalité, vous permettant de travailler plus intelligemment, pas plus dur. Vous trouverez ci-dessous quelques exemples de commandes PowerShell pour éclairer les possibilités.
Description : Exécute des commandes sur des ordinateurs locaux et distants.
Exemple : Invoke-Command -ComputerName Server01 -ScriptBlock {Get-Process} exécute la commande Get-Process sur Server01.
Description : Convertit les objets .NET en chaînes CSV et stocke les résultats dans un fichier CSV.
Exemple : Get-Process |Export-Csv -Path .\ProcessList.csv enregistre votre liste de processus dans un fichier CSV.
Description : Convertit un objet en sa représentation JSON.
Exemple : Get-Process |ConvertTo-Json convertit votre liste de processus au format JSON.
Description : sélectionne les propriétés spécifiées d'un objet ou d'un ensemble d'objets.Il peut également sélectionner des objets uniques dans un tableau.
Exemple : Get-Process |Select-Object -Property Name,ID affiche uniquement le nom et l'ID de vos processus.
Description : filtre l'entrée du pipeline permettant de contrôler les objets qui seront transmis le long de la séquence de commandes.
Exemple : Get-Process |Where-Object {$_.CPU -gt 10} affiche les processus utilisant plus de 10 unités CPU.
Description : Effectue une opération sur chacun d'un ensemble d'objets d'entrée.
Exemple : Get-Process |ForEach-Object { $_.Name + ” ” + $_.Id } affiche une liste de noms de processus avec leurs ID.
Ces commandes utiles PowerShell illustrent les techniques avancées que vous pouvez utiliser pour exploiter davantage la puissance de Powershell. De l'appel de commandes sur des ordinateurs distants au filtrage et au formatage de la sortie, les possibilités sont vastes.
N'oubliez pas que l'applet de commande Get-Help est votre amie lorsque vous ne savez pas comment exécuter les commandes PowerShell . Tapez simplement Get-Help suivi de l'applet de commande pour laquelle vous avez besoin d'aide. Cette liste de commandes PowerShell n'est que le début ; Le potentiel de PowerShell n'est limité que par votre imagination.
30 commandes PowerShell supplémentaires ci-dessous
Commande | Description |
Out-File | Envoie la sortie dans un fichier. |
Sort-Objet | Trie les objets par valeurs de propriété. |
Ensemble-Variable | Définit la valeur d'une variable. |
Lire-Hôte | Lit une ligne d'entrée à partir de la console. |
Hôte d'écriture | Écrit une sortie personnalisée sur un hôte. |
Ajouter du contenu | Ajoute du contenu aux éléments spécifiés, comme l'ajout de lignes à un fichier. |
Copier l'élément | Copie un élément d'un emplacement à un autre. |
Chemin de test | Teste l'existence d'un chemin et renvoie True si le chemin existe, sinon False. |
Avoir un rendez-vous | Obtient la date et l'heure actuelles. |
Clear-Hôte | Efface l'affichage dans le programme hôte. |
Comparer-Objet | Compare deux ensembles d'objets. |
ConvertTo-Html | Convertit les objets .NET en HTML pouvant être affichés dans un navigateur Web. |
Get-Credential | Obtient un objet d'informations d'identification basé sur un nom d'utilisateur et un mot de passe. |
Get-Random | Obtient un nombre aléatoire ou sélectionne des objets au hasard dans une collection. |
Nouvel objet | Crée une instance d'un objet .NET Framework ou COM. |
Renommer l'élément | Renomme un élément dans un espace de noms de fournisseur Windows PowerShell. |
Démarrer-Sommeil | Suspend l'activité dans un script pendant la période spécifiée. |
Sortie d'écriture | Envoie les objets spécifiés à la commande suivante dans le pipeline. |
Chemin partagé | Renvoie la partie spécifiée d'un chemin. |
Join-Path | Combine un chemin et un chemin enfant en un seul chemin. |
Pour chaque objet | Effectue une opération sur chaque élément d'une collection d'objets d'entrée. |
Où-Objet | Sélectionne des objets d'une collection en fonction de leurs valeurs de propriété. |
Démarrer le processus | Démarre un ou plusieurs processus sur l'ordinateur local. |
Format-Liste | Formate la sortie sous la forme d'une liste de propriétés dans laquelle chaque propriété est affichée sur une ligne distincte. |
Format-Table | Formate la sortie sous forme de tableau. |
Exporter-Clixml | Crée une représentation XML d'un objet ou d'objets et la stocke dans un fichier. |
Importer-Clixml | Importe un fichier CliXML et recrée les objets enregistrés. |
ConvertFrom-Csv | Convertit les propriétés d'objet dans les chaînes CSV en versions CSV des objets d'origine. |
ConvertTo-Csv | Convertit les objets .NET en une série de chaînes CSV. |
Select-String | Recherche du texte dans des chaînes et des fichiers. |
Conclusion
À présent, vous devriez avoir une liste complète des commandes PowerShell et une idée claire de leur potentiel. Qu'il s'agisse d' automatiser des tâches , de gérer des ressources réseau ou de résoudre des problèmes, PowerShell est un outil indispensable pour tout utilisateur ou administrateur Windows.
Ces applets de commande PowerShell ne font qu'effleurer la surface de ce qui est possible. Au fur et à mesure que vous vous familiariserez avec la console, vous découvrirez de nouvelles commandes et créerez des scripts qui répondent parfaitement à vos besoins.
N'oubliez pas que l'applet de commande Get-Help est toujours là pour fournir de l'aide sur les commandes PowerShell chaque fois que vous avez besoin de plus d'informations sur une applet de commande particulière. Tapez simplement Get-Help suivi de l'applet de commande pour laquelle vous avez besoin d'aide.
FAQ
Comment utiliser les commandes Windows PowerShell ?
L'utilisation des commandes Windows PowerShell est simple. Vous tapez la commande dans la console PowerShell et appuyez sur Entrée. Si vous avez besoin d'aide avec une commande particulière, tapez simplement Get-Help suivi de la commande que vous souhaitez mieux comprendre.
Comment puis-je obtenir une liste de commandes PowerShell dans Windows 7 ?
Vous pouvez obtenir une liste de commandes dans PowerShell sur Windows 7 en tapant Get-Command dans la console et en appuyant sur Entrée. Cela affichera toutes les cmdlets et fonctions disponibles que vous pouvez utiliser.
Pourquoi mon Windows PowerShell ne comprend-il aucune commande ?
Si PowerShell ne comprend pas vos commandes, cela peut être dû à des erreurs de syntaxe. Vérifiez votre commande pour les fautes de frappe ou les paramètres incorrects. Assurez-vous également que vous utilisez la bonne version de PowerShell pour la commande que vous essayez d'exécuter.
Puis-je utiliser PowerShell sur des systèmes autres que Windows ?
Oui, vous pouvez. Avec l'avènement de PowerShell Core, PowerShell de Microsoft n'est plus limité à Windows. Vous pouvez également l'utiliser sur macOS et Linux.
Puis-je écrire des scripts dans PowerShell ?
Absolument! PowerShell n'est pas seulement une interface de ligne de commande mais aussi un langage de script. Vous pouvez créer des scripts pour automatiser les tâches répétitives, ce qui peut vous faire économiser beaucoup de temps et d'efforts.
Puis-je utiliser PowerShell pour gérer des environnements basés sur le cloud ?
Oui, PowerShell est un outil puissant pour gérer les environnements basés sur le cloud. De nombreux fournisseurs de cloud, dont Microsoft Azure et Amazon AWS, proposent des modules PowerShell pour interagir avec leurs services.