Sie sind auf Seite 1von 6

THEMA

about_automatic_variables
KURZBESCHREIBUNG
Beschreibt Variablen, von denen Zustandsinformationen fr Windows
PowerShell gespeichert werden.
Diese Variablen werden von Windows PowerShell erstellt und verwaltet.
DETAILBESCHREIBUNG
In der folgenden Liste sind die automatischen Variablen in
Windows PowerShell aufgefhrt:


$$
Enthlt das letzte Token in der letzten Zeile, die von der
Sitzung empfangen wurde.

$?
Enthlt den Ausfhrungsstatus des letzten Vorgangs. Enthlt
TRUE, wenn der letzte Vorgang erfolgreich war; FALSE, wenn
beim letzten Vorgang ein Fehler aufgetreten ist.

$^
Enthlt das erste Token in der letzten Zeile, die von der
Sitzung empfangen wurde.

$_
Enthlt das aktuelle Objekt im Pipelineobjekt. Diese Variable
kann in Befehlen verwendet werden, mit denen eine Aktion fr
alle Objekte oder fr ausgewhlte Objekte in einer Pipeline
ausgefhrt wird.

$Args
Enthlt ein Array der nicht deklarierten Parameter und/oder
der Parameterwerte, die an eine Funktion, ein Skript oder
einen Skriptblock bergeben werden.
Beim Erstellen einer Funktion knnen Sie die Parameter mit dem
Schlsselwort "param" deklarieren, oder indem Sie eine durch
Trennzeichen getrennte Liste von Parametern in Klammern nach
dem Funktionsnamen hinzufgen.
$ConsoleFileName
Enthlt den Pfad der Konsolendatei (.psc1), die in der Sitzung
zuletzt verwendet wurde. Diese Variable wird aufgefllt, wenn
Windows PowerShell mit dem PSConsoleFile-Parameter gestartet
wird oder wenn mit dem Cmdlet "Export-Console" Snap-In-Namen
in eine Konsolendatei exportiert werden.
Wenn Sie das Cmdlet "Export-Console" ohne Parameter verwenden,
aktualisiert das Cmdlet automatisch die in der Sitzung zuletzt
verwendete Konsolendatei. Mithilfe dieser automatischen
Variablen knnen Sie bestimmen, welche Datei aktualisiert wird.
$Error
Enthlt ein Array von Fehlerobjekten, die die zuletzt
aufgetretenen Fehler darstellen. Der letzte aufgetretene
Fehler stellt das erste Fehlerobjekt im Array ("$Error[0]") dar.
$Event
Enthlt ein PSEventArgs-Objekt, das das zu verarbeitende Ereig-
nis darstellt. Diese Variable wird nur im Action-Block eines
Ereignisregistrierungsbefehls, z. B. "Register-ObjectEvent",
aufgefllt. Der Wert der Variablen ist mit dem Objekt iden-
tisch, das vom Cmdlet "Get-Event" zurckgegeben wird. Daher
knnen Sie die Eigenschaften der Variablen "$Event",
z. B. $Event.TimeGenerated, in einem Action-Scriptblock
verwenden.
$EventSubscriber
Enthlt ein PSEventSubscriber-Objekt, das den Ereignis-
abonnenten des zu verarbeitenden Ereignisses darstellt.Diese
Variable wird nur im Action-Block eines Ereignisregistrierungs-
befehls aufgefllt. Der Wert der Variablen ist mit dem Objekt
identisch, das vom Cmdlet "Get-EventSubscriber" zurckgegeben
wird.
$ExecutionContext
Enthlt ein EngineIntrinsics-Objekt, das den Ausfhrungskontext des
Windows PowerShell-Hosts darstellt. Mithilfe dieser Variablen knnen
Sie die Ausfhrungsobjekte suchen, die fr Cmdlets verfgbar sind.
$False
Enthlt FALSE. Mit dieser Variablen knnen Sie FALSE in
Befehlen und Skripts darstellen, sodass Sie nicht die Zeichenfolge
"false" verwenden mssen. Die Zeichenfolge kann als TRUE
interpretiert werden, wenn sie in eine nicht leere Zeichenfolge oder
eine ganze Zahl ungleich 0 konvertiert wurde.
$ForEach
Enthlt den Enumerator einer ForEach-Object-Schleife. Sie
knnen die Eigenschaften und die Methoden von Enumeratoren fr
den Wert der $ForEach-Variablen verwenden. Diese Variable ist
nur whrend der Ausfhrung der For-Schleife vorhanden. Bei
Abschluss der Schleife wird sie gelscht.

$Home
Enthlt den vollstndigen Pfad zum Stammverzeichnis des
Benutzers. Diese Variable ist die Entsprechung der
%homedrive%%homepath%-Umgebungsvariablen, normalerweise
"C:\Dokumente und Einstellungen\<Benutzer>".
$Host
Enthlt ein Objekt, das die aktuelle Hostanwendung fr Windows
PowerShell darstellt. Mit dieser Variablen knnen Sie den
aktuellen Host in Befehlen darstellen oder die Eigenschaften
des Hosts anzeigen bzw. ndern, z. B. die $Host.version-Eigen-
schaft oder die $Host.CurrentCulture-Eigenschaft oder
$host.ui.rawui.setbackgroundcolor("Red").
$Input
Ein Enumerator mit der Eingabe, die an eine Funktion bergeben
wird. Bei der Variablen "$Input" wird die Gro- und
Kleinschreibung beachtet, und sie ist in nur Funktionen und
Skriptblcken verfgbar. (Skriptblcke sind im Wesentlichen
unbenannte Funktionen.) Im Process-Block einer Funktion
enthlt die Variable "$Input" das Objekt, das sich derzeit in der
Pipeline befindet. Nach Abschluss des Process-Blocks weist "$Input"
den Wert NULL auf. Wenn die Funktion ber keinen Process-Block
verfgt, ist der Wert von "$Input" fr den abschlieenden Block
verfgbar, und er enthlt die gesamte Eingabe fr die Funktion.
$LastExitCode
Enthlt den Exitcode des zuletzt ausgefhrten Windows-Programms.
$Matches
Die Variable "$Matches" wird mit den Operatoren -match und
-notmatch verwendet.
Wenn eine skalare Eingabe an den Operator -match oder
-notmatch gesendet und eine bereinstimmung erkannt wird, wird
ein boolescher Wert zurckgegeben, und die automatische
Variable "$Matches" wird mit einer Hashtabelle der gefundenen
Zeichenfolgenwerte aufgefllt. Weitere Informationen zum
Operator -match finden Sie unter about_comparison_operators.

$MyInvocation
Enthlt ein Objekt mit Informationen zum aktuellen Befehl,
z. B. ein Skript, eine Funktion oder einen Skriptblock.
Mithilfe der Informationen im Objekt, z. B. mit dem Pfad und dem
Dateinamen des Skripts ($myinvocation.mycommand.path) oder mit dem
Namen einer Funktion ($myinvocation.mycommand.name), knnen Sie den
aktuellen Befehl bestimmen. Dies ist besonders hilfreich beim Suchen
des Namens des derzeit ausgefhrten Skripts.
$NestedPromptLevel
Enthlt die aktuelle Ebene der Eingabeaufforderung. Mit dem
Wert 0 wird die ursprngliche Ebene der Eingabeaufforderung
angegeben. Beim Eingeben einer geschachtelten Ebene wird der
Wert inkrementiert, beim Verlassen einer geschachtelten Ebene
wird er dekrementiert.
Windows PowerShell zeigt z. B. eine geschachtelte
Eingabeaufforderung an, wenn die $Host.EnterNestedPrompt-Methode
verwendet wird. Bei Erreichen eines Haltepunkts im Windows
PowerShell-Debugger wird von Windows PowerShell ebenfalls eine
geschachtelte Eingabeaufforderung angezeigt.
Wenn Sie eine geschachtelte Eingabeaufforderung aufrufen, wird
die Ausfhrung des aktuellen Befehls von Windows PowerShell
unterbrochen, der Ausfhrungskontext wird gespeichert und der
Wert der Variablen "$NestedPromptLevel" wird inkrementiert.
Wenn Sie weitere geschachtelte Eingabeaufforderungen (mit bis
zu 128 Ebenen) erstellen oder zur ursprnglichen
Eingabeaufforderung zurckkehren mchten, schlieen Sie die
Ausfhrung des Befehls ab, oder geben Sie "exit" ein.
Anhand der Variablen "$NestedPromptLevel" knnen Sie die Ebene der
Eingabeaufforderung verfolgen. Sie knnen eine alternative Windows
PowerShell-Eingabeaufforderung erstellen, die diesen Wert enthlt,
sodass er immer sichtbar ist.
$NULL
Enthlt den Wert NULL oder einen leeren Wert. Mit dieser
Variablen knnen Sie NULL in Befehlen und Skripts darstellen,
sodass Sie nicht die Zeichenfolge "NULL" verwenden mssen. Die
Zeichenfolge kann als TRUE interpretiert werden, wenn sie in
eine nicht leere Zeichenfolge oder eine ganze Zahl ungleich 0
konvertiert wurde.
$PID
Enthlt die Prozess-ID (PID) des Prozesses, der die aktuelle
Windows PowerShell-Sitzung hostet.

$Profile
Enthlt den vollstndigen Pfad des Windows PowerShell-Profils
fr den aktuellen Benutzer sowie der aktuellen Hostanwendung.
Mithilfe dieser Variablen knnen Sie das Profil in Befehlen
darstellen. Mit der Variablen knnen Sie beispielsweise in
einem Befehl bestimmen, ob ein Profil erstellt wurde:
test-path $profile
Mit der Variablen knnen Sie in einem Befehl auch ein Profil
erstellen:
new-item -type file -path $pshome -force
Darber hinaus knnen Sie sie in einem Befehl verwenden, um
das Profil in Editor zu ffnen:
notepad $profile
$PSBoundParameters
Enthlt ein Wrterbuch mit den aktiven Parametern und deren
aktuellen Werten. Diese Variable verfgt nur in Bereichen ber
einen Wert, in denen Parameter deklariert sind, z. B. in einem
Skript oder in einer Funktion. Mit der Variablen knnen Sie
die aktuellen Werte von Parametern anzeigen oder ndern sowie
Parameterwerte an ein anderes Skript oder eine andere Funktion
bergeben.
Beispiel:
function test {
param($a, $b)

#Die Parameter werden im Wrterbuchformat angezeigt.
$psboundparameters

# Rufen Sie die Test1-Funktion mit "$a" und "$b" auf.
test1 @psboundparameters
}
$PsCmdlet
Enthlt ein Objekt, das das ausgefhrte Cmdlet bzw. die
ausgefhrte erweiterte Funktion darstellt.
Mithilfe der Eigenschaften und Methoden des Objekts im Cmdlet
oder im Funktionscode knnen Sie auf die Verwendungsbedingungen
reagieren. Die ParameterSetName-Eigenschaft enthlt z. B. den
Namen des verwendeten Parametersatzes, und mit der
ShouldProcess-Methode werden dem Cmdlet der WhatIf-Parameter
und der Confirm-Parameter dynamisch hinzugefgt.
Weitere Informationen zur automatischen Variablen "$PSCmdlet"
finden Sie unter about_Functions_Advanced.
$PsCulture
Enthlt den Namen der Kultur, die derzeit im Betriebssystem
festgelegt ist. Durch die Kultur wird das Anzeigeformat von
Elementen wie Zahlen oder Whrungs- und Datumsangaben
bestimmt. Dies ist der Wert der System.Globalization.CultureInfo.
CurrentCulture.Name-Eigenschaft des Systems. Rufen Sie das
System.Globalization.CultureInfo-Objekt fr das System mit dem
Cmdlet "Get-Culture" ab.
$PSDebugContext
Whrend des Debuggens enthlt diese Variable Informationen zur
Debugumgebung. Andernfalls enthlt sie einen NULL-Wert. Daher
knnen Sie mit der Variablen angeben, ob die Steuerung beim
Debugger liegt. Die aufgefllte Variable enthlt ein
PsDebugContext-Objekt, das ber die Breakpoints-Eigenschaft
und die InvocationInfo-Eigenschaft verfgt. Die InvocationInfo-
Eigenschaft enthlt mehrere hilfreiche Eigenschaften, z. B.
die Location-Eigenschaft. Mit der Location-Eigenschaft wird
der Pfad des debuggten Skripts angegeben.
$PsHome
Enthlt dem vollstndigen Pfad des Installationsverzeichnisses fr
Windows PowerShell, normalerweise "%windir%\System32\WindowsPowerShell
\v1.0". Sie knnen diese Variable in den Pfaden fr Windows
PowerShell-Dateien angeben. Mit dem folgenden Befehl werden z. B. die
konzeptuellen Hilfethemen nach dem Wort "Variable" durchsucht:
select-string -pattern variable -path $pshome\*.txt
$PSScriptRoot
Enthlt das Verzeichnis, aus dem das Skriptmodul ausgefhrt wird.
Diese Variable ermglicht Skripts den Zugriff auf andere
Ressourcen ber den Modulpfad.
$PsUICulture
Enthlt den Namen der Benutzeroberflchenkultur, die derzeit
fr das Betriebssystem festgelegt ist. Die Benutzeroberflchen-
kultur bestimmt, welche Textzeichenfolgen fr Benutzerober-
flchenelemente, z. B. Mens und Meldungen, verwendet werden.
Dies ist der Wert der
System.Globalization.CultureInfo.CurrentUICulture.Name-Eigen-
schaft des Systems. Rufen Sie das System.Globalization.CultureInfo
-Objekt fr das System mit dem Cmdlet "Get-UICulture" ab.
$PsVersionTable
Enthlt eine schreibgeschtzte Hashtabelle, in der Details
zur Windows PowerShell-Version aufgelistet werden, die in der
aktuellen Sitzung ausgefhrt wird.
Die Tabelle enthlt die folgenden Elemente:
CLRVersion: Die Version der Common Language
Runtime (CLR).
BuildVersion: Die Buildnummer der aktuellen Version.
PSVersion: Die Windows PowerShell-Versionsnummer.
WSManStackVersion: Die Versionsnummer des Stapels der
WS-Verwaltung.
PSCompatibleVersions: Windows PowerShell-Version, die mit der
aktuellen Version kompatibel sind.
SerializationVersion: Die Version der Serialisierungsmethode.
PSRemotingProtocolVersion
Die Version des Windows PowerShell-
Remoteverwaltungsprotokolls.
$Pwd
Enthlt ein Pfadobjekt, das den vollstndigen Pfad des
aktuellen Verzeichnisses darstellt.
$Sender
Enthlt das Objekt, von dem dieses Ereignis generiert wurde.
Diese Variable wird nur im Action-Block eines Ereignisregis-
trierungsbefehls aufgefllt. Der Wert dieser Variablen kann
auch in der Sender-Eigenschaft des von Get-Event
zurckgegebenen PSEventArgs-Objekts
(System.Management.Automation.PSEventArgs) vorhanden sein.

$ShellID
Enthlt die ID der aktuellen Shell.
$SourceArgs
Enthlt Objekte, die die Ereignisargumente des zu verarbei-
tenden Ereignisses darstellen. Diese Variable wird nur im
Action-Block eines Ereignisregistrierungsbefehls aufgefllt.
Der Wert dieser Variablen kann auch in der SourceArgs-
Eigenschaft des von Get-Event zurckgegebenen PSEventArgs-
Objekts (System.Management.Automation.PSEventArgs) vorhanden
sein.

$$SourceEventArgs
Enthlt ein Objekt, das das erste Ereignisargument darstellt,
das von EventArgs des zu verarbeitenden Ereignisses abgeleitet
ist. Diese Variable wird nur im Action-Block eines Ereignis-
registrierungsbefehls aufgefllt. Der Wert dieser Variablen
kann auch in der SourceArgs-Eigenschaft des von Get-Event
zurckgegebenen PSEventArgs-Objekts
(System.Management.Automation.PSEventArgs) vorhanden sein.

$This
In einem Skriptblock zum Definieren einer Skripteigenschaft
oder einer Skriptmethode verweist die Variable "$This" auf
das erweiterte Objekt.
$True
Enthlt TRUE. Mithilfe dieser Variablen knnen Sie TRUE in
Befehlen und Skripts darstellen.
SIEHE AUCH
about_Hash_Tables
about_Preference_Variables
about_Variables

Das könnte Ihnen auch gefallen