Freigeben über


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

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

Siehe auch