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 avQuestionMarkVariable
klassen. - Variabeln
null
är en instans avNullVariable
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
Navigera i variabelenheterna
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 -Path
Get-Help för att ange en filsystemenhet.
Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path variable: