Miljöprovider
Providernamn
Miljö
Enheter
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 inte miljövariabler 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 på 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 namnet på enheten. 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 $env:
variabelprefixet . 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 . Ändringar som görs gäller endast den aktuella PowerShell-sessionen så länge den är aktiv.
Anteckning
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.
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-Admin". 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
Byta namn på en miljövariabel
Det här kommandot använder cmdleten Rename-Item
för att ändra namnet på USERMODE
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 orsaka 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 bort USERROLE2
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 bort USERROLE
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 fungerar 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: