New Page
<#
Praktijkleren Examenopdracht – PowerShell
Onderwerp: Kentekencheck automatiseren
Auteur: <jouw naam>
Datum: <datum>
Dit script automatiseert het opzoeken van voertuiggegevens
via RDW Open Data.
#>
function Vraag-Kenteken {
<#
Vraagt maximaal 3 keer om een geldig kenteken.
Geeft het kenteken of $null terug.
#>
$pogingen = 0 # variabele
while ($pogingen -lt 3) { # lus met limiet
$kenteken = Read-Host "Voer een kenteken in (6 tekens)"
$kenteken = $kenteken.ToUpper().Replace("-", "").Trim()
if ($kenteken.Length -eq 6) { # beslissing
return $kenteken
}
else {
$pogingen++
Write-Host "Ongeldig kenteken. Poging $pogingen van 3." -ForegroundColor Red
}
}
Write-Host "Te veel foutieve pogingen. Programma stopt." -ForegroundColor Yellow
return $null
}
function Haal-VoertuiggegevensOp {
param (
[string]$Kenteken
)
$url = "https://opendata.rdw.nl/resource/m9d7-ebf2.json?kenteken=$Kenteken"
try {
return Invoke-RestMethod -Uri $url -Method Get
}
catch {
return $null
}
}
function Toon-Gegevens {
param (
$Data
)
if (-not $Data) { # beslissing
Write-Host "Geen voertuiggegevens gevonden." -ForegroundColor Yellow
return
}
$voertuig = $Data[0]
Write-Host ""
Write-Host "Voertuiggegevens:"
Write-Host "Kenteken:" $voertuig.kenteken
Write-Host "Merk:" $voertuig.merk
Write-Host "Type:" $voertuig.handelsbenaming
Write-Host "Voertuigsoort:" $voertuig.voertuigsoort
Write-Host "Eerste toelating:" $voertuig.datum_eerste_toelating
}
# Hoofdprogramma
$doorgaan = $true # variabele
while ($doorgaan) { # lus
$kenteken = Vraag-Kenteken
if ($null -eq $kenteken) {
break
}
$gegevens = Haal-VoertuiggegevensOp -Kenteken $kenteken
Toon-Gegevens -Data $gegevens
$keuze = Read-Host "`nNog een kenteken controleren? (j/n)"
if ($keuze.ToLower() -ne "j") { # beslissing
$doorgaan = $false
}
}
Write-Host "Programma afgesloten."
No comments to display
No comments to display