PowerShell a révolutionné la façon dont les utilisateurs de Windows interagissent avec leurs systèmes d'exploitation, en transformant des tâches administratives complexes en processus simples et automatisés.12. Que vous soyez administrateur système, professionnel de l'informatique ou simple utilisateur de Windows désireux d'améliorer sa productivité, la maîtrise des commandes essentielles de PowerShell peut vous faire gagner d'innombrables heures et débloquer de puissantes capacités d'automatisation.34.
Ce guide complet couvre les commandes PowerShell les plus importantes que tout utilisateur de Windows devrait maîtriser, de la navigation de base à la gestion avancée du système. À la fin de ce tutoriel, vous aurez acquis la confiance nécessaire pour exploiter les puissantes fonctionnalités de PowerShell dans vos tâches informatiques quotidiennes.
Table des matières
- Qu'est-ce que PowerShell et pourquoi s'en préoccuper ?
- Pour commencer : Ouvrir PowerShell
- Commandes essentielles de découverte : Votre boussole PowerShell
- Commandes de gestion des fichiers et des dossiers
- Information sur les systèmes et gestion des processus
- Commandes de dépannage du réseau
- Commandes de manipulation de contenu et de données
- Travailler avec des pipelines PowerShell
- Gestion de l'heure et de la date
- Meilleures pratiques essentielles de PowerShell
- Création de votre premier script PowerShell
- Parcours d'apprentissage PowerShell avancé
- Résolution des problèmes courants liés à PowerShell
- Conclusion : Améliorer votre expérience de Windows
Qu'est-ce que PowerShell et pourquoi s'en préoccuper ?
PowerShell est un puissant shell de ligne de commande et un environnement de script. qui est préinstallé sur tous les systèmes d'exploitation Windows modernes2. Contrairement à l'Invite de commande traditionnelle, PowerShell utilise un structure syntaxique verbe-nom qui rend les commandes intuitives et lisibles par l'homme1. Par exemple, Obtenir un processus récupère les processus en cours, tandis que Stop-Service arrête les services du système.
Principaux avantages de PowerShell par rapport à l'invite de commande
PowerShell offre des avantages significatifs par rapport à l'interface de ligne de commande traditionnelle1:
- Sortie basée sur l'objet: Au lieu d'un texte simple, PowerShell travaille avec des objets structurés contenant des propriétés et des méthodes.
- Capacités de script avancées: Créer des scripts d'automatisation complexes avec des boucles, des conditions et des fonctions
- Extensible grâce à des modules: Ajouter des fonctionnalités grâce aux bibliothèques .NET et aux cmdlets personnalisés
- Soutien aux pipelines: Enchaîner les commandes pour traiter efficacement les données
- Compatibilité multiplateforme: Exécuter PowerShell sous Windows, Linux et macOS
Pour commencer : Ouvrir PowerShell
Avant de plonger dans les commandes, vous devez savoir comment accéder à PowerShell25. Sous Windows 11, la méthode la plus simple est la suivante :
- Tapez “PowerShell” dans la barre de recherche de Windows
- Cliquer avec le bouton droit de la souris sur “Windows PowerShell”
- Sélectionnez “Exécuter en tant qu'administrateur” pour les privilèges élevés
Pour la plupart des tâches administratives, l'exécution de PowerShell en tant qu'administrateur garantit que vous disposez des autorisations nécessaires pour exécuter des commandes au niveau du système.
Commandes essentielles de découverte : Votre boussole PowerShell
1. Obtenir de l'aide : Votre manuel intégré
Le Obtenir de l'aide est sans doute la commande la commande PowerShell la plus importante vous n'apprendrez jamais467. Il fournit une documentation complète pour toute cmdlet, fonction ou concept dans PowerShell.
Syntaxe de base :
powershellGet-Help
Exemples pratiques :
powershell# Obtenir une aide de base pour une commande.
Get-Help Get-Process
# Obtenir une aide détaillée avec des exemples
Get-Help Get-Process -Full
# Voir les exemples uniquement
Get-Help Get-Process -Examples
# Ouvrir la documentation d'aide en ligne
Get-Help Get-Process -Online
Conseil de pro : Utilisation Mise à jour - Aide périodiquement pour vous assurer que vous disposez de la documentation d'aide la plus récente6.
2. Get-Command : Découvrir les commandes disponibles
Lorsque vous ne savez pas quelle commande utiliser, Obtenir une commande vous aide trouver la bonne cmdlet pour votre tâche486.
Modèles utiles :
powershell# Liste de toutes les commandes disponibles
Obtenir une commande
# Rechercher les commandes commençant par "Get".
Get-Command Get-*
# Recherche les commandes contenant "Process"
Get-Command *Process*
# Rechercher des commandes pour des actions spécifiques
Get-Command Start-* (Obtenir une commande de démarrage)
Get-Command Stop-*
Cette approche est particulièrement utile lorsque vous savez quelle action vous voulez effectuer mais que vous n'êtes pas sûr du nom exact de la commande.
3. Obtenir un membre : Comprendre les propriétés des objets
PowerShell travaille avec des objets, et Obtenir un membre vous montre quelles propriétés et méthodes sont disponibles pour tout objet6.
powershell# Voir les propriétés des objets du processus
Get-Process | Get-Member
# Voir les propriétés des objets service
Get-Service | Get-Member
Commandes de gestion des fichiers et des dossiers
4. Get-ChildItem : Liste des contenus du répertoire
Obtenir un élément enfant est l'équivalent pour PowerShell de la fonction dir mais avec beaucoup plus de fonctionnalités1910.
Usage courant :
powershell# Lister le contenu du répertoire actuel
Get-ChildItem
# Liste des fichiers cachés
Get-ChildItem -Force
# Liste récursive (y compris les sous-répertoires)
Get-ChildItem -Recurse
# Filtre par type de fichier
Get-ChildItem *.txt
# Recherche de fichiers dans les sous-répertoires
Get-ChildItem -Path C:\NUsers -Include *.pdf -Recurse
Alias : Vous pouvez également utiliser ls, dirou gci comme raccourcis10.
5. Définir l'emplacement : Naviguer dans les répertoires
Naviguez efficacement dans votre système de fichiers avec Set-Location10.
powershell# Changer pour un répertoire spécifique
Set-Location C:\NUsers\NDocuments
# Aller dans le répertoire parent
Set-Location ...
# Retourner à l'emplacement précédent
Set-Location -
# Naviguer en utilisant des alias
cd C:\NWindows
sl C:\NTemp
6. Copier l'élément : Copier des fichiers et des dossiers
Le Copier l'élément La cmdlet offre de puissantes possibilités de copie de fichiers910.
powershell# Copier un seul fichier
Copy-Item "source.txt" "destination.txt"
# Copier avec protection contre l'écrasement
Copy-Item "source.txt" "backup.txt" -Force
# Copier des répertoires entiers
Copy-Item "C:\NSource" "C:\NBackup" -Recurse
# Copier plusieurs fichiers en utilisant des caractères génériques
Copy-Item "*.log" "C:\Logs\"
7. Déplacer un élément : Déplacer et renommer des fichiers
Utilisation Déplacer un élément pour déplacer et renommer fichiers et dossiers1112.
powershell# Déplacer un fichier vers un autre emplacement.
Move-Item "oldfile.txt" "C:\NNewLocation"
# Renommer un fichier
Déplacer l'élément "ancien nom.txt" "nouveau nom.txt"
# Déplacer tous les fichiers d'un type spécifique
Get-ChildItem *.txt | Move-Item -Destination "C:\TextFiles\"
8. Supprimer l'élément : Supprimer des fichiers et des dossiers
Supprimer des fichiers et des répertoires en toute sécurité avec Supprimer l'élément10.
powershell# Supprimer un seul fichier
Supprimer l'élément "unwanted.txt"
# Supprimer avec confirmation
Remove-Item "important.txt" -Confirmation
# Supprimer les répertoires de manière récursive
Remove-Item "C:\NTempFolder" -Recurse -Force
# Supprimer les fichiers correspondant à un modèle
Remove-Item "*.tmp"
Avertissement : Soyez extrêmement prudent avec Supprimer l'élément, en particulier lors de l'utilisation de -Récupération et -Force car les fichiers supprimés risquent de ne pas être récupérables.
9. Nouvel élément : Créer des fichiers et des répertoires
Créez rapidement de nouveaux fichiers et dossiers avec Nouvel élément1013.
powershell# Créer un nouveau répertoire
New-Item -Name "NewFolder" -ItemType Répertoire
# Créer un nouveau fichier
New-Item -Name "nouveaufichier.txt" -ItemType Fichier
# Créer un fichier avec du contenu
New-Item "readme.txt" -ItemType File -Value "Ceci est le contenu initial"
# Créer des répertoires imbriqués
New-Item "C:\NProjects\NNewProject\NSource" -ItemType Répertoire -Force
Information sur les systèmes et gestion des processus
10. Obtenir un processus : Surveiller les processus en cours d'exécution
Obtenir un processus fournit des informations détaillées sur processus en cours sur votre système34.
powershell# Liste de tous les processus en cours
Obtenir un processus
# Obtenir un processus spécifique par son nom
Get-Process bloc-notes
# Obtenir des processus en utilisant des caractères génériques
Get-Process note*
# Trier les processus par utilisation du processeur
Get-Process | Sort-Object CPU -Descending
# Obtenir les 10 processus les plus gourmands en mémoire Get-Process | Sort-Object WorkingSet -Descending
Get-Process | Sort-Object WorkingSet -Descending | Select-Object -First 10
11. Arrêter le processus : Mettre fin à un processus
Arrêter les processus non réactifs ou inutiles avec Arrêt du processus4.
powershell# Arrêter le processus par son nom.
Stop-Process -Nom "notepad"
# Arrêter le processus par ID
Stop-Process -Id 1234
# Arrêter avec confirmation
Stop-Process -Name "chrome" -Confirm
# Forcer l'arrêt des processus récalcitrants
Stop-Process -Nom "application" -Force
12. Get-Service : Gérer les services Windows
Contrôler et gérer Services Windows qui s'exécutent en arrière-plan41415.
powershell# Liste de tous les services
Obtenir un service
# Obtenir les services par statut
Get-Service | Where-Object Status -eq "Running" (en cours d'exécution)
# Obtenir un service spécifique
Get-Service -Name "Spooler"
# Obtenir des services commençant par des lettres spécifiques
Get-Service -Name "Win*"
13. Démarrer le service et arrêter le service : Services de contrôle
Démarrer et arrêter les services Windows si nécessaire1415.
powershell# Démarrer un service
Start-Service -Name "Spooler"
# Arrêter un service
Stop-Service -Nom "Spooler"
# Redémarrer un service
Restart-Service -Name "Spooler"
# Démarrer plusieurs services
Get-Service -Name "BITS", "Spooler" | Start-Service
Commandes de dépannage du réseau
14. Test-NetConnection : Test de connectivité réseau
Test-NetConnection est la version améliorée de ping de PowerShell avec des capacités supplémentaires1617.
powershell# Test de connectivité de base
Test-NetConnection google.com
# Tester un port spécifique
Test-NetConnection google.com -Port 80
# Tracer la route jusqu'à la destination
Test-NetConnection google.com -TraceRoute
# Tester plusieurs connexions
"google.com", "microsoft.com" | ForEach-Object { Test-NetConnection $_ }
15. Get-NetIPAddress : Voir la configuration IP
Vérifiez votre configuration IP du réseau avec Get-NetIPAddress1617.
powershell# Afficher toutes les adresses IP
Get-NetIPAddress
# Afficher uniquement les adresses IPv4
Get-NetIPAddress -AddressFamily IPv4
# Obtenir des informations spécifiques sur l'adaptateur
Get-NetIPAddress -InterfaceAlias "Ethernet"
16. Resolve-DnsName : Test de résolution DNS
Tester la résolution DNS et consulter les informations sur le domaine16.
powershell# Recherche DNS de base
Resolve-DnsName google.com
# Recherche de types d'enregistrements spécifiques
Resolve-DnsName google.com -Type MX
# Utiliser un serveur DNS spécifique
Resolve-DnsName google.com -Server 8.8.8.8
Commandes de manipulation de contenu et de données
17. Get-Content : Lire le contenu d'un fichier
Lire et afficher le contenu d'un fichier directement dans PowerShell1819.
powershell# Afficher le contenu complet du fichier
Get-Content "logfile.txt"
# Lire un nombre spécifique de lignes
Get-Content "bigfile.txt" -Head 10
# Surveiller les modifications du fichier (comme tail -f)
Get-Content "live.log" -Wait
# Lire les dernières lignes
Get-Content "recent.log" -Tail 20
18. Out-File : Exporter la sortie vers des fichiers
Sauvegarder la sortie de la commande dans des fichiers en vue d'une analyse ultérieure619.
powershell# Enregistrer la liste des processus dans un fichier
Get-Process | Out-File "processes.txt"
# Ajouter au fichier existant Get-Date
Get-Date | Out-File "log.txt" -Append
# Enregistrer avec un encodage spécifique
Get-Service | Out-File "services.txt" -Encoding UTF8
19. Sélection d'un objet : Filtrer et formater la sortie
Contrôler les informations est affiché à partir des résultats de la commande2021.
powershell# Afficher uniquement les propriétés spécifiques
Get-Process | Select-Object Name, CPU, WorkingSet
# Obtenir les premiers résultats
Get-ChildItem | Select-Object -First 5
# Sélectionnez les valeurs uniques
Get-Process | Select-Object ProcessName -Unique
Travailler avec des pipelines PowerShell
20. Où-Objet : Filtrer les résultats
Filtrer les résultats des commandes sur la base de critères spécifiques2021.
powershell# Filtrer les services en cours d'exécution.
Get-Service | Where-Object Status -eq "Running" (service en cours d'exécution)
# Filtrer les gros fichiers
Get-ChildItem | Where-Object Length -gt 1MB
# Filtrage complexe avec plusieurs conditions
Get-Process | Where-Object {$_.CPU -gt 100 -and $_.WorkingSet -gt 50MB}
21. Sort-Object : Trier les résultats
Organiser la production par ordre croissant ou décroissant21.
powershell# Trier les processus par nom
Get-Process | Sort-Object Name
# Trier par plusieurs propriétés
Get-ChildItem | Sort-Object LastWriteTime, Name
# Trier dans l'ordre décroissant
Get-Process | Sort-Object CPU -Descending
22. PourChaqueObjet : Traiter chaque élément
Effectuer des actions sur chaque objet dans une canalisation1921.
powershell# Traite chaque fichier
Get-ChildItem *.txt | ForEach-Object {
Write-Host "Traitement : $($_.Name)"
}
# Modifier chaque objet
Get-Service | ForEach-Object {
"$($_.Name) : $($_.Status)"
}
Gestion de l'heure et de la date
23. Obtenir une date : Travailler avec des dates et des heures
Récupérer et formater informations sur la date et l'heure actuelles19.
powershell# Obtenir la date et l'heure actuelles
Obtenir la date
# Formatez la date d'une manière spécifique.
Get-Date -Format "yyyy-MM-dd HH:mm:ss"
# Obtenir les composants de la date
(Get-Date).DayOfWeek
(Get-Date).Year
# Calculer les dates futures
(Get-Date).AddDays(30)
Meilleures pratiques essentielles de PowerShell
Utiliser la complétion par tabulation
La fonction Fonctionnalité d'achèvement des onglets accélère considérablement la saisie des commandes17. Appuyez sur la touche Tab après avoir saisi des noms de commandes partielles, des paramètres ou des chemins de fichiers pour les compléter automatiquement.
Tirer parti des alias
PowerShell comprend de nombreux alias intégrés pour les commandes courantes5:
lsoudirpourObtenir un élément enfantcdpourSet-LocationchatoutypepourObtenir le contenurmoudelpourSupprimer l'élément
Tester les commandes en toute sécurité
Avant d'exécuter des commandes potentiellement destructrices, utilisez la commande -Quoi de neuf ? pour voir ce qui se passerait sans exécuter la commande12:
powershellRemove-Item *.txt -WhatIf
Stop-Service Spooler -WhatIf
Définir la politique d'exécution
Pour des raisons de sécurité, PowerShell restreint par défaut l'exécution des scripts22. Pour exécuter des scripts, il peut être nécessaire de modifier la politique d'exécution :
powershell# Vérifier la politique actuelle
Get-ExecutionPolicy
# Définir la politique pour l'utilisateur actuel
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Création de votre premier script PowerShell
Une fois que vous êtes à l'aise avec les différentes commandes, vous pouvez les combiner dans des scripts pour l'automatisation2223. Voici un exemple simple :
powershell# Enregistrer sous system-info.ps1
Write-Host "Rapport d'information sur le système" -ForegroundColor Green
Write-Host "=========================" -ForegroundColor Green
Write-Host "`nCurrent Date and Time :" -ForegroundColor Yellow
Obtenir la date
Write-Host "`nTop 5 Processes by CPU :" -ForegroundColor Yellow
Get-Process | Sort-Object CPU -Descending | Select-Object -First 5
Write-Host "`nCompte des services en cours d'exécution :" -ForegroundColor Yellow
(Get-Service | Where-Object Status -eq "Running").Count
Write-Host "`nUtilisation du disque :" -ForegroundColor Yellow
Get-WmiObject -Class Win32_LogicalDisk | Select-Object DeviceID, @{Name="Size(GB)";Expression={[math]::Round($_.Size/1GB,2)}}, @{Name="FreeSpace(GB)";Expression={[math]::Round($_.FreeSpace/1GB,2)}}
Parcours d'apprentissage PowerShell avancé
Une fois que vous aurez maîtrisé ces commandes essentielles, envisagez d'explorer les sujets avancés suivants24:
- Gestion de l'Active Directory avec les cmdlets AD
- Administration d'ordinateurs à distance en utilisant PowerShell remoting
- Planification automatisée des tâches avec des scripts PowerShell
- Gestion des erreurs et journalisation dans les scripts
- Modules et fonctions PowerShell pour la réutilisation du code
Résolution des problèmes courants liés à PowerShell
Erreurs dans la politique d'exécution
Si vous rencontrez l'erreur “l'exécution des scripts est désactivée”, vérifiez et modifiez votre politique d'exécution.22:
powershellGet-ExecutionPolicy -List (Obtenir une politique d'exécution)
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Erreurs de refus de permission
De nombreuses tâches administratives nécessitent des privilèges élevés. Exécutez toujours PowerShell en tant qu'administrateur lorsque vous travaillez avec :
- Services du système
- Modifications du registre
- Configurations du réseau
- Gestion des comptes utilisateurs
Questions relatives au chemin et à l'emplacement
Lorsque les commandes ne trouvent pas les fichiers ou les répertoires, vérifiez votre emplacement actuel et utilisez les chemins d'accès complets :
powershellObtenir l'emplacement
Set-Location C:\NVotreCheminDésiré
Conclusion : Améliorer votre expérience de Windows
Maîtriser ces les commandes PowerShell essentielles vous transforme d'un utilisateur passif de Windows en un administrateur système actif capable d'automatiser des tâches complexes et de résoudre des problèmes de manière efficace13. Les structure de commande verbe-nom PowerShell est intuitif à apprendre, tandis que ses puissantes capacités de pipeline permettent un traitement sophistiqué des données et la gestion des systèmes.24.
Commencez par pratiquer ces ordres dans un environnement sûr, en prenant progressivement confiance en vous et en explorant des scénarios plus avancés. N'oubliez pas que Obtenir de l'aide est toujours disponible pour fournir des informations détaillées sur n'importe quelle commande, et la complétion par tabulation rend la saisie des commandes plus rapide et plus précise725.
Qu'il s'agisse de gérer des fichiers, de surveiller les performances du système, de résoudre des problèmes de réseau ou d'automatiser des tâches répétitives, PowerShell fournit les outils dont vous avez besoin pour travailler de manière plus efficace avec les systèmes Windows.17. L'investissement dans l'apprentissage de PowerShell est rentabilisé par une productivité accrue et des capacités d'administration système améliorées qui vous serviront tout au long de votre carrière informatique.







