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.
Navigera i miljöenheten
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: