about_Variable_Provider

Providernamn

Olika

Drivrutiner

Variable:

Funktioner

ShouldProcess

Kort beskrivning

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

Detaljerad beskrivning

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

PowerShell-variabelprovidern stöder de variabler som PowerShell skapar, inklusive de automatiska variablerna, inställningsvariablerna och de variabler som du skapar.

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

Variabelprovidern 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 variabel-cmdletar behöver du inte ange Variable: enheten i namnet. Den här artikeln beskriver inte hur du arbetar med variabel-cmdletar .

Kommentar

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. Skapar till exempel $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 PSVariable klassen. Andra variabler och deras typer visas nedan.

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

Variabelprovidern exponerar sitt datalager på Variable: enheten. Om du vill arbeta med variabler kan du ändra din plats till Variable: enheten (Set-Location Variable:), eller så kan du 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 variabelprovidern från andra PowerShell-enheter. Om du vill referera till en variabel från en annan plats använder du enhetsnamnet Variable: i sökvägen.

Kommentar

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 är cd 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 dess providersökväg prefixet med 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 ? variabel

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

Get-ChildItem -Literalpath ?

Hämta ReadOnly- och Constant-variabler

Det här kommandot hämtar variablerna som har värdena ReadOnly för 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 finns i Variable: enheten är värdet för parametern -Path en punkt (.), som representerar den aktuella platsen.

Parenteserna runt Get-Service kommandot 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

Döpa om 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. Detta skapar 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 egenskap Alternativ 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 -PathGet-Help för att ange en filsystemenhet.

Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path variable:

Se även