Suche…


Einführung

PowerShell bietet eine Vielzahl nützlicher "automatischer" (eingebauter) Variablen. Bestimmte automatische Variablen werden nur unter besonderen Umständen aufgefüllt, während andere global verfügbar sind.

$ PSScriptRoot

Get-ChildItem -Path $PSScriptRoot

In diesem Beispiel wird die Liste der untergeordneten Elemente (Verzeichnisse und Dateien) aus dem Ordner abgerufen, in dem sich die Skriptdatei befindet.

Die automatische Variable $PSScriptRoot ist $null wenn sie außerhalb einer PowerShell- $PSScriptRoot verwendet wird. Bei Verwendung in einem PowerShell-Skript wurde automatisch der vollständig qualifizierte Dateisystempfad zu dem Verzeichnis definiert, in dem sich die Skriptdatei befindet.

In Windows PowerShell 2.0 ist diese Variable nur in Skriptmodulen (.psm1) gültig. Ab Windows PowerShell 3.0 ist es in allen Skripts gültig.

$ Args

$Args

Enthält ein Array der nicht deklarierten Parameter und / oder Parameterwerte, die an eine Funktion, ein Skript oder einen Skriptblock übergeben werden. Wenn Sie eine Funktion erstellen, können Sie die Parameter mit dem Schlüsselwort param deklarieren oder eine durch Kommas getrennte Liste von Parametern in Klammern nach dem Funktionsnamen hinzufügen.

In einer Ereignisaktion enthält die Variable $ Args Objekte, die die Ereignisargumente des verarbeiteten Ereignisses darstellen. Diese Variable wird nur im Aktionsblock eines Befehls zur Ereignisregistrierung aufgefüllt. Der Wert dieser Variablen kann auch in der SourceArgs-Eigenschaft des PSEventArgs-Objekts (System.Management.Automation.PSEventArgs) gefunden werden, das Get-Event zurückgibt.

$ PSItem

Get-Process | ForEach-Object -Process { 
  $PSItem.Name
}

Gleich wie $_ . Enthält das aktuelle Objekt im Pipeline-Objekt. Sie können diese Variable in Befehlen verwenden, die eine Aktion für jedes Objekt oder für ausgewählte Objekte in einer Pipeline ausführen.

$?

Get-Process -Name doesnotexist
Write-Host -Object "Was the last operation successful? $?"

Enthält den Ausführungsstatus der letzten Operation. Es enthält TRUE, wenn die letzte Operation erfolgreich war, und FALSE, wenn die Operation fehlgeschlagen ist.

$ Fehler

Get-Process -Name doesnotexist
Write-Host -Object ('The last error that occurred was: {0}' -f $error[0].Exception.Message)

Enthält ein Array von Fehlerobjekten, die die neuesten Fehler darstellen. Der aktuellste Fehler ist das erste Fehlerobjekt im Array ($ Error [0]).

Um zu verhindern, dass ein Fehler zum Array $ Error hinzugefügt wird, verwenden Sie den allgemeinen Parameter ErrorAction mit dem Wert Ignore. Weitere Informationen finden Sie unter "about_CommonParameters" ( http://go.microsoft.com/fwlink/?LinkID=113216) .



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow