Freigeben über


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 der QuestionMarkVariable -Klasse.
  • Die null Variable ist eine instance der NullVariable -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

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_processeskopieren. 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:

Weitere Informationen