Beschreibt Variablen, von denen Zustandsinformationen für Windows (about_Automatic_Variables)
# THEMA
about_automatic_variables
# KURZBESCHREIBUNG
Beschreibt Variablen, von denen Zustandsinformationen für 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 aufgeführt:
$$
Enthält das letzte Token in der letzten Zeile, die von der
Sitzung empfangen wurde.
$?
Enthält den Ausführungsstatus des letzten Vorgangs. Enthält
TRUE, wenn der letzte Vorgang erfolgreich war; FALSE, wenn
beim letzten Vorgang ein Fehler aufgetreten ist.
$^
Enthält das erste Token in der letzten Zeile, die von der
Sitzung empfangen wurde.
$_
Enthält das aktuelle Objekt im Pipelineobjekt. Diese Variable
kann in Befehlen verwendet werden, mit denen eine Aktion für
alle Objekte oder für ausgewählte Objekte in einer Pipeline
ausgeführt wird.
$Args
Enthält 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 können Sie die Parameter mit dem
Schlüsselwort "param" deklarieren, oder indem Sie eine durch
Trennzeichen getrennte Liste von Parametern in Klammern nach
dem Funktionsnamen hinzufügen.
$ConsoleFileName
Enthält den Pfad der Konsolendatei (.psc1), die in der Sitzung
zuletzt verwendet wurde. Diese Variable wird aufgefüllt, 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 können Sie bestimmen, welche Datei aktualisiert wird.
$Error
Enthält ein Array von Fehlerobjekten, die die zuletzt
aufgetretenen Fehler darstellen. Der letzte aufgetretene
Fehler stellt das erste Fehlerobjekt im Array ("$Error[0]") dar.
$Event
Enthält ein PSEventArgs-Objekt, das das zu verarbeitende Ereig-
nis darstellt. Diese Variable wird nur im Action-Block eines
Ereignisregistrierungsbefehls, z. B. "Register-ObjectEvent",
aufgefüllt. Der Wert der Variablen ist mit dem Objekt iden-
tisch, das vom Cmdlet "Get-Event" zurückgegeben wird. Daher
können Sie die Eigenschaften der Variablen "$Event",
z. B. $Event.TimeGenerated, in einem Action-Scriptblock
verwenden.
$EventSubscriber
Enthält ein PSEventSubscriber-Objekt, das den Ereignis-
abonnenten des zu verarbeitenden Ereignisses darstellt.Diese
Variable wird nur im Action-Block eines Ereignisregistrierungs-
befehls aufgefüllt. Der Wert der Variablen ist mit dem Objekt
identisch, das vom Cmdlet "Get-EventSubscriber" zurückgegeben
wird.
$ExecutionContext
Enthält ein EngineIntrinsics-Objekt, das den Ausführungskontext des
Windows PowerShell-Hosts darstellt. Mithilfe dieser Variablen können
Sie die Ausführungsobjekte suchen, die für Cmdlets verfügbar sind.
$False
Enthält FALSE. Mit dieser Variablen können Sie FALSE in
Befehlen und Skripts darstellen, sodass Sie nicht die Zeichenfolge
"false" verwenden müssen. Die Zeichenfolge kann als TRUE
interpretiert werden, wenn sie in eine nicht leere Zeichenfolge oder
eine ganze Zahl ungleich 0 konvertiert wurde.
$ForEach
Enthält den Enumerator einer ForEach-Object-Schleife. Sie
können die Eigenschaften und die Methoden von Enumeratoren für
den Wert der $ForEach-Variablen verwenden. Diese Variable ist
nur während der Ausführung der For-Schleife vorhanden. Bei
Abschluss der Schleife wird sie gelöscht.
$Home
Enthält den vollständigen Pfad zum Stammverzeichnis des
Benutzers. Diese Variable ist die Entsprechung der
%homedrive%%homepath%-Umgebungsvariablen, normalerweise
"C:\Dokumente und Einstellungen\<Benutzer>".
$Host
Enthält ein Objekt, das die aktuelle Hostanwendung für Windows
PowerShell darstellt. Mit dieser Variablen können 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
Skriptblöcken verfügbar. (Skriptblöcke sind im Wesentlichen
unbenannte Funktionen.) Im Process-Block einer Funktion
enthält 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
verfügt, ist der Wert von "$Input" für den abschließenden Block
verfügbar, und er enthält die gesamte Eingabe für die Funktion.
$LastExitCode
Enthält den Exitcode des zuletzt ausgeführten 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 zurückgegeben, und die automatische
Variable "$Matches" wird mit einer Hashtabelle der gefundenen
Zeichenfolgenwerte aufgefüllt. Weitere Informationen zum
Operator -match finden Sie unter about_comparison_operators.
$MyInvocation
Enthält 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), können Sie den
aktuellen Befehl bestimmen. Dies ist besonders hilfreich beim Suchen
des Namens des derzeit ausgeführten Skripts.
$NestedPromptLevel
Enthält die aktuelle Ebene der Eingabeaufforderung. Mit dem
Wert 0 wird die ursprüngliche 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 Ausführung des aktuellen Befehls von Windows PowerShell
unterbrochen, der Ausführungskontext wird gespeichert und der
Wert der Variablen "$NestedPromptLevel" wird inkrementiert.
Wenn Sie weitere geschachtelte Eingabeaufforderungen (mit bis
zu 128 Ebenen) erstellen oder zur ursprünglichen
Eingabeaufforderung zurückkehren möchten, schließen Sie die
Ausführung des Befehls ab, oder geben Sie "exit" ein.
Anhand der Variablen "$NestedPromptLevel" können Sie die Ebene der
Eingabeaufforderung verfolgen. Sie können eine alternative Windows
PowerShell-Eingabeaufforderung erstellen, die diesen Wert enthält,
sodass er immer sichtbar ist.
$NULL
Enthält den Wert NULL oder einen leeren Wert. Mit dieser
Variablen können Sie NULL in Befehlen und Skripts darstellen,
sodass Sie nicht die Zeichenfolge "NULL" verwenden müssen. Die
Zeichenfolge kann als TRUE interpretiert werden, wenn sie in
eine nicht leere Zeichenfolge oder eine ganze Zahl ungleich 0
konvertiert wurde.
$PID
Enthält die Prozess-ID (PID) des Prozesses, der die aktuelle
Windows PowerShell-Sitzung hostet.
$Profile
Enthält den vollständigen Pfad des Windows PowerShell-Profils
für den aktuellen Benutzer sowie der aktuellen Hostanwendung.
Mithilfe dieser Variablen können Sie das Profil in Befehlen
darstellen. Mit der Variablen können Sie beispielsweise in
einem Befehl bestimmen, ob ein Profil erstellt wurde:
test-path $profile
Mit der Variablen können Sie in einem Befehl auch ein Profil
erstellen:
new-item -type file -path $pshome -force
Darüber hinaus können Sie sie in einem Befehl verwenden, um
das Profil in Editor zu öffnen:
notepad $profile
$PSBoundParameters
Enthält ein Wörterbuch mit den aktiven Parametern und deren
aktuellen Werten. Diese Variable verfügt nur in Bereichen über
einen Wert, in denen Parameter deklariert sind, z. B. in einem
Skript oder in einer Funktion. Mit der Variablen können 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 Wörterbuchformat angezeigt.
$psboundparameters
# Rufen Sie die Test1-Funktion mit "$a" und "$b" auf.
test1 @psboundparameters
}
$PsCmdlet
Enthält ein Objekt, das das ausgeführte Cmdlet bzw. die
ausgeführte erweiterte Funktion darstellt.
Mithilfe der Eigenschaften und Methoden des Objekts im Cmdlet
oder im Funktionscode können Sie auf die Verwendungsbedingungen
reagieren. Die ParameterSetName-Eigenschaft enthält z. B. den
Namen des verwendeten Parametersatzes, und mit der
ShouldProcess-Methode werden dem Cmdlet der WhatIf-Parameter
und der Confirm-Parameter dynamisch hinzugefügt.
Weitere Informationen zur automatischen Variablen "$PSCmdlet"
finden Sie unter about_Functions_Advanced.
$PsCulture
Enthält den Namen der Kultur, die derzeit im Betriebssystem
festgelegt ist. Durch die Kultur wird das Anzeigeformat von
Elementen wie Zahlen oder Währungs- und Datumsangaben
bestimmt. Dies ist der Wert der System.Globalization.CultureInfo.
CurrentCulture.Name-Eigenschaft des Systems. Rufen Sie das
System.Globalization.CultureInfo-Objekt für das System mit dem
Cmdlet "Get-Culture" ab.
$PSDebugContext
Während des Debuggens enthält diese Variable Informationen zur
Debugumgebung. Andernfalls enthält sie einen NULL-Wert. Daher
können Sie mit der Variablen angeben, ob die Steuerung beim
Debugger liegt. Die aufgefüllte Variable enthält ein
PsDebugContext-Objekt, das über die Breakpoints-Eigenschaft
und die InvocationInfo-Eigenschaft verfügt. Die InvocationInfo-
Eigenschaft enthält mehrere hilfreiche Eigenschaften, z. B.
die Location-Eigenschaft. Mit der Location-Eigenschaft wird
der Pfad des debuggten Skripts angegeben.
$PsHome
Enthält dem vollständigen Pfad des Installationsverzeichnisses für
Windows PowerShell, normalerweise "%windir%\System32\WindowsPowerShell
\v1.0". Sie können diese Variable in den Pfaden für 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
Enthält das Verzeichnis, aus dem das Skriptmodul ausgeführt wird.
Diese Variable ermöglicht Skripts den Zugriff auf andere
Ressourcen über den Modulpfad.
$PsUICulture
Enthält den Namen der Benutzeroberflächenkultur, die derzeit
für das Betriebssystem festgelegt ist. Die Benutzeroberflächen-
kultur bestimmt, welche Textzeichenfolgen für Benutzerober-
flächenelemente, z. B. Menüs 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 für das System mit dem Cmdlet "Get-UICulture" ab.
$PsVersionTable
Enthält eine schreibgeschützte Hashtabelle, in der Details
zur Windows PowerShell-Version aufgelistet werden, die in der
aktuellen Sitzung ausgeführt wird.
Die Tabelle enthält 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
Enthält ein Pfadobjekt, das den vollständigen Pfad des
aktuellen Verzeichnisses darstellt.
$Sender
Enthält das Objekt, von dem dieses Ereignis generiert wurde.
Diese Variable wird nur im Action-Block eines Ereignisregis-
trierungsbefehls aufgefüllt. Der Wert dieser Variablen kann
auch in der Sender-Eigenschaft des von Get-Event
zurückgegebenen PSEventArgs-Objekts
(System.Management.Automation.PSEventArgs) vorhanden sein.
$ShellID
Enthält die ID der aktuellen Shell.
$SourceArgs
Enthält Objekte, die die Ereignisargumente des zu verarbei-
tenden Ereignisses darstellen. Diese Variable wird nur im
Action-Block eines Ereignisregistrierungsbefehls aufgefüllt.
Der Wert dieser Variablen kann auch in der SourceArgs-
Eigenschaft des von Get-Event zurückgegebenen PSEventArgs-
Objekts (System.Management.Automation.PSEventArgs) vorhanden
sein.
$$SourceEventArgs
Enthält 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 aufgefüllt. Der Wert dieser Variablen
kann auch in der SourceArgs-Eigenschaft des von Get-Event
zurückgegebenen 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
Enthält TRUE. Mithilfe dieser Variablen können Sie TRUE in
Befehlen und Skripts darstellen.
SIEHE AUCH
about_Hash_Tables
about_Preference_Variables
about_Variables
C:\Windows>powershell get-help about_Break -full
ColorConsole [Version 1.7.1000] PowerShell 2.0-Export
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2014 Microsoft Corporation.
about_automatic_variables
# KURZBESCHREIBUNG
Beschreibt Variablen, von denen Zustandsinformationen für 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 aufgeführt:
$$
Enthält das letzte Token in der letzten Zeile, die von der
Sitzung empfangen wurde.
$?
Enthält den Ausführungsstatus des letzten Vorgangs. Enthält
TRUE, wenn der letzte Vorgang erfolgreich war; FALSE, wenn
beim letzten Vorgang ein Fehler aufgetreten ist.
$^
Enthält das erste Token in der letzten Zeile, die von der
Sitzung empfangen wurde.
$_
Enthält das aktuelle Objekt im Pipelineobjekt. Diese Variable
kann in Befehlen verwendet werden, mit denen eine Aktion für
alle Objekte oder für ausgewählte Objekte in einer Pipeline
ausgeführt wird.
$Args
Enthält 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 können Sie die Parameter mit dem
Schlüsselwort "param" deklarieren, oder indem Sie eine durch
Trennzeichen getrennte Liste von Parametern in Klammern nach
dem Funktionsnamen hinzufügen.
$ConsoleFileName
Enthält den Pfad der Konsolendatei (.psc1), die in der Sitzung
zuletzt verwendet wurde. Diese Variable wird aufgefüllt, 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 können Sie bestimmen, welche Datei aktualisiert wird.
$Error
Enthält ein Array von Fehlerobjekten, die die zuletzt
aufgetretenen Fehler darstellen. Der letzte aufgetretene
Fehler stellt das erste Fehlerobjekt im Array ("$Error[0]") dar.
$Event
Enthält ein PSEventArgs-Objekt, das das zu verarbeitende Ereig-
nis darstellt. Diese Variable wird nur im Action-Block eines
Ereignisregistrierungsbefehls, z. B. "Register-ObjectEvent",
aufgefüllt. Der Wert der Variablen ist mit dem Objekt iden-
tisch, das vom Cmdlet "Get-Event" zurückgegeben wird. Daher
können Sie die Eigenschaften der Variablen "$Event",
z. B. $Event.TimeGenerated, in einem Action-Scriptblock
verwenden.
$EventSubscriber
Enthält ein PSEventSubscriber-Objekt, das den Ereignis-
abonnenten des zu verarbeitenden Ereignisses darstellt.Diese
Variable wird nur im Action-Block eines Ereignisregistrierungs-
befehls aufgefüllt. Der Wert der Variablen ist mit dem Objekt
identisch, das vom Cmdlet "Get-EventSubscriber" zurückgegeben
wird.
$ExecutionContext
Enthält ein EngineIntrinsics-Objekt, das den Ausführungskontext des
Windows PowerShell-Hosts darstellt. Mithilfe dieser Variablen können
Sie die Ausführungsobjekte suchen, die für Cmdlets verfügbar sind.
$False
Enthält FALSE. Mit dieser Variablen können Sie FALSE in
Befehlen und Skripts darstellen, sodass Sie nicht die Zeichenfolge
"false" verwenden müssen. Die Zeichenfolge kann als TRUE
interpretiert werden, wenn sie in eine nicht leere Zeichenfolge oder
eine ganze Zahl ungleich 0 konvertiert wurde.
$ForEach
Enthält den Enumerator einer ForEach-Object-Schleife. Sie
können die Eigenschaften und die Methoden von Enumeratoren für
den Wert der $ForEach-Variablen verwenden. Diese Variable ist
nur während der Ausführung der For-Schleife vorhanden. Bei
Abschluss der Schleife wird sie gelöscht.
$Home
Enthält den vollständigen Pfad zum Stammverzeichnis des
Benutzers. Diese Variable ist die Entsprechung der
%homedrive%%homepath%-Umgebungsvariablen, normalerweise
"C:\Dokumente und Einstellungen\<Benutzer>".
$Host
Enthält ein Objekt, das die aktuelle Hostanwendung für Windows
PowerShell darstellt. Mit dieser Variablen können 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
Skriptblöcken verfügbar. (Skriptblöcke sind im Wesentlichen
unbenannte Funktionen.) Im Process-Block einer Funktion
enthält 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
verfügt, ist der Wert von "$Input" für den abschließenden Block
verfügbar, und er enthält die gesamte Eingabe für die Funktion.
$LastExitCode
Enthält den Exitcode des zuletzt ausgeführten 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 zurückgegeben, und die automatische
Variable "$Matches" wird mit einer Hashtabelle der gefundenen
Zeichenfolgenwerte aufgefüllt. Weitere Informationen zum
Operator -match finden Sie unter about_comparison_operators.
$MyInvocation
Enthält 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), können Sie den
aktuellen Befehl bestimmen. Dies ist besonders hilfreich beim Suchen
des Namens des derzeit ausgeführten Skripts.
$NestedPromptLevel
Enthält die aktuelle Ebene der Eingabeaufforderung. Mit dem
Wert 0 wird die ursprüngliche 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 Ausführung des aktuellen Befehls von Windows PowerShell
unterbrochen, der Ausführungskontext wird gespeichert und der
Wert der Variablen "$NestedPromptLevel" wird inkrementiert.
Wenn Sie weitere geschachtelte Eingabeaufforderungen (mit bis
zu 128 Ebenen) erstellen oder zur ursprünglichen
Eingabeaufforderung zurückkehren möchten, schließen Sie die
Ausführung des Befehls ab, oder geben Sie "exit" ein.
Anhand der Variablen "$NestedPromptLevel" können Sie die Ebene der
Eingabeaufforderung verfolgen. Sie können eine alternative Windows
PowerShell-Eingabeaufforderung erstellen, die diesen Wert enthält,
sodass er immer sichtbar ist.
$NULL
Enthält den Wert NULL oder einen leeren Wert. Mit dieser
Variablen können Sie NULL in Befehlen und Skripts darstellen,
sodass Sie nicht die Zeichenfolge "NULL" verwenden müssen. Die
Zeichenfolge kann als TRUE interpretiert werden, wenn sie in
eine nicht leere Zeichenfolge oder eine ganze Zahl ungleich 0
konvertiert wurde.
$PID
Enthält die Prozess-ID (PID) des Prozesses, der die aktuelle
Windows PowerShell-Sitzung hostet.
$Profile
Enthält den vollständigen Pfad des Windows PowerShell-Profils
für den aktuellen Benutzer sowie der aktuellen Hostanwendung.
Mithilfe dieser Variablen können Sie das Profil in Befehlen
darstellen. Mit der Variablen können Sie beispielsweise in
einem Befehl bestimmen, ob ein Profil erstellt wurde:
test-path $profile
Mit der Variablen können Sie in einem Befehl auch ein Profil
erstellen:
new-item -type file -path $pshome -force
Darüber hinaus können Sie sie in einem Befehl verwenden, um
das Profil in Editor zu öffnen:
notepad $profile
$PSBoundParameters
Enthält ein Wörterbuch mit den aktiven Parametern und deren
aktuellen Werten. Diese Variable verfügt nur in Bereichen über
einen Wert, in denen Parameter deklariert sind, z. B. in einem
Skript oder in einer Funktion. Mit der Variablen können 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 Wörterbuchformat angezeigt.
$psboundparameters
# Rufen Sie die Test1-Funktion mit "$a" und "$b" auf.
test1 @psboundparameters
}
$PsCmdlet
Enthält ein Objekt, das das ausgeführte Cmdlet bzw. die
ausgeführte erweiterte Funktion darstellt.
Mithilfe der Eigenschaften und Methoden des Objekts im Cmdlet
oder im Funktionscode können Sie auf die Verwendungsbedingungen
reagieren. Die ParameterSetName-Eigenschaft enthält z. B. den
Namen des verwendeten Parametersatzes, und mit der
ShouldProcess-Methode werden dem Cmdlet der WhatIf-Parameter
und der Confirm-Parameter dynamisch hinzugefügt.
Weitere Informationen zur automatischen Variablen "$PSCmdlet"
finden Sie unter about_Functions_Advanced.
$PsCulture
Enthält den Namen der Kultur, die derzeit im Betriebssystem
festgelegt ist. Durch die Kultur wird das Anzeigeformat von
Elementen wie Zahlen oder Währungs- und Datumsangaben
bestimmt. Dies ist der Wert der System.Globalization.CultureInfo.
CurrentCulture.Name-Eigenschaft des Systems. Rufen Sie das
System.Globalization.CultureInfo-Objekt für das System mit dem
Cmdlet "Get-Culture" ab.
$PSDebugContext
Während des Debuggens enthält diese Variable Informationen zur
Debugumgebung. Andernfalls enthält sie einen NULL-Wert. Daher
können Sie mit der Variablen angeben, ob die Steuerung beim
Debugger liegt. Die aufgefüllte Variable enthält ein
PsDebugContext-Objekt, das über die Breakpoints-Eigenschaft
und die InvocationInfo-Eigenschaft verfügt. Die InvocationInfo-
Eigenschaft enthält mehrere hilfreiche Eigenschaften, z. B.
die Location-Eigenschaft. Mit der Location-Eigenschaft wird
der Pfad des debuggten Skripts angegeben.
$PsHome
Enthält dem vollständigen Pfad des Installationsverzeichnisses für
Windows PowerShell, normalerweise "%windir%\System32\WindowsPowerShell
\v1.0". Sie können diese Variable in den Pfaden für 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
Enthält das Verzeichnis, aus dem das Skriptmodul ausgeführt wird.
Diese Variable ermöglicht Skripts den Zugriff auf andere
Ressourcen über den Modulpfad.
$PsUICulture
Enthält den Namen der Benutzeroberflächenkultur, die derzeit
für das Betriebssystem festgelegt ist. Die Benutzeroberflächen-
kultur bestimmt, welche Textzeichenfolgen für Benutzerober-
flächenelemente, z. B. Menüs 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 für das System mit dem Cmdlet "Get-UICulture" ab.
$PsVersionTable
Enthält eine schreibgeschützte Hashtabelle, in der Details
zur Windows PowerShell-Version aufgelistet werden, die in der
aktuellen Sitzung ausgeführt wird.
Die Tabelle enthält 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
Enthält ein Pfadobjekt, das den vollständigen Pfad des
aktuellen Verzeichnisses darstellt.
$Sender
Enthält das Objekt, von dem dieses Ereignis generiert wurde.
Diese Variable wird nur im Action-Block eines Ereignisregis-
trierungsbefehls aufgefüllt. Der Wert dieser Variablen kann
auch in der Sender-Eigenschaft des von Get-Event
zurückgegebenen PSEventArgs-Objekts
(System.Management.Automation.PSEventArgs) vorhanden sein.
$ShellID
Enthält die ID der aktuellen Shell.
$SourceArgs
Enthält Objekte, die die Ereignisargumente des zu verarbei-
tenden Ereignisses darstellen. Diese Variable wird nur im
Action-Block eines Ereignisregistrierungsbefehls aufgefüllt.
Der Wert dieser Variablen kann auch in der SourceArgs-
Eigenschaft des von Get-Event zurückgegebenen PSEventArgs-
Objekts (System.Management.Automation.PSEventArgs) vorhanden
sein.
$$SourceEventArgs
Enthält 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 aufgefüllt. Der Wert dieser Variablen
kann auch in der SourceArgs-Eigenschaft des von Get-Event
zurückgegebenen 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
Enthält TRUE. Mithilfe dieser Variablen können Sie TRUE in
Befehlen und Skripts darstellen.
SIEHE AUCH
about_Hash_Tables
about_Preference_Variables
about_Variables
C:\Windows>powershell get-help about_Break -full
ColorConsole [Version 1.7.1000] PowerShell 2.0-Export
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2014 Microsoft Corporation.