Lab-type PowerShell Container pwsh 7.4 op Ubuntu Sessie-tijd 30 min Live Docker 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 — ls is een alias voor Get-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.