420-1Q1-AA Help

Solutions

🧩 Exercice 1 — Corrigé

Get-ChildItem New-Item -Path C:\PS_Test -ItemType Directory Set-Content -Path C:\PS_Test\info.txt -Value "PowerShell est puissant." Get-Content -Path C:\PS_Test\info.txt

🗒️ New-Item crée le dossier, Set-Content écrit dans le fichier, et Get-Content l’affiche.

🧩 Exercice 2 — Corrigé

Get-Process | Where-Object { $_.Name -like "*chrome*" } | Select-Object Name, WS | Export-Csv -Path C:\chrome.csv -NoTypeInformation

🗒️ Le pipeline (|) permet de filtrer puis d’exporter facilement les données.

🧩 Exercice 3 — Corrigé

$services = Get-Service | Where-Object { $_.Status -eq "Running" } $services | Select-Object Name, Status $services.Count

🗒️ On stocke le résultat dans $services pour pouvoir le réutiliser.

🧩 Exercice 4 — Corrigé

$processus = Get-Process | Sort-Object WS -Descending | Select-Object -First 5 foreach ($p in $processus) { if ($p.WS -gt 100MB) { Write-Host "⚠️ $($p.Name) : processus gourmand ($($p.WS/1MB) Mo)" } else { Write-Host "✅ $($p.Name) : processus normal" } }

🗒️ Exemple concret de boucle foreach avec une condition if.

🧩 Exercice 5 — Corrigé

$date = Get-Date -Format "yyyy-MM-dd" $source = "C:\Données" $destination = "D:\Sauvegarde\$date" New-Item -Path $destination -ItemType Directory -Force Copy-Item -Path $source\* -Destination $destination -Recurse $count = (Get-ChildItem $destination -Recurse).Count $log = "Sauvegarde effectuée le $date : $count fichiers copiés." $log | Out-File -FilePath "$destination\log.txt" Write-Host $log

🗒️ Ce script montre l’automatisation d’une tâche réelle avec journalisation.

Last modified: 07 October 2025