Aller au contenu

PowerShell

De Wiki Pat-Informatik

⚡ PowerShell

Fichier:PowerShell.png
Microsoft PowerShell

PowerShell est un shell en ligne de commande et un langage de script développé par Microsoft.

Il permet d'automatiser des tâches d'administration, de gérer les systèmes Windows et d'interagir avec de nombreux services Microsoft.

PowerShell est aujourd'hui un outil indispensable pour les administrateurs système.


⚡ Pourquoi utiliser PowerShell ?
  • Automatiser les tâches répétitives
  • Administrer Windows
  • Gérer les utilisateurs
  • Gérer Active Directory
  • Superviser les serveurs
  • Créer des scripts d'administration

Présentation

PowerShell combine :

  • Un shell interactif
  • Un langage de script
  • Des outils d'administration

Exemple :

Get-Date

Affiche la date et l'heure du système.

Ouvrir PowerShell

Windows 10

  • Menu Démarrer
  • Rechercher "PowerShell"

Windows 11

  • Clic droit sur Démarrer
  • Terminal Windows
  • PowerShell

Les commandes PowerShell

Les commandes PowerShell sont appelées :

Cmdlets

Exemples :

Get-Process
Get-Service
Get-EventLog

Commandes essentielles

Commande Fonction
Get-Date Affiche la date
Get-Process Liste les processus
Get-Service Liste les services
Get-ComputerInfo Informations système
Get-ChildItem Liste les fichiers
Get-Help Aide intégrée

Gestion des processus

Afficher les processus :

Get-Process

Rechercher un processus :

Get-Process chrome

Arrêter un processus :

Stop-Process -Name chrome

Gestion des services

Lister les services :

Get-Service

Afficher un service :

Get-Service wuauserv

Démarrer un service :

Start-Service wuauserv

Arrêter un service :

Stop-Service wuauserv

Gestion des fichiers

Afficher un dossier :

Get-ChildItem

Copier un fichier :

Copy-Item fichier.txt sauvegarde\

Déplacer un fichier :

Move-Item fichier.txt archive\

Supprimer un fichier :

Remove-Item fichier.txt

Informations système

Afficher les informations du PC :

Get-ComputerInfo

Afficher la mémoire :

Get-CimInstance Win32_PhysicalMemory

Afficher les disques :

Get-Disk

Réseau

Afficher les cartes réseau :

Get-NetAdapter

Afficher les adresses IP :

Get-NetIPAddress

Tester une connexion :

Test-Connection google.fr

Scripts PowerShell

Exemple simple :

Write-Host "Bonjour Patrick"

Enregistrer dans :

bonjour.ps1

Exécuter :

.\bonjour.ps1

Variables

Créer une variable :

$Nom = "Patrick"

Afficher :

Write-Host $Nom

Boucles

Exemple :

for ($i=1; $i -le 5; $i++)
{
  Write-Host $i
}

Automatisation

PowerShell est souvent utilisé pour :

  • Inventaire matériel
  • Sauvegardes
  • Gestion des utilisateurs
  • Déploiement de logiciels
  • Administration de serveurs

Exemples utiles pour Pat Informatik

Afficher les disques :

Get-Volume

Afficher les démarrages automatiques :

Get-CimInstance Win32_StartupCommand

Afficher les mises à jour :

Get-HotFix

Afficher les services arrêtés :

Get-Service | Where-Object {$_.Status -eq "Stopped"}

Bonnes pratiques

💡 Recommandations
  • Tester les scripts sur un environnement de test.
  • Commenter les scripts.
  • Sauvegarder les scripts importants.
  • Éviter l'exécution de scripts inconnus.
  • Utiliser les privilèges administrateur uniquement lorsque nécessaire.

Scripts PowerShell utiles

Cette section regroupe des exemples de scripts pratiques pour l'administration Windows et le dépannage informatique.

Informations système complètes

Get-ComputerInfo

Affiche :

  • Nom de l'ordinateur
  • Version de Windows
  • BIOS
  • RAM
  • Processeur
  • Réseau

Inventaire du PC

Get-CimInstance Win32_ComputerSystem
Get-CimInstance Win32_Processor
Get-CimInstance Win32_PhysicalMemory
Get-Disk

Permet d'obtenir un inventaire rapide du matériel.

Rechercher les services arrêtés

Get-Service |
Where-Object {$_.Status -eq "Stopped"}

Lister les logiciels installés

Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* |
Select-Object DisplayName, DisplayVersion

Vérifier l'espace disque

Get-Volume |
Select DriveLetter,
FileSystemLabel,
SizeRemaining,
Size

Afficher les adresses IP

Get-NetIPAddress |
Where-Object {$_.AddressFamily -eq "IPv4"}

Tester une connexion Internet

Test-Connection 8.8.8.8
Test-Connection google.fr

Lister les utilisateurs locaux

Get-LocalUser

Identifier l'utilisateur connecté

Get-WmiObject Win32_ComputerSystem |
Select-Object UserName

Programmes au démarrage

Get-CimInstance Win32_StartupCommand |
Select Name, Command

Afficher les mises à jour

Get-HotFix

Générer un rapport matériel

Get-ComputerInfo |
Out-File C:\Rapport-PC.txt

Un fichier texte est automatiquement créé.

Afficher la mémoire disponible

Get-CimInstance Win32_OperatingSystem |
Select-Object TotalVisibleMemorySize,
FreePhysicalMemory

Redémarrer un ordinateur

Restart-Computer -ComputerName NOM-PC

Supprimer les fichiers temporaires

Remove-Item "$env:TEMP\*" -Recurse -Force

Vérifier l'état de Defender

Get-MpComputerStatus

Scripts PowerShell

Pages associées

Écosystème Microsoft


Pat Informatik

PowerShell • Windows • Administration système • Scripts • Automatisation ⬆ Retour en haut