Dela via


about_Variable_Provider

Providernamn

Variabel

Drives

Variable:

Capabilities

BörBearbetas

Kort beskrivning

Ger åtkomst till PowerShell-variablerna och deras värden.

Detaljerad beskrivning

Med PowerShell Variable-providern kan du hämta, lägga till, ändra, rensa och ta bort PowerShell-variabler i den aktuella konsolen.

PowerShell Variable-providern stöder de variabler som PowerShell skapar, inklusive automatiska variabler, inställningsvariabler och variabler som du skapar.

Enheten Variable är ett platt namnområde som endast innehåller variabelobjekten. Variablerna har inga underordnade objekt.

Providern Variable stöder följande cmdletar som beskrivs i den här artikeln.

PowerShell innehåller också en uppsättning cmdletar som är särskilt utformade för att visa och ändra variabler. När du använder cmdletarna Variable behöver du inte ange den Variable: enheten i namnet. Den här artikeln handlar inte om hur du arbetar med cmdletar för Variable.

Notis

Du kan också använda PowerShell-uttrycksparsern för att skapa, visa och ändra värdena för variabler utan att använda cmdletarna. När du arbetar med variabler direkt använder du ett dollartecken ($) för att identifiera namnet som en variabel och tilldelningsoperatorn (=)för att upprätta och ändra dess värde. Till exempel skapar $p = Get-Process variabeln p och lagrar resultatet av ett Get-Process kommando i den.

Typer som exponeras av den här providern

Variabler kan vara en av flera olika typer. De flesta variabler är instanser av klassen PSVariable. Andra variabler och deras typer visas nedan.

  • Variabeln ? är en instans av klassen QuestionMarkVariable.
  • Variabeln null är en instans av klassen NullVariable.
  • Variablerna för maximalt antal är instanser av klassen SessionStateCapacityVariable.
  • LocalVariable instanser innehåller information för aktuell körning, till exempel:
    • MyInvocation
    • PSCommandPath
    • PSScriptRoot
    • PSBoundParameters
    • args
    • input

Providern Variable exponerar sitt datalager på drivenheten Variable:. Om du vill arbeta med variabler kan du ändra din plats till Variable:-enheten (Set-Location Variable:), eller arbeta från någon annan PowerShell-enhet. Om du vill referera till en variabel från en annan plats använder du enhetsnamnet (Variable:) i sökvägen.

Set-Location Variable:

Om du vill återgå till en filsystemenhet skriver du enhetsnamnet. Skriv till exempel:

Set-Location C:

Du kan också arbeta med providern för Variable från vilken annan PowerShell-enhet som helst. Om du vill referera till en variabel från en annan plats använder du enhetsnamnet Variable: i sökvägen.

Notis

PowerShell använder alias för att ge dig ett välbekant sätt att arbeta med providersökvägar. Kommandon som dir och ls är nu alias för Get-ChildItem, cd är ett alias för Set-Location. och pwd är ett alias för Get-Location.

Visa värdet för variabler

Hämta alla variabler i den aktuella sessionen

Det här kommandot hämtar listan över alla variabler och deras värden i den aktuella sessionen. Du kan använda det här kommandot från valfri PowerShell-enhet.

Get-ChildItem -Path Variable:

Hämta en variabel med hjälp av providersökvägen

Det här kommandot hämtar ett variabelvärde med hjälp av dess providersökväg som prefixeras av dollartecknet ($). Detta har samma effekt som prefixet för variabelnamnet med dollartecknet ($).

$Variable:HOME

Hämta variabler med jokertecken

Det här kommandot hämtar variablerna med namn som börjar med "Max". Du kan använda det här kommandot från valfri PowerShell-enhet.

Get-ChildItem -Path Variable:Max*

Hämta värdet för [objekt/ämne] variabel

Det här kommandot använder parametern -LiteralPath i Get-ChildItem för att hämta värdet av variabeln ? från Variable:-enheten. ? är ett jokertecken i sökvägar, men Get-ChildItem försöker inte lösa några jokertecken i värdena av parametern -LiteralPath.

Get-ChildItem -LiteralPath ?

Hämta ReadOnly- och Constant-variabler

Det här kommandot hämtar variablerna som har värdena för ReadOnly eller Constant för deras egenskap Alternativ.

Get-ChildItem -Path Variable: |
    Where-Object {
        $_.Options -match 'Constant' -or
        $_.Options -match 'ReadOnly'
    } |
    Format-List -Property Name, Value, Options

Skapa variabler

Skapa en ny variabel

Det här kommandot skapar variabeln services och lagrar resultatet av ett Get-Service kommando i den. Eftersom den aktuella platsen befinner sig i Variable:-enheten är värdet för parametern -Path en punkt (.), som representerar den aktuella platsen.

Parenteserna runt kommandot Get-Service ser till att kommandot körs innan variabeln skapas. Utan parenteserna är värdet för den nya variabeln en "Get-Service"-sträng.

New-Item -Path . -Name services -Value (Get-Service)

Skapa en variabel med en absolut sökväg

Det här kommandot skapar en services variabel och lagrar resultatet av ett Get-Service kommando i den.

New-Item -Path Variable:services -Value Get-Service

Om du vill skapa en variabel utan ett värde utelämnar du tilldelningsoperatorn.

Ändra variabler

Byt namn på en variabel

Det här kommandot använder cmdleten Rename-Item för att ändra namnet på variabeln a till processes.

Rename-Item -Path Variable:a -NewName processes

Ändra värdet för en variabel

Det här kommandot använder cmdleten Set-Item för att ändra värdet för variabeln ErrorActionPreference till "Stop".

Set-Item -Path Variable:ErrorActionPreference -Value Stop

Kopiera en variabel

Det här kommandot använder cmdleten Copy-Item för att kopiera variabeln processes till old_processes. Då skapas en ny variabel med namnet old_processes som har samma värde som variabeln processes.

Copy-Item -Path Variable:processes -Destination Variable:old_processes

Ta bort en variabel

Det här kommandot tar bort variabeln serv från den aktuella sessionen. Du kan använda det här kommandot på valfri PowerShell-enhet.

Remove-Variable -Path Variable:serv

Ta bort variabler med parametern -Force

Det här kommandot tar bort alla variabler från den aktuella sessionen förutom variabler vars Alternativ egenskapen har värdet Constant. Utan parametern -Force tar kommandot inte bort variabler vars egenskap Alternativ har värdet ReadOnly.

Remove-Item Variable:* -Force

Ange värdet för en variabel till null

Det här kommandot använder cmdleten Clear-Item för att ändra värdet för variabeln processes till NULL.

Clear-Item -Path Variable:processes

Använda pipelinen

Provider-cmdletar accepterar pipelineindata. Du kan använda pipelinen för att förenkla uppgiften genom att skicka providerdata från en cmdlet till en annan provider-cmdlet. Mer information om hur du använder pipelinen med provider-cmdletar finns i cmdlet-referenserna i den här artikeln.

Få hjälp

Från och med Windows PowerShell 3.0 kan du få anpassade hjälpavsnitt för provider-cmdletar som förklarar hur dessa cmdletar beter sig på en filsystemenhet.

Om du vill få hjälpavsnitt som är anpassade för filsystemenheten kör du ett Get-Help-kommando på en filsystemenhet eller använder parametern -Path för Get-Help för att ange en filsystemenhet.

Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path Variable:

Se även