Wat is een variabele?

Soms wil je tijdens het uitvoeren gegevens opslaan, dit kunnen we doen door het gebruik te maken van variabelen. Dit kan je vergelijken met een lege doos. Als je er iets in stopt kan je op ieder moment kijken wat er in steekt. Je kan aan deze doos gegevens toevoegen, deze bekijken en gebruiken of deze doos weer leeg maken.

Een variabele begint met een dollarteken ($) en dan de naam van de variabele (doos).

Je kan een waarde toekennen aan een variabele door gebruik te maken van een gelijkheidsteken (=).
bijvoorbeeld $a = 5.
Hier mee zeggen we dus dat de variabele a een waarde heeft van 5.

Door hier nu mee te testen kunnen we een heel eenvoudig script opstellen:

$a = 5
$b = 2
$som = $a + $b
$product = $a * $b

'De som van ' + $a + ' en ' + $b + ' is gelijk aan ' + $som
'het product van ' + $a + ' en ' + $b + ' is gelijk aan ' + $product

Je ziet meteen het voordeel van het gebruik van variabelen, als je enkel de waardes van $a en $b wijzigt dan klopt de rest van je script nog wel.

Declareren van variabelen

Een variabele kan verschillende soorten inhoud hebben, zoals een getal of tekst. Het is verstandig om op voorhand aan te geven wat de inhoud van een variabele is. Dat noemen we het ‘declareren van een variabele’.

Als voorbeeld

$a = 5
$b = '3'
$a + b

Als we deze opdracht laten uitvoeren dan krijgen we als uitkomst 8

maar als we volgend opdracht laten uit voeren:

$b + $a

krijgen we niet 8 als uitkomst maar 35

Hoe komt dit ?

In variabele $a zit de waarde 5, omdat deze niet tussen (‘) staat wordt deze waarde als een getal (Integer) gelezen. In de som $a + $b gaat PowerShell ervan uit dat de tweede waarde ook een getal zal zijn. Hij telt deze bij elkaar op en geeft als antwoord dan 8.

In het tweede voorbeeld wordt $b als eerst gelezen als een woord (String) omdat deze tussen (‘) staat. En PowerShell gaat er vanuit dat de tweede variabele ook tekst zal zijn, de twee teksten worden dus naast elkaar afgebeeld en geeft als antwoord dan 35.

Je kan best altijd van tevoren aangeven welke soort inhoud de variabele heeft, PowerShell heeft er een aantal.

Int 32 bit integer (getal)
Long 64 bit integer (getal)
String Tekst
Byte 8 bit karakter
Bool Boolean, waarde True of False
Decimal 128 bit decimale waarde (getal)

Getal:  [int]$a = 5

Tekst:  [string]$b = ‘3’ of [string]$b = ‘drie’

[int]$a = 5
[string]$b = ‘3’ 
[string]$b = ‘drie’

Wat gaat niet!!

[int]$a = ‘drie’

[int]$a = ‘drie’

Je krijgt een foutmelding omdat Powershell nu enkel Integers accepteert als inhoud voor de variabele a.

Verwijderen van variabelen

Je kan variabelen binnen Powershell als een drive benaderen door 1 van de 2 volgende commando’s te gebruiken.

Get-ChildItem variable:
of
Get-Variable

Dit geeft een lijst van alle standaard aanwezige en de zelf aangemaakte variabelen.

Je kan een variabele verwijderen remove-variable –name <variabelenaam>

Dus als voorbeeld gaan we variabele a aan maken met als waarde 3, daarna gaan we deze variabele verwijderen.

Het commando is dus al volgt:

$a = 3

Remove-Variable -name a

en NIET!!

$a = 3

Remove-variable –name $a

Dit geeft als waarde 3 terug aan de parameter –naam, de variabele 3 bestaat niet. De naam van de variabele is a.