POWERSHELL AUTOMATION LAB
v2.0 · live sandbox// Wat doe je in dit lab?
Je krijgt een echte PowerShell 7-shell in je browser, dezelfde shell die op moderne Windows-systemen draait. Je oefent Get-*/Set-*-cmdlets, pipelines, filters, CSV- verwerking en een klein automatiserings-script. De container is geisoleerd en wordt na 30 minuten automatisch opgeruimd.
// Growth zone
- Basis: doorloop alle 8 opdrachten.
- Stretch: los stap 7 op zonder online te zoeken. Gebruik
Get-Help. - Verwar geen aliassen met cmdlets —
lsis een alias voorGet-ChildItem.
Sandbox-terminal
Start de container, typ je cmdlets en zie direct het resultaat.
Opdrachten
Werk ze in volgorde af. Vink af als je klaar bent.
1. Check de versie: $PSVersionTable.
Verwacht: PSVersion 7.4.x. Dit is PowerShell op Linux — niet Windows PowerShell 5.1.
2. List actieve processen: Get-Process. Filter op naam: Get-Process | Where-Object Name -like 'pwsh*'.
Verwacht: minimaal je eigen pwsh-shell. Where-Object filtert objecten in de pipeline.
3. Lijst de map: Get-ChildItem. Aliases: ls of dir werken ook.
Verwacht: README.txt en users.csv. Get-Alias ls laat zien dat ls intern Get-ChildItem is.
4. Laad de CSV als objecten: $users = Import-Csv users.csv. Toon het eerste object met $users[0].
Verwacht: een object met Naam, Email, Afdeling, Actief. CSV-rijen zijn objecten, geen strings.
5. Filter: alleen IT-medewerkers die actief zijn. $users | Where-Object { $_.Afdeling -eq 'IT' -and $_.Actief -eq 'Ja' }.
Verwacht: 2 rijen (Jan, Tom). $_ is het huidige object in de pipeline.
6. Selecteer alleen specifieke velden: $users | Select-Object Naam, Email | Format-Table.
Verwacht: een tabel met 2 kolommen. Format-Table is voor visualisatie, niet voor data-doorgifte.
7. Maak een rapport: $users | Where-Object Actief -eq 'Nee' | Export-Csv -Path inactief.csv -NoTypeInformation. Controleer met Get-Content inactief.csv.
Verwacht: een nieuw bestand met 2 inactieve users. -NoTypeInformation houdt het bestand schoon (geen #TYPE-regel).
8. Schrijf een script met nano report.ps1: lees users.csv, tel per afdeling. Run met ./report.ps1 (na chmod +x report.ps1).
Voorbeeld-body: Import-Csv users.csv | Group-Object Afdeling | Select-Object Name, Count. Verwacht: IT 3, HR 2, Sales 1.
Reflectie voor je portfolio
Twee korte vragen. Antwoorden worden lokaal opgeslagen.