about_Variable_Provider
Anbietername
Variable
Laufwerke
Variable:
Funktionen
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 Variablenlaufwerk ist ein flacher Namespace, der nur die Variablenobjekte enthält. Die Variablen haben keine untergeordneten Elemente.
Der Variablenanbieter 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 Variablen-Cmdlets verwenden, müssen Sie das Variable:
Laufwerk nicht im Namen angeben. In diesem Artikel wird die Arbeit 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 zu identifizieren, und den Zuweisungsoperator (=
), um den Wert festzulegen und 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 einer 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 instance derQuestionMarkVariable
-Klasse. - Die
null
Variable ist eine instance derNullVariable
-Klasse. - Die Variablen für die maximale Anzahl sind Instanzen der
SessionStateCapacityVariable
-Klasse. LocalVariable
-Instanzen enthalten Informationen zur aktuellen Ausführung, z. B.:MyInvocation
PSCommandPath
PSScriptRoot
PSBoundParameters
args
input
Navigieren zu den Variablenlaufwerken
Der Variablenanbieter macht seinen Datenspeicher auf dem Variable:
Laufwerk verfügbar. Um mit Variablen zu arbeiten, können Sie Ihren Speicherort in das Variable:
Laufwerk (Set-Location Variable:
) ändern oder von einem beliebigen anderen PowerShell-Laufwerk aus arbeiten. Verwenden Sie den Laufwerksnamen (Variable:
) im Pfad, um auf eine Variable von einem anderen Speicherort zu verweisen.
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. Um auf eine Variable von einem anderen Speicherort zu verweisen, verwenden Sie den Namen des Laufwerks Variable:
im Pfad.
Hinweis
PowerShell verwendet Aliase, um Ihnen eine vertraute Methode zum Arbeiten mit Anbieterpfaden zu ermöglichen. Befehle wie dir
und ls
sind jetzt Aliase für Get-ChildItem, cd
ist 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 des Anbieterpfads ab, dem das Dollarzeichen ($
) vorangestellt ist. Dies hat die gleiche Auswirkung wie das Voranschreiben 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 von ? -Variable
Dieser Befehl verwendet den -LiteralPath
Parameter von Get-ChildItem , um den Wert der ?
Variablen aus dem Variable:
Laufwerk abzurufen. ist ?
ein Wildcard in Pfaden, versucht jedoch Get-ChildItem
nicht, In den Werten des -LiteralPath
Parameters Dies zu lösen.
Get-ChildItem -Literalpath ?
Abrufen von readOnly- und Constant-Variablen
Dieser Befehl ruft die Variablen ab, die die Werte von ReadOnly
oder 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
Erstellen von Variablen
Create 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 wäre der Wert der neuen Variablen die Zeichenfolge "Get-Service".
New-Item -Path . -Name services -Value (Get-Service)
Create 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
Umbenennen einer Variablen
Dieser Befehl verwendet das Rename-Item
Cmdlet, um den Namen der a
Variablen in zu processes
ändern.
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 zu old_processes
kopieren. Dadurch wird eine neue Variable namens old_processes
erstellt, die denselben Wert wie die processes
Variable aufweist.
Copy-Item -Path Variable:processes -Destination Variable:old_processes
Löschen einer Variable
Dieser Befehl löscht die serv
Variable aus der aktuellen Sitzung. Sie können diesen Befehl auf einem beliebigen PowerShell-Laufwerk verwenden.
Remove-Variable -Path Variable:serv
Löschen von Variablen mithilfe des Parameters "-Force"
Dieser Befehl löscht alle Variablen aus der aktuellen Sitzung mit Ausnahme der Variablen, deren Options-Eigenschaft den Wert aufweist Constant
. Ohne den -Force
-Parameter löscht der Befehl keine Variablen, deren Options-Eigenschaft den Wert hat 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 Pipeline verwenden, um die Aufgabe zu 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-Verweisen 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 in einem Dateisystemlaufwerk aus, oder verwenden Sie den -Path
Parameter von Get-Help , um ein Dateisystemlaufwerk anzugeben.
Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path variable: