Nome provider

Environment

Unità

Env:

Descrizione breve

Consente di accedere alle variabili di ambiente di Windows.

Descrizione dettagliata

Il provider Environment di Windows PowerShell consente di ottenere, aggiungere, modificare, cancellare ed eliminare variabili di ambiente di Windows in Windows PowerShell.

Il provider Environment è uno spazio dei nomi flat che contiene solo oggetti che rappresentano le variabili di ambiente. Le variabili non contengono elementi figlio.

Ogni variabile di ambiente è un'istanza della classe System.Collections.DictionaryEntry. Il nome della variabile corrisponde alla chiave di dizionario. Il valore della variabile di ambiente corrisponde alla chiave di dizionario.

Il provider Environment espone il proprio archivio dati nell'unità Env:. Per utilizzare le variabili di ambiente, modificare il percorso dell'unità Env: ("set-location env:") oppure utilizzarle da qualsiasi altra unità di Windows PowerShell. Per fare riferimento a una variabile di ambiente da un altro percorso, utilizzare il nome di unità Env: nel percorso.

Il provider delle variabili di ambiente supporta tutti i cmdlet che contengono il sostantivo Item ad eccezione di Invoke-Item. Supporta inoltre i cmdlet Get-Content e Set-Content. Il provider, tuttavia, non supporta i cmdlet che contengono il sostantivo ItemProperty, né il parametro Filter in alcun cmdlet.

Le variabili di ambiente devono essere conformi ai comuni standard di denominazione. Il nome, inoltre, non può contenere il segno di uguale (=).

Le modifiche apportate alle variabili di ambiente influiscono solo sulla sessione corrente. Per salvare le modifiche, aggiungerle al profilo di Windows PowerShell oppure utilizzare Export-Console per salvare la sessione corrente.

Esempi

Accesso all'unità Env:

-------------------------- ESEMPIO 1 --------------------------

Con questo comando viene utilizzata l'unità Env: come percorso.

set-location env:

È possibile utilizzare questo comando da qualsiasi unità in Windows PowerShell. Per tornare a un'unità del file system, digitare il nome dell'unità. Ad esempio, digitare: set-location c:

Recupero di variabili di ambiente

-------------------------- ESEMPIO 1 --------------------------

Con questo comando vengono elencate tutte le variabili di ambiente nella sessione corrente:

get-childitem -path env:

È possibile utilizzare questo comando da qualsiasi unità di Windows PowerShell.

-------------------------- ESEMPIO 2 --------------------------

Con questo comando si ottiene la variabile di ambiente WINDIR:

get-childitem -path env:windir

-------------------------- ESEMPIO 3 --------------------------

Con questo comando si ottiene un elenco di tutte le variabili di ambiente della sessione corrente, quindi vengono ordinate per nome.

get-childitem  | sort-object -property name

Per impostazione predefinita, le variabili di ambiente vengono visualizzate nell'ordine in cui Windows PowerShell le rileva. Questo comando viene eseguito nell'unità Env:. Se questo comando viene eseguito da un'altra unità, aggiungere il parametro Path con il valore Env:.

Creazione di una nuova variabile di ambiente

-------------------------- ESEMPIO 1 --------------------------

Con questo comando viene creata la variabile di ambiente USERMODE con il valore Non-Admin:

new-item -path . -name USERMODE -value Non-Admin

Poiché il percorso corrente si trova nell'unità Env:, il valore del parametro Path è un punto (.). Il punto (.) rappresenta il percorso corrente. Se non ci si trova nell'unità Env:, il valore del parametro Path è Env:.

Visualizzazione delle proprietà e dei metodi delle variabili di ambiente

-------------------------- ESEMPIO 1 --------------------------

In questo comando viene utilizzato il cmdlet Get-ChildItem per ottenere tutte le variabili di ambiente:

get-childitem -path env: | get-member

L'operatore pipeline (|) invia i risultati a Get-Member, che visualizza i metodi e le proprietà dell'oggetto. Quando si reindirizza una raccolta di oggetti a Get-Member, ad esempio la raccolta di variabili di ambiente nell'unità Env:, con Get-Member viene valutato ogni oggetto nella raccolta separatamente. Con Get-Member vengono quindi restituite le informazioni su ciascun tipo di oggetto trovato. Se tutti gli oggetti appartengono allo stesso tipo, vengono restituite informazioni sul singolo tipo di oggetto. In questo caso, tutte le variabili di ambiente saranno oggetti DictionaryEntry. Per ottenere informazioni sulla raccolta di oggetti DictionaryEntry, utilizzare il parametro InputObject di Get-Member. Ad esempio, digitare: get-member -inputobject (get-childitem env:) Quando si utilizza il parametro InputObject, con Get-Member viene valutata la raccolta, non gli oggetti in essa contenuti.

-------------------------- ESEMPIO 2 --------------------------

Con questo comando vengono elencati i valori delle proprietà della variabile di ambiente WINDIR:

get-item env:windir | format-list -property *

Viene utilizzato il cmdlet Get-Item per ottenere un oggetto che rappresenta la variabile di ambiente WINDIR. I risultati vengono inviati al comando Format-List dall'operatore pipeline (|). Viene utilizzato il parametro Property con un carattere jolly (*) per formattare e visualizzare i valori di tutte le proprietà della variabile di ambiente WINDIR.

Modifica delle proprietà di una variabile di ambiente

-------------------------- ESEMPIO 1 --------------------------

Con questo comando viene utilizzato il cmdlet Rename-Item per modificare in USERROLE il nome della variabile di ambiente USERMODE creata.

rename-item -path env:USERMODE -newname USERROLE

Questa modifica influisce sulle proprietà Name, Key e PSPath dell'oggetto DictionaryEntry. Non modificare il nome di una variabile di ambiente utilizzata dal sistema. Sebbene tali modifiche influiscano solo sulla sessione corrente, potrebbero provocare il funzionamento non corretto del sistema o di un programma.

-------------------------- ESEMPIO 2 --------------------------

In questo comando viene utilizzato il cmdlet Set-Item per modificare il valore della variabile di ambiente USERROLE in Administrator:

set-item -path env:USERROLE -value Administrator

Copia di una variabile di ambiente

-------------------------- ESEMPIO 1 --------------------------

Con questo comando il valore della variabile di ambiente USERROLE viene copiato nella variabile di ambiente USERROLE2.

copy-item -path env:USERROLE -destination env:USERROLE2

Eliminazione di una variabile di ambiente

-------------------------- ESEMPIO 1 --------------------------

Con questo comando viene eliminata la variabile di ambiente USERROLE2 dalla sessione corrente.

remove-item -path env:USERROLE2

È possibile utilizzare questo comando in qualsiasi unità di Windows PowerShell. Se ci si trova nell'unità Env:, è possibile omettere il nome dell'unità dal percorso.

-------------------------- ESEMPIO 2 --------------------------

Con questo comando viene eliminata la variabile di ambiente USERROLE.

clear-item -path env:USERROLE

Vedere anche




Argomenti della Guida