about_Variable_Provider
Anbietername
Variable
Laufwerke
Variable:
Capabilities
ShouldProcess
Kurze Beschreibung
Bietet Zugriff auf die PowerShell-Variablen und deren Werte.
Detaillierte Beschreibung
Mit dem PowerShell-Variablenanbieter können Sie PowerShell-Variablen in der aktuellen Konsole abrufen, hinzufügen, ändern, löschen und löschen.
Der PowerShell-Variablenanbieter unterstützt die Von PowerShell erstellten Variablen, einschließlich der automatischen Variablen, der Einstellungsvariablen und der von Ihnen erstellten Variablen.
Das Variable-Laufwerk ist ein flacher Namespace, der nur die Variablenobjekte enthält. Die Variablen haben keine untergeordneten Elemente.
Der Variable-Anbieter unterstützt die folgenden Cmdlets, die in diesem Artikel behandelt werden.
PowerShell enthält auch eine Reihe von Cmdlets, die speziell zum Anzeigen und Ändern von Variablen entwickelt wurden. Wenn Sie Variable-Cmdlets verwenden, müssen Sie das Variable:
Laufwerk nicht im Namen angeben. In diesem Artikel wird das Arbeiten mit Variablen-Cmdlets nicht behandelt.
Hinweis
Sie können auch den PowerShell-Ausdrucksparser verwenden, um die Werte von Variablen zu erstellen, anzuzeigen und zu ändern, ohne die Cmdlets zu verwenden. Wenn Sie direkt mit Variablen arbeiten, verwenden Sie ein Dollarzeichen ($
), um den Namen als Variable und den Zuordnungsoperator (=
)zu identifizieren und seinen Wert zu ändern. Erstellt beispielsweise $p = Get-Process
die p
Variable und speichert die Ergebnisse eines Get-Process
Befehls darin.
Typen, die von diesem Anbieter verfügbar gemacht werden
Variablen können einen von mehreren verschiedenen Typen sein. Die meisten Variablen sind Instanzen der PSVariable
Klasse. Weitere Variablen und deren Typen sind unten aufgeführt.
- Die
?
Variable ist eine Instanz derQuestionMarkVariable
Klasse. - Die
null
Variable ist eine Instanz derNullVariable
Klasse. - Die maximal zulässigen Anzahlvariablen sind Instanzen der
SessionStateCapacityVariable
Klasse. LocalVariable
Instanzen enthalten Informationen zur aktuellen Ausführung, z. B.:MyInvocation
PSCommandPath
PSScriptRoot
PSBoundParameters
args
input
Navigieren in den Variablenlaufwerken
Der Variable-Anbieter macht seinen Datenspeicher auf dem Variable:
Laufwerk verfügbar. Um mit Variablen zu arbeiten, können Sie Ihren Speicherort auf das Variable:
Laufwerk ändern (Set-Location Variable:
), oder Sie können von jedem anderen PowerShell-Laufwerk aus arbeiten. Um von einem anderen Speicherort aus auf eine Variable zu verweisen, verwenden Sie den Laufwerknamen (Variable:
) im Pfad.
Set-Location Variable:
Um zu einem Dateisystemlaufwerk zurückzukehren, geben Sie den Namen des Laufwerks ein. Beispiel:
Set-Location C:
Sie können auch mit dem Variablenanbieter von jedem anderen PowerShell-Laufwerk aus arbeiten. Verwenden Sie den Laufwerknamen Variable:
im Pfad, um von einem anderen Speicherort aus auf eine Variable zu verweisen.
Hinweis
PowerShell verwendet Aliase, damit Sie mit Anbieterpfaden vertraut arbeiten können. Befehle wie dir
z. B. aliase ls
für "Get-ChildItemcd
" sind ein Alias für "Set-Location". und pwd
ist ein Alias für "Get-Location".
Anzeigen des Werts von Variablen
Abrufen aller Variablen in der aktuellen Sitzung
Dieser Befehl ruft die Liste aller Variablen und ihre Werte in der aktuellen Sitzung ab. Sie können diesen Befehl von jedem Beliebigen PowerShell-Laufwerk aus verwenden.
Get-ChildItem -Path Variable:
Abrufen einer Variablen mithilfe des Anbieterpfads
Dieser Befehl ruft einen Variablenwert mithilfe seines Anbieterpfads ab, dem das Dollarzeichen ($
) vorangestellt ist. Dies hat dieselbe Auswirkung wie das Präfix des Variablennamens mit dem Dollarzeichen ($
).
$variable:home
Abrufen von Variablen mithilfe von Wildcards
Dieser Befehl ruft die Variablen ab, deren Namen mit "max" beginnen. Sie können diesen Befehl von jedem Beliebigen PowerShell-Laufwerk aus verwenden.
Get-ChildItem -Path Variable:max*
Abrufen des Werts des ? -Variable
Dieser Befehl verwendet den -LiteralPath
Parameter " Get-ChildItem ", um den Wert der ?
Variablen aus dem Variable:
Laufwerk abzurufen. Dies ?
ist ein Wildcard in Pfaden, aber es wird nicht versucht, Get-ChildItem
in den Werten des -LiteralPath
Parameters Wildcards aufzulösen.
Get-ChildItem -Literalpath ?
ReadOnly- und Konstantenvariablen abrufen
Dieser Befehl ruft die Variablen ab, die die Werte oder ReadOnly
Constant
für ihre Options-Eigenschaft aufweisen.
Get-ChildItem -Path Variable: | Where-Object {
$_.options -Match "Constant" `
-or $_.options -Match "ReadOnly"
} | Format-List -Property name, value, options
Variablen erstellen
Erstellen einer neuen Variablen
Dieser Befehl erstellt die services
Variable und speichert die Ergebnisse eines Get-Service
Befehls darin. Da sich die aktuelle Position im Variable:
Laufwerk befindet, ist der Wert des -Path
Parameters ein Punkt (.
), der die aktuelle Position darstellt.
Die Klammern um den Get-Service
Befehl stellen sicher, dass der Befehl ausgeführt wird, bevor die Variable erstellt wird. Ohne die Klammern ist der Wert der neuen Variablen eine "Get-Service"-Zeichenfolge.
New-Item -Path . -Name services -Value (Get-Service)
Erstellen einer Variablen mithilfe eines absoluten Pfads
Dieser Befehl erstellt eine services
Variable und speichert das Ergebnis eines Get-Service
Befehls darin.
New-Item -Path Variable:services -Value Get-Service
Um eine Variable ohne einen Wert zu erstellen, lassen Sie den Zuweisungsoperator aus.
Ändern von Variablen
Eine Variable umbenennen
Dieser Befehl verwendet das Rename-Item
Cmdlet, um den Namen der a
Variablen in processes
.
Rename-Item -Path Variable:a -NewName processes
Ändern des Werts einer Variablen
Dieser Befehl verwendet das Set-Item
Cmdlet, um den Wert der ErrorActionPreference
Variablen in "Stop" zu ändern.
Set-Item -Path Variable:ErrorActionPreference -Value Stop
Kopieren einer Variablen
Dieser Befehl verwendet das Copy-Item
Cmdlet, um die processes
Variable in old_processes
. Dadurch wird eine neue Variable mit old_processes
demselben Wert wie die processes
Variable erstellt.
Copy-Item -Path Variable:processes -Destination Variable:old_processes
Löschen einer Variable
Mit diesem Befehl wird die serv
Variable aus der aktuellen Sitzung gelöscht. Sie können diesen Befehl auf einem beliebigen PowerShell-Laufwerk verwenden.
Remove-Variable -Path Variable:serv
Löschen von Variablen mithilfe des Parameters "-Force"
Mit diesem Befehl werden alle Variablen aus der aktuellen Sitzung gelöscht, mit Ausnahme der Variablen, deren Options-Eigenschaft den Wert Constant
hat. Ohne den -Force
Parameter löscht der Befehl keine Variablen, deren Options-Eigenschaft einen Wert aufweist ReadOnly
.
Remove-Item Variable:* -Force
Festlegen des Werts einer Variablen auf NULL
Dieser Befehl verwendet das Clear-Item
Cmdlet, um den Wert der processes
Variablen in NULL zu ändern.
Clear-Item -Path Variable:processes
Verwenden der Pipeline
Anbieter-Cmdlets akzeptieren Pipelineeingaben. Sie können die Aufgabe mithilfe der Pipeline vereinfachen, indem Sie Anbieterdaten von einem Cmdlet an ein anderes Anbieter-Cmdlet senden. Weitere Informationen zur Verwendung der Pipeline mit Anbieter-Cmdlets finden Sie in den Cmdlet-Referenzen in diesem Artikel.
Hilfe
Ab Windows PowerShell 3.0 können Sie benutzerdefinierte Hilfethemen für Anbieter-Cmdlets abrufen, die erläutern, wie sich diese Cmdlets in einem Dateisystemlaufwerk verhalten.
Um die Hilfethemen abzurufen, die für das Dateisystemlaufwerk angepasst sind, führen Sie einen Get-Help-Befehl auf einem Dateisystemlaufwerk aus, oder verwenden Sie den -Path
Parameter " Get-Help ", um ein Dateisystemlaufwerk anzugeben.
Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path variable: