You are on page 1of 10

POWERSHELL AANTEKENINGEN

Simar
Inhoud
Aantal minuten meegegeven laten worden bij start zodat die de default waarde overschrijft ......... 2
zorg dat als een servernaam wordt meegegegeven bij de start dat die de default waarde
overschrijft in powershell.................................................................................................................... 3
Begin! hoe zorg je dat de onderstaande acties herhaald worden tot het $minuten is verstreken in
powershell? En hoe zorg je ervoor dat je iets op het scherm ziet bewegen gedurende de 5 seconde
tussen de herhalingen......................................................................................................................... 5
vraag je of de whitelist leeg gemaakt moet worden, accepteer alleen y en n ................................... 6
Als de whitelist leeg moet schrijf een lege whitelist weg, Anders de huidige in powershell. ............ 7
vraag of de signaleringen op het scherm moeten komen, accepteer y om te printen, iets anders zie
je als n. Indien y druk de signaleringen netjes af op het scherm ........................................................ 8
Einddatum/tijd toevoegen aan afsluitende boodschap in powershell ............................................... 9
Aantal minuten meegegeven laten worden bij start zodat die de default waarde
overschrijft

Om een standaardwaarde voor het aantal minuten te vervangen door de waarde die wordt
meegegeven bij de start van een script in PowerShell, kun je de volgende code gebruiken:

param (

[int]$AantalMinuten = 10

Write-Host "Het aantal minuten is ingesteld op: $AantalMinuten"

In dit voorbeeld wordt de parameter `$AantalMinuten` gedefinieerd met een standaardwaarde van
10. Als er geen waarde wordt meegegeven bij de start van het script, zal PowerShell automatisch de
standaardwaarde gebruiken.

Je kunt het script uitvoeren en een aangepast aantal minuten opgeven door de parameter
`AantalMinuten` toe te voegen met de gewenste waarde. Bijvoorbeeld:

```

PS > .\MijnScript.ps1 -AantalMinuten 20

```

Dit zal het aantal minuten instellen op 20 in plaats van de standaardwaarde van 10 en het
aangepaste aantal minuten weergeven in de console.
zorg dat als een servernaam wordt meegegegeven bij de start dat die de default
waarde overschrijft in powershell

Om ervoor te zorgen dat een servernaam de standaardwaarde overschrijft bij het starten van een
script in PowerShell, kun je de volgende stappen volgen:

1. Begin met het definiëren van de standaardwaarde voor de servernaam aan het begin van je script.
Je kunt dit doen met behulp van een voorwaardelijke toewijzing. Bijvoorbeeld:

$servernaam = If ($null -eq $servernaam) { "StandaardServer" } Else { $servernaam }

Hier wordt de waarde "StandaardServer" toegewezen aan de variabele `$servernaam` als er geen
waarde wordt meegegeven bij het starten van het script. DUS GEBRUIK DE NAAM VAN DE SERVER
IN HET EXAMEN WAAR SERVERNAAM STAAT

2. Vervolgens kun je controleren of er een argument wordt meegegeven bij het starten van het script
en de waarde van de servernaam daarop aanpassen. Dit kun je doen met behulp van de variabele
`$args`. Bijvoorbeeld:

If ($args.Length -gt 0) {

$servernaam = $args[0]

Deze code controleert of er argumenten zijn meegegeven bij het starten van het script. Als er ten
minste één argument is, wordt de waarde van `$servernaam` vervangen door de waarde van het
eerste argument (`$args[0]`).

3. Nu kun je de rest van je script uitvoeren, waarbij de variabele `$servernaam` de standaardwaarde


of de meegegeven waarde heeft, afhankelijk van wat er is meegegeven bij het starten van het script.

Hier is een voorbeeld van hoe het volledige script eruit zou kunnen zien:

$servernaam = If ($null -eq $servernaam) { "StandaardServer" } Else { $servernaam }

If ($args.Length -gt 0) {
$servernaam = $args[0]

# Rest van je script met gebruik van $servernaam

Met deze aanpak zal het script de standaardwaarde van de servernaam gebruiken als er geen
argumenten worden meegegeven bij het starten van het script. Als er een servernaam als argument
wordt meegegeven, zal deze de standaardwaarde overschrijven.
Begin! hoe zorg je dat de onderstaande acties herhaald worden tot het $minuten is
verstreken in powershell? En hoe zorg je ervoor dat je iets op het scherm ziet bewegen
gedurende de 5 seconde tussen de herhalingen

In PowerShell kun je gebruikmaken van een `while`-lus om acties te herhalen totdat een bepaalde
tijd is verstreken. Je kunt de huidige tijd vergelijken met de starttijd en doorgaan met de lus totdat
het gewenste aantal minuten is bereikt. Hier is een voorbeeld van hoe je dat kunt doen:

$startTime = Get-Date

$minutes = 60 # Het gewenste aantal minuten

while ((Get-Date) - $startTime).TotalMinutes -lt $minutes {

# Voer hier de gewenste acties uit

# Optioneel: voeg een kleine vertraging toe tussen de herhalingen

Start-Sleep -Seconds 5

In dit voorbeeld wordt de variabele `$startTime` ingesteld op de huidige tijd met behulp van de
cmdlet `Get-Date`. Vervolgens wordt een `while`-lus gebruikt om de gewenste acties uit te voeren
totdat het verschil tussen de huidige tijd en de starttijd (in minuten) groter is dan het gewenste
aantal minuten. Binnen de lus kun je jouw specifieke acties plaatsen die herhaald moeten worden.

Als je een kleine vertraging tussen de herhalingen wilt toevoegen, kun je de cmdlet `Start-Sleep`
gebruiken. In het voorbeeld hierboven is er een vertraging van 5 seconden toegevoegd tussen elke
herhaling, maar je kunt dit aanpassen naar jouw behoeften.

Zorg ervoor dat je de gewenste acties invult in het juiste gedeelte van de code, tussen de accolades
`{}` van de `while`-lus.
vraag je of de whitelist leeg gemaakt moet worden, accepteer alleen y en n

Om te vragen of de whitelist moet worden leeggemaakt en alleen 'y' en 'n' als antwoord te
accepteren in PowerShell, kun je de volgende code gebruiken:

$validInput = $false

while (-not $validInput) {

$response = Read-Host "Wil je de whitelist leegmaken? (y/n)"

if ($response -eq 'y') {

# Doe hier wat nodig is als het antwoord 'y' is

$validInput = $true

elseif ($response -eq 'n') {

# Doe hier wat nodig is als het antwoord 'n' is

$validInput = $true

else {

Write-Host "Ongeldige invoer. Probeer het opnieuw."

De bovenstaande code blijft de gebruiker om invoer vragen totdat er een geldig antwoord ('y' of 'n')
wordt gegeven. Als het antwoord 'y' is, kun je de code schrijven om de whitelist leeg te maken. Als
het antwoord 'n' is, kun je de code schrijven om iets anders te doen. Als de gebruiker een ander
antwoord geeft, wordt er een foutmelding weergegeven en wordt opnieuw om invoer gevraagd.
Als de whitelist leeg moet schrijf een lege whitelist weg, Anders de huidige in
powershell.

Hier is een PowerShell-script dat een lege whitelist wegschrijft als de whitelist leeg is, en anders de
huidige whitelist wegschrijft:

$whitelist = Get-Content -Path "C:\Pad\Naar\Whitelist.txt"

if ($whitelist -eq $null -or $whitelist.Count -eq 0) {

# Schrijf een lege whitelist weg

$emptyWhitelist = @()

$emptyWhitelist | Out-File -FilePath "C:\Pad\Naar\Whitelist.txt" -Force

else {

# Schrijf de huidige whitelist weg

$whitelist | Out-File -FilePath "C:\Pad\Naar\Whitelist.txt" -Force

Zorg ervoor dat je het pad naar de juiste locatie van de whitelist aanpast in de code (waar
"C:\Pad\Naar\Whitelist.txt" staat). Dit script leest de inhoud van het opgegeven bestand
("Whitelist.txt") en controleert of het leeg is. Als de whitelist leeg is of niet bestaat, wordt een lege
whitelist weggeschreven. Anders wordt de huidige whitelist weer weggeschreven naar hetzelfde
bestand.
vraag of de signaleringen op het scherm moeten komen, accepteer y om te printen,
iets anders zie je als n. Indien y druk de signaleringen netjes af op het scherm

# Vraag of de signaleringen moeten worden weergegeven

Write-Host "Moeten de signaleringen op het scherm komen? (y/n)"

$input = Read-Host

# Controleer de ingevoerde waarde

if ($input -eq "y") {

Write-Host "Signaleringen worden afgedrukt"

# Voer de logica uit om de signaleringen af te drukken

# Voorbeeld: Druk de signaleringen netjes af op het scherm

Write-Host "Signalering 1: Dit is een waarschuwing."

Write-Host "Signalering 2: Dit is een fout."

Write-Host "Signalering 3: Dit is een melding."

elseif ($input -eq "n") {

Write-Host "Signaleringen worden niet afgedrukt"

else {

Write-Host "Ongeldige invoer. Probeer het opnieuw."

In dit voorbeeld wordt `Read-Host` gebruikt om de gebruiker om invoer te vragen. Vervolgens


worden de ingevoerde waarden gecontroleerd met behulp van de `if`-`elseif`-`else`-verklaringen.
Afhankelijk van de ingevoerde waarde worden de juiste berichten weergegeven. Je kunt de logica om
de signaleringen af te drukken toevoegen binnen de `if`-blok als dat nodig is.
Einddatum/tijd toevoegen aan afsluitende boodschap in powershell

In PowerShell kun je de huidige datum en tijd verkrijgen met de `Get-Date` cmdlet. Om de


einddatum en -tijd aan een afsluitende boodschap toe te voegen, kun je de volgende code
gebruiken:

$eindDatumTijd = Get-Date

$boodschap = "Dit is de afsluitende boodschap. De einddatum en -tijd is: $eindDatumTijd."

Write-Host $boodschap

In dit voorbeeld wordt de huidige datum en tijd opgeslagen in de variabele `$eindDatumTijd`.


Vervolgens wordt de afsluitende boodschap gedefinieerd met behulp van de variabele in de string.
Ten slotte wordt de boodschap weergegeven met behulp van `Write-Host`. Je kunt de boodschap
aanpassen aan jouw specifieke vereisten.

You might also like