Freigeben über


about_Variable_Provider

Anbietername

Variable

Antriebe

Variable:

Fähigkeiten

ShouldProcess

Kurzbeschreibung

Bietet Zugriff auf die PowerShell-Variablen und deren Werte.

Detaillierte Beschreibung

Mit dem PowerShell-Variable-Anbieter können Sie PowerShell-Variablen in der aktuellen Konsole abrufen, hinzufügen, ändern, deaktivieren und löschen.

Der PowerShell-Variable-Anbieter unterstützt die Variablen, die PowerShell erstellt, einschließlich der automatischen Variablen, der Einstellungsvariablen und der variablen, die Sie erstellen.

Beim Laufwerk Variable handelt es sich um einen flachen 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 Laufwerk Variable: nicht im Namen angeben. In diesem Artikel wird der Umgang mit Variable-Cmdlets nicht behandelt.

Anmerkung

Sie können auch den PowerShell-Ausdrucksparser verwenden, um die Werte von Variablen zu erstellen, anzuzeigen und zu ändern, ohne die Cmdlets zu verwenden. Verwenden Sie beim direkten Arbeiten mit Variablen ein Dollarzeichen ($), um den Namen als Variable und den Zuordnungsoperator (=) zu identifizieren und seinen Wert zu ändern. Beispielsweise erstellt $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 der QuestionMarkVariable Klasse.
  • Die null Variable ist eine Instanz der NullVariable Klasse.
  • Die Variablen der maximalen Anzahl sind Instanzen der SessionStateCapacityVariable-Klasse.
  • LocalVariable Instanzen enthalten Informationen zur aktuellen Ausführung, z. B.:
    • MyInvocation
    • PSCommandPath
    • PSScriptRoot
    • PSBoundParameters
    • args
    • input

Der Variable Anbieter macht seinen Datenspeicher auf dem Laufwerk Variable: verfügbar. Um mit Variablen zu arbeiten, können Sie Ihren Speicherort auf das Variable: Laufwerk (Set-Location Variable:) ändern oder 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 Laufwerknamen ein. Geben Sie beispielsweise Folgendes ein:

Set-Location C:

Außerdem können Sie auf den Variable-Anbieter von jedem anderen PowerShell-Laufwerk aus zugreifen und mit ihm arbeiten. Um von einem anderen Speicherort aus auf eine Variable zu verweisen, verwenden Sie den Laufwerknamen Variable: im Pfad.

Anmerkung

PowerShell verwendet Aliase, um auf vertraute Weise mit Anbieterpfaden zu arbeiten. 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 deren 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 ihres Anbieterpfads

Dieser Befehl ruft einen Variablenwert mithilfe des Anbieterpfads ab, dem ein Dollarzeichen ($) vorangestellt ist. Dies hat dieselbe Auswirkung, als würde man dem Variablennamen das Dollarzeichen ($) voranstellen.

$Variable:HOME

Abrufen von Variablen mithilfe von Wildcards

Dieser Befehl ruft die Variablen mit Namen ab, die mit "Max" beginnen. Sie können diesen Befehl von jedem Beliebigen PowerShell-Laufwerk aus verwenden.

Get-ChildItem -Path Variable:Max*

Abrufen des Werts der ? -Variable

Dieser Befehl verwendet den -LiteralPath-Parameter von Get-ChildItem-, um den Wert der ? Variablen innerhalb des Variable: Laufwerks abzurufen. Das ? ist ein Platzhalter in Pfaden. Get-ChildItem versucht jedoch nicht, Platzhalter in den Werten des -LiteralPath-Parameters aufzulö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

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

Wenn Sie eine Variable ohne Einen Wert erstellen möchten, lassen Sie den Zuordnungsoperator weg.

Ändern von Variablen

Umbenennen einer Variablen

Dieser Befehl verwendet das Cmdlet Rename-Item, um den Namen der variablen a in processeszu ändern.

Rename-Item -Path Variable:a -NewName processes

Ändern des Werts einer Variablen

Dieser Befehl verwendet das Cmdlet Set-Item, um den Wert der ErrorActionPreference Variablen in "Stop" zu ändern.

Set-Item -Path Variable:ErrorActionPreference -Value Stop

Kopieren einer Variablen

Dieser Befehl verwendet das Cmdlet Copy-Item, um die variable processes in old_processeszu 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

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 -Force-Parameters

Mit diesem Befehl werden alle Variablen aus der aktuellen Sitzung gelöscht, mit Ausnahme der Variablen, deren Options-Eigenschaft einen Wert von Constanthat. Ohne den -Force-Parameter löscht der Befehl keine Variablen, deren Options-Eigenschaft den Wert ReadOnlyhat.

Remove-Item Variable:* -Force

Festlegen des Werts einer Variablen auf NULL

Dieser Befehl verwendet das Cmdlet Clear-Item, um den Wert der variablen processes in NULL zu ändern.

Clear-Item -Path Variable:processes

Verwenden der Pipeline

Cmdlets von Anbietern 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 erhalten

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 Befehl "Get-Help" auf 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:

Siehe auch