Ceci est une ancienne révision du document !
Table des matières
PowerShell
PowerShell : Introduction et Guide Avancé
1. Qu'est-ce que PowerShell ?
PowerShell est un langage de script et une interface en ligne de commande développé par Microsoft pour l'automatisation des tâches et la gestion des configurations système sur les plates-formes Windows. Il offre un ensemble de commandes appelées 'cmdlets' (command lets) qui permettent d'effectuer diverses opérations sur le système.
2. Installation de PowerShell :
- Vérification de la version de PowerShell : $PSVersionTable.PSVersion - Installation sur différentes versions de Windows : # Installation de PowerShell 7 sur Windows 10
iex '& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI'
3. Lancement de PowerShell :
- Interface en ligne de commande : # Lancer PowerShell depuis l'invite de commande
powershell
- Interface graphique (PowerShell ISE) :
# Lancer PowerShell ISE
powershell_ise
4. Les bases de PowerShell :
- Cmdlets : # Afficher la liste des processus en cours d'exécution
Get-Process
- Variables :
$nom = 'John' Write-Host 'Bonjour, $nom !'
5. Exploration du système de fichiers :
- Navigation entre les répertoires : # Accéder au répertoire C:\Users
cd C:\Users
- Création de fichiers : # Créer un nouveau fichier texte
New-Item -Path .\example.txt -ItemType File
6. Gestion des processus et des services :
- Recherche des processus en cours d'exécution : # Rechercher les processus notepad en cours d'exécution
Get-Process -Name notepad
- Interrogation des services : # Afficher la liste des services en cours
Get-Service
7. Gestion des utilisateurs et des groupes :
- Création d'un nouvel utilisateur : # Créer un nouvel utilisateur
New-LocalUser -Name 'utilisateur1' -Password (ConvertTo-SecureString 'P@ssw0rd' -AsPlainText -Force)
- Ajout d'un utilisateur à un groupe : # Ajouter un utilisateur à un groupe
Add-LocalGroupMember -Group 'Administrateurs' -Member 'utilisateur1'
8. Automatisation des tâches :
- Scripting : # Exemple de script : sauvegarde des fichiers
$source = 'C:\Source' $destination = 'D:\Backup' Copy-Item $source -Destination $destination -Recurse
9. Gestion des fichiers et dossiers avancée :
- Renommage de fichiers en masse : # Renommer tous les fichiers avec l'extension .txt en ajoutant un préfixe 'backup_'
Get-ChildItem -Path C:\Path\To\Folder -Filter *.txt | Rename-Item -NewName { 'backup_' +$_.Name }
- Suppression de fichiers/dossiers : # Supprimer un fichier
Remove-Item -Path C:\Path\To\File.txt
# Supprimer un dossier et son contenu récursivement
Remove-Item -Path C:\Path\To\Folder -Recurse
10. Gestion des registres Windows :
- Lecture de clés de registre : # Lire la valeur d'une clé de registre
Get-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion' -Name 'ProgramFilesDir'
- Modification de clés de registre :
# Modifier la valeur d'une clé de registre
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion' -Name 'ProgramFilesDir' -Value 'C:\Program Files (x86)'
