about_Environment_Provider
Nome provider
Ambiente
Unità
Env:
Funzionalità
ShouldProcess
Descrizione breve
Fornisce l'accesso alle variabili di ambiente di Windows.
Descrizione dettagliata
Il provider di ambiente PowerShell consente di ottenere, aggiungere, modificare, cancellare ed eliminare variabili di ambiente e valori in PowerShell.
Le variabili di ambiente sono variabili denominate dinamicamente che descrivono l'ambiente in cui vengono eseguiti i programmi. Windows e PowerShell usano variabili di ambiente per archiviare informazioni persistenti che influiscono sull'esecuzione del sistema e del processo. A differenza delle variabili di PowerShell, le variabili di ambiente non sono soggette a vincoli di ambito.
L'unità Environment è uno spazio dei nomi flat contenente le variabili di ambiente specifiche della sessione dell'utente corrente. Le variabili di ambiente non hanno elementi figlio.
Il provider Environment supporta i cmdlet seguenti, illustrati in questo articolo.
Tipi esposti da questo provider
Ogni variabile di ambiente è un'istanza della classe System.Collections.DictionaryEntry . Il nome della variabile corrisponde alla chiave del dizionario. Il valore della variabile di ambiente corrisponde al valore del dizionario.
Esplorazione dell'unità Ambiente
Il provider environment espone l'archivio dati nell'unità Env:
. Per usare le variabili di ambiente, modificare la posizione dell'unità Env:
(Set-Location Env:
) o lavorare da un'altra unità di PowerShell. Per fare riferimento a una variabile di ambiente da un'altra posizione, usare il nome dell'unità Env:
nel percorso.
Set-Location Env:
Per tornare in un'unità di file system, digitare il relativo nome. Ad esempio, digitare il comando seguente:
Set-Location C:
È anche possibile usare il provider environment da qualsiasi altra unità di PowerShell. Per fare riferimento a una variabile di ambiente da un'altra posizione, usare il nome Env:
dell'unità nel percorso.
Il provider Environment espone anche le variabili di ambiente usando un prefisso variabile di $env:
. Il comando seguente visualizza il contenuto della variabile di ambiente ProgramFiles . Il $env:
prefisso della variabile può essere usato da qualsiasi unità di PowerShell.
PS C:\> $env:ProgramFiles
C:\Program Files
È anche possibile modificare il valore di una variabile di ambiente usando il prefisso della $env:
variabile. Tutte le modifiche apportate riguardano solo la sessione di PowerShell corrente, purché sia attiva.
Nota
PowerShell usa gli alias per consentire un modo familiare per usare i percorsi del provider. I comandi, dir
ad esempio e ls
sono ora alias per Get-ChildItem, cd
è un alias per Set-Location. e pwd
è un alias per Get-Location.
Recupero di variabili di ambiente
Questo comando elenca tutte le variabili di ambiente nella sessione corrente.
Get-Item -Path Env:
È possibile usare questo comando da qualsiasi unità di PowerShell.
Il provider di ambiente non ha contenitori, quindi il comando precedente ha lo stesso effetto quando viene usato con Get-ChildItem
.
Get-ChildItem -Path Env:
Ottenere una variabile di ambiente selezionata
Questo comando ottiene la variabile di WINDIR
ambiente.
Get-ChildItem -Path Env:windir
È anche possibile usare il formato del prefisso della variabile.
$env:windir
Creare una variabile di ambiente
Questo comando crea la USERMODE
variabile di ambiente con il valore "Non-Admin". Il valore del -Path
parametro crea il nuovo elemento nell'unità Env:
. La nuova variabile di ambiente è utilizzabile solo nella sessione di PowerShell corrente, purché sia attiva.
PS C:\> New-Item -Path Env: -Name USERMODE -Value Non-Admin
Modifica di una variabile di ambiente
Rinominare una variabile di ambiente
Questo comando usa il Rename-Item
cmdlet per modificare il nome della variabile di USERMODE
ambiente creata in USERROLE
. Non cambiare il nome di una variabile di ambiente usata dal sistema. Anche se queste modifiche hanno effetto solo nella sessione corrente, potrebbero causare il funzionamento non corretto del sistema o di un programma.
Rename-Item -Path Env:USERMODE -NewName USERROLE
Modificare una variabile di ambiente
Questo comando usa il Set-Item
cmdlet per modificare il valore della variabile di USERROLE
ambiente in "Administrator".
Set-Item -Path Env:USERROLE -Value Administrator
Copiare una variabile di ambiente
Questo comando copia il valore della USERROLE
variabile di ambiente nella USERROLE2
variabile di ambiente.
Copy-Item -Path Env:USERROLE -Destination Env:USERROLE2
Rimuovere una variabile di ambiente
Questo comando elimina la USERROLE2
variabile di ambiente dalla sessione corrente.
Remove-Item -Path Env:USERROLE2
Rimuovere una variabile di ambiente con Clear-Item
Questo comando elimina la USERROLE
variabile di ambiente cancellandone il valore.
Clear-Item -Path Env:USERROLE
Uso della pipeline
I cmdlet del provider accettano l'input della pipeline. È possibile usare la pipeline per semplificare l'attività inviando i dati del provider da un cmdlet a un altro cmdlet del provider. Per altre informazioni su come usare la pipeline con i cmdlet del provider, vedere i riferimenti ai cmdlet forniti in questo articolo.
Visualizzazione delle informazioni della Guida
A partire da Windows PowerShell 3.0, è possibile ottenere argomenti della Guida personalizzati per i cmdlet del provider che ne illustrano il comportamento in un'unità di file system.
Per ottenere gli argomenti della Guida personalizzati per l'unità del file system, eseguire un comando Get-Help in un'unità file system o usare il -Path
parametro Get-Help per specificare un'unità del file system.
Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path env: