Variablen in PowerShell sind Container, die Werte speichern und auf sie verweisen können. Sie können Werte wie Zahlen, Zeichenketten, Arrays, HashTables und sogar komplexe Objekte speichern. Variablen werden mit dem $-Zeichen eingeleitet, gefolgt vom Variablennamen.
Variablen erstellen und zuweisen
Um eine Variable zu erstellen und einen Wert zuzuweisen, verwenden Sie den Zuweisungsoperator =
:
> $myVariable = “Hello, World!”
Variablentypen
PowerShell unterstützt verschiedene Datentypen, darunter:
- String: Zeichenkette
- Int: Ganzzahl
- Double: Gleitkommazahl
- Boolean: Wahrheitswert (True oder False)
- Array: Eine Sammlung von Werten
- Hashtable: Eine Sammlung von Schlüssel-Wert-Paaren
Verwendung von Variablen
Um auf den Wert einer Variable zuzugreifen, verwenden Sie einfach den Variablennamen mit dem $
-Zeichen:
> $greeting = “Hello, World!”
> Write-Host $greeting
Variablen Typisierung
PowerShell ist dynamisch typisiert, das bedeutet, dass es den Typ einer Variable automatisch ermittelt. Sie können jedoch auch explizit den Typ einer Variable angeben, indem Sie den Typ vor der Variablendeklaration platzieren:
Variablen in Zeichenketten einbetten
Sie können Variablenwerte direkt in Zeichenketten einbetten, indem Sie doppelte Anführungszeichen verwenden:
Gültigkeitsbereich / Scope
In PowerShell gibt es verschiedene Gültigkeitsbereiche (Scopes) für Variablen, die bestimmen, wo die Variable verfügbar ist und wie sie verwendet werden kann. Die wichtigsten Scopes sind:
- Global: Die Variable ist im gesamten Skript und in allen Funktionen verfügbar.
- Local: Die Variable ist nur innerhalb der aktuellen Funktion oder des aktuellen Skripts verfügbar.
- Script: Die Variable ist im gesamten Skript verfügbar, aber nicht in Funktionen.
- Private: Die Variable ist nur innerhalb der aktuellen Funktion oder des aktuellen Skripts verfügbar und kann nicht von untergeordneten Scopes geerbt werden.
Um den Gültigkeitsbereich einer Variable festzulegen, verwenden Sie die Set-Variable
-Cmdlet mit dem -Scope
-Parameter:
> Set-Variable -Name myVar -Value “This is a global variable” -Scope Global