Sobald wir ein Skript starten, werden einige Variablen ganz automatisch durch PowerShell erzeugt. Diese sind können in unserem Skript sehr hilfreich sein.
| Variable | Erklärung |
|---|---|
$args | Ein Array. Es enthalt die Argumente, mit der das Skript oder eine Funktion gestartet wurde |
$error | Ein Array. Enthält Fehlerobjekte, die unser Skript erzeugt. Siehe dazu Kapitel „Errorhandling“ |
$IsCoreCLR | True/False Wert. Ob PowerShell aus einer .NET Core Version gestartet wurde (also mindestens PowerShell Version 6 ist) |
$IsLinux$isMacOS$isWindows | True/False Wert. Rückgabe für das jeweilige Betriebssystem. |
$MyInvocation | Enthält Informationen über das Skript, in dem man sich gerade befindet. $MyInvocation.MyCommand.Path enthält zum Beispiel den Pfad des aktuellen Skriptes. Jetzt wird es noch etwas komplizierter:$MyInvocation.PSScriptRootDiese beiden Eigenschaften sind nur gefüllt, wenn ich in meinem Skript ein weiteres Skript aufrufe. Im zweiten Skript sind dann diese Variablen gefüllt mit dem Pfad des ersten Skripts $MyInvocation ist aktuell im Visual Studio Code im Debugging NICHT verfügbar. |
$PSCommandPath$PSScriptRoot | Dateipfad bzw. Ordnerpfad des Skriptes, in dem man sich befindet. Diese beiden Variablen sind aktuell im Visual Studio Code im Debugging NICHT verfügbar. |
$_$PSItem | Aktuelles Objekt in der Pipeline |
Alle weiteren Variablen findest du hier: https://link.powershell1.de/PSautovar
