Dela via


about_Environment_Provider

Providernamn

Environment

Drivrutiner

Env:

Funktioner

ShouldProcess

Kort beskrivning

Ger åtkomst till Windows-miljövariablerna.

Detaljerad beskrivning

Med PowerShell-miljöprovidern kan du hämta, lägga till, ändra, rensa och ta bort miljövariabler och värden i PowerShell.

Miljövariabler är dynamiskt namngivna variabler som beskriver miljön där dina program körs. Windows och PowerShell använder miljövariabler för att lagra beständig information som påverkar system- och processkörning. Till skillnad från PowerShell-variabler omfattas miljövariabler inte av omfångsbegränsningar.

Miljöenheten är ett platt namnområde som innehåller miljövariablerna som är specifika för den aktuella användarens session. Miljövariablerna har inga underordnade objekt.

Miljöprovidern stöder följande cmdletar, som beskrivs i den här artikeln.

Typer som exponeras av den här providern

Varje miljövariabel är en instans av klassen System.Collections.DictionaryEntry . Namnet på variabeln är ordlistenyckeln. Värdet för miljövariabeln är ordlistevärdet.

Miljöprovidern exponerar sitt datalager på Env: enheten. Om du vill arbeta med miljövariabler ändrar du din plats till Env: enheten (Set-Location Env:) eller arbetar från en annan PowerShell-enhet. Om du vill referera till en miljövariabel från en annan plats använder du Env: enhetsnamnet i sökvägen.

Set-Location Env:

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

Set-Location C:

Du kan också arbeta med miljöprovidern från andra PowerShell-enheter. Om du vill referera till en miljövariabel från en annan plats använder du enhetsnamnet Env: i sökvägen.

Miljöprovidern exponerar även miljövariabler med hjälp av ett variabelprefix för $env:. Följande kommando visar innehållet i miljövariabeln ProgramFiles . Variabelprefixet $env: kan användas från valfri PowerShell-enhet.

PS C:\> $env:ProgramFiles
C:\Program Files

Du kan också ändra värdet för en miljövariabel med hjälp av $env: variabelprefixet. Alla ändringar som görs gäller endast den aktuella PowerShell-sessionen så länge den är aktiv.

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.

Hämta miljövariabler

Det här kommandot visar alla miljövariabler i den aktuella sessionen.

Get-Item -Path Env:

Du kan använda det här kommandot från valfri PowerShell-enhet.

Miljöprovidern har inga containrar, så kommandot ovan har samma effekt när det används med Get-ChildItem.

Get-ChildItem -Path Env:

Hämta en vald miljövariabel

Det här kommandot hämtar WINDIR miljövariabeln.

Get-ChildItem -Path Env:windir

Du kan också använda variabelprefixformatet.

$env:windir

Skapa en miljövariabel

Det här kommandot skapar USERMODE miljövariabeln med värdet "Icke-administratör". Parametervärdet -Path skapar det nya objektet på Env: enheten. Den nya miljövariabeln kan bara användas i den aktuella PowerShell-sessionen så länge den är aktiv.

PS C:\> New-Item -Path Env: -Name USERMODE -Value Non-Admin

Ändra en miljövariabel

Byt namn på en miljövariabel

Det här kommandot använder cmdleten Rename-Item för att ändra namnet USERMODE på miljövariabeln som du skapade till USERROLE. Ändra inte namnet på en miljövariabel som systemet använder. Även om dessa ändringar endast påverkar den aktuella sessionen kan de leda till att systemet eller ett program fungerar felaktigt.

Rename-Item -Path Env:USERMODE -NewName USERROLE

Ändra en miljövariabel

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

Set-Item -Path Env:USERROLE -Value Administrator

Kopiera en miljövariabel

Det här kommandot kopierar värdet för USERROLE miljövariabeln till USERROLE2 miljövariabeln.

Copy-Item -Path Env:USERROLE -Destination Env:USERROLE2

Ta bort en miljövariabel

Det här kommandot tar USERROLE2 bort miljövariabeln från den aktuella sessionen.

Remove-Item -Path Env:USERROLE2

Ta bort en miljövariabel med Clear-Item

Det här kommandot tar USERROLE bort miljövariabeln genom att rensa dess värde.

Clear-Item -Path Env:USERROLE

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 env:

Se även