Automatische Variablen im Skript

Sobald wir ein Skript starten, werden einige Variablen ganz automatisch durch PowerShell erzeugt. Diese sind können in unserem Skript sehr hilfreich sein.

Sobald wir ein Skript starten, werden einige Variablen ganz automatisch durch PowerShell erzeugt. Diese sind können in unserem Skript sehr hilfreich sein.

VariableErklärung
$argsEin Array. Es enthalt die Argumente, mit der das Skript oder eine Funktion gestartet wurde
$errorEin Array. Enthält Fehlerobjekte, die unser Skript erzeugt. Siehe dazu Kapitel „Errorhandling“
$IsCoreCLRTrue/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.
$MyInvocationEnthä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.PSScriptRoot
$MyInvocation.PSCommandPath

Diese 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
Die wichtigsten automatischen Variablen, während das Skript ausgeführt wird

Alle weiteren Variablen findest du hier: https://link.powershell1.de/PSautovar