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)'
11. Interactions réseau :
- Test de connectivité :
# Vérifier la connectivité avec un hôte distant
Test-Connection -ComputerName 'example.com' -Count 4
- Récupération d'informations sur les interfaces réseau :
# Obtenir la liste des interfaces réseau
Get-NetAdapter
12. Gestion des données :
- Manipulation de fichiers CSV :
# Importer un fichier CSV
$data = Import-Csv -Path 'C:\Path\To\Data.csv'
# Afficher les données
$data
- Manipulation de fichiers JSON :
# Importer un fichier JSON
$data = Get-Content -Path 'C:\Path\To\Data.json' | ConvertFrom-Json
# Afficher les données
$data
Annexe A : Glossaire PowerShell
- Variable : Un conteneur pour stocker des valeurs ou des objets dans PowerShell.
- Script : Un fichier texte contenant une séquence de commandes PowerShell qui peuvent être exécutées ensemble.
- Interface en ligne de commande (CLI) : Une interface utilisateur qui permet à l'utilisateur de communiquer avec le système en saisissant des commandes textuelles.
- Interface graphique utilisateur (GUI) : Une interface utilisateur qui permet à l'utilisateur d'interagir avec le système à l'aide d'éléments visuels tels que des boutons, des menus et des fenêtres.
- Automatisation : Le processus d'exécution de tâches répétitives ou complexes de manière programmée plutôt que manuelle.
- Fichier batch : Un fichier texte contenant une séquence de commandes qui peuvent être exécutées par le shell de commandes Windows (cmd.exe).
- Registre Windows : Une base de données hiérarchique utilisée par le système d'exploitation Windows pour stocker des informations de configuration, telles que les paramètres système et les informations sur les logiciels installés.
- Cmdlet : Abréviation de 'command let', il s'agit des commandes de base de PowerShell qui effectuent des actions sur le système
