Øvelse 15 - Powershell script
Forfatter: Mathias Greisen
Dato: 2026-10-05
Fag/modul: Introduktion til IT-Sikkerhed
Status: Færdig
1. Beskrivelse af øvelsen
At kunne læse, forstå, tilrette, oprette og udarbejde powershell scripts.
2. Reproduktion trin for trin
Forudsætninger
- windows med nmap installeret
Trin
-
Oversæt bash script til psuedo kode
START # Sæt farver op til brug i terminalen Sæt RØD, HVID og INGEN_FARVE til farvekoder # Vis advarsel om at scriptet kræver sudo SKRIV ud: "Kør dette script som sudo-bruger" (i rødt) # Tjek om brugeren har angivet et argument HVIS antal_argumenter er lig med 1 SÅ SKRIV ud: "Mål IP: [argument]" (med farver) ellers SKRIV ud: "Din kommandolinje er forkert" SKRIV ud: "Eksempel: sudo ./nmapScans.sh 10.10.10.121" STOP programmet med fejlkode 1 SLUT HVIS STATEMENT # Hent dagens dato til brug i filnavnet Sæt DATO til dagens dato i formatet ÅÅÅÅ-MM-DD Sæt FILNAVN til "[IP-adresse]_[DATO]" # Kør selve scanningen SKRIV ud: "Kører et hurtigt scan..." (med farver) KØR nmap med hurtig-tilstand (-T4 -F) mod målet GEM resultatet i filen "quick_nmapscan_[FILNAVN].txt" # Fortæl brugeren hvor resultatet er gemt SKRIV ud: "Resultater -> quick_nmapscan_[FILNAVN].txt" (i rødt) STOP programmet med succeskode 0 SLUT -
Opret powershell script
-
Åben script i notepad (eller evt. andet program)
-
Omskriv scriptet til et powershell script
nmapScans.ps1if ($args.Count -eq 1) { Write-Host "IP: $($args[0])" -ForegroundColor Red } else { Write-Host "Din kommandolinje er forkert" -ForegroundColor Red Write-Host "Eksempel: nmapScans.ps1 10.10.10.121" -ForegroundColor Red exit 1 } $date = Get-Date $filename = "quick_nmapscan_$($args[0])_$($date.ToString("yyyy-MM-dd-HH-mm-ss")).txt" Write-Host "Running a quick scan..." -ForegroundColor Red #nmap -T4 -F $args[0] > $filename nmap -T4 -F $args[0] | Out-File -FilePath $filename Write-Host "Results -> $($filename)" -ForegroundColor Red exit 0 -
Evt anden version med bedre argument håndtering
param( [Parameter(Mandatory=$true)] [System.Net.IPAddress]$Ip ) Write-Host "IP: $($Ip)" -ForegroundColor Red $date = Get-Date $filename = "quick_nmapscan_$($Ip)_$($date.ToString("yyyy-MM-dd-HH-mm-ss")).txt" Write-Host "Running a quick scan..." -ForegroundColor Red #nmap -T4 -F $args[0] > $filename nmap -T4 -F $Ip | Out-File -FilePath $filename Write-Host "Results -> $($filename)" -ForegroundColor Red exit 0
3. Problemer og løsninger
Jeg oplevede ikke problemer under denne øvelse.
4. Anvendte ressourcer
5. Opsummering af erfaringer
Jeg har fået praktisk erfaring med at læse, forstå, tilrette, oprette og udarbejde powershell scripts.