ARGOMENTO
    about_Environment_Variables

DESCRIZIONE BREVE
    Descrive come accedere alle variabili di ambiente di Windows in 
    Windows PowerShell. 
    

DESCRIZIONE DETTAGLIATA
    Nelle variabili di ambiente vengono archiviate informazioni 
    sull'ambiente del sistema operativo. Queste informazioni 
    includono elementi come il percorso del sistema operativo, il 
    numero di processori utilizzati dal sistema operativo e il 
    percorso delle cartelle temporanee. 

    Nelle variabili di ambiente vengono archiviati i dati utilizzati 
    dal sistema operativo e da altri programmi. La variabile di 
    ambiente WINDIR, ad esempio, contiene il percorso della directory 
    di installazione di Windows. I programmi possono eseguire una 
    query relativa al valore di questa variabile per determinare il 
    percorso dei file del sistema operativo Windows.

    Windows PowerShell consente di visualizzare e modificare le 
    variabili di ambiente di Windows, incluse le variabili impostate 
    nel Registro di sistema e quelle impostate per una determinata 
    sessione. Il provider di ambiente di Windows PowerShell 
    semplifica questo processo rendendo semplice la visualizzazione e 
    la modifica delle variabili di ambiente.
    
    A differenza di altri tipi di variabili in Windows PowerShell, le 
    variabili di ambiente e i relativi valori vengono ereditati dai 
    sessioni figlio, ad esempio i processi in background locali e le 
    sessioni in cui vengono eseguiti i membri di modulo. Ciò rende le 
    variabili di ambiente particolarmente indicate per l'archiviazione
     di valori necessari nelle sessioni padre e figlio.
   

  Provider di ambiente di Windows PowerShell
      Il provider di ambiente di Windows PowerShell consente di 
      accedere alle variabili di ambiente di Windows in Windows 
      PowerShell in un'unità di Windows PowerShell (l'unità Env:). 
      Questa unità è molto simile a un'unità del file system. Per 
      passare all'unità Env:, digitare:


	  set-location env:


      Quindi, per visualizzare il contenuto dell'unità Env:, digitare:


	  get-childitem


      È possibile visualizzare le variabili di ambiente nell'unità 
      Env: da qualsiasi altra unità di Windows PowerShell ed è 
      possibile passare all'unità Env: per visualizzare e modificare 
      le variabili di ambiente.


  Oggetti variabile di ambiente  
      In Windows PowerShell ogni variabile di ambiente è 
      rappresentata da un oggetto che costituisce un'istanza della classe 
      System.Collections.DictionaryEntry.

	
      In ciascun oggetto DictionaryEntry, il nome della variabile di 
      ambiente corrisponde alla chiave di dizionario. Il valore della 
      variabile corrisponde al valore di dizionario.


      Per visualizzare una variabile di ambiente in Windows 
      PowerShell, ottenere un oggetto che rappresenta la variabile, 
      quindi visualizzare i valori delle proprietà dell'oggetto. 
      Quando si modifica una variabile di ambiente in Windows 
      PowerShell, utilizzare i metodi associati all'oggetto 
      DictionaryEntry.


      Per visualizzare le proprietà e i metodi dell'oggetto che 
      rappresenta una variabile di ambiente in Windows PowerShell, 
      utilizzare il cmdlet Get-Member.
      Per visualizzare, ad esempio, i metodi e le proprietà di tutti 
      gli oggetti nell'unità Env:, digitare:


	  get-item -path env:* | get-member


  Visualizzazione delle variabili di ambiente
      È possibile utilizzare i cmdlet che contengono il nome Item 
      (cmdlet Item) per visualizzare e modificare i valori delle 
      variabili di ambiente. Poiché le variabili di ambiente non 
      contengono elementi figlio, l'output di Get-Item è lo stesso di 
      quello di Get-ChildItem.


      Quando si fa riferimento a una variabile di ambiente, digitare 
      il nome dell'unità Env: seguito dal nome della variabile. Per 
      visualizzare, ad esempio, il valore della variabile di ambiente 
      COMPUTERNAME, digitare:


	  get-childitem env:computername


      Per visualizzare i valori di tutte le variabili di ambiente, 
      digitare:


	  get-childitem env:


      Per impostazione predefinita, in Windows PowerShell le 
      variabili di ambiente vengono visualizzate nell'ordine in cui 
      vengono recuperate. Per ordinare l'elenco in base al nome delle 
      variabili, reindirizzare l'output di un comando Get-ChildItem 
      al cmdlet Sort-Object. Da qualsiasi unità di Windows PowerShell 
      digitare ad esempio:


	  get-childitem env: | sort name


      È inoltre possibile passare all'unità Env: tramite il cmdlet 
      Set-Location:


	  set-location env:


      Quando ci si trova nell'unità Env:, è possibile omettere il 
      nome di tale unità dal percorso. Per visualizzare, ad esempio, 
      tutte le variabili di ambiente, digitare:


	  get-childitem


      Per visualizzare il valore della variabile COMPUTERNAME 
      dall'unità Env:, digitare:


	  get-childitem computername


      È inoltre possibile visualizzare e modificare i valori delle 
      variabili di ambiente senza utilizzare un cmdlet tramite il 
      parser di espressioni di Windows PowerShell. Per visualizzare 
      il valore di una variabile di ambiente, utilizzare la sintassi 
      seguente:


	  $env:<nome-variabile>


      Per visualizzare, ad esempio, il valore della variabile di 
      ambiente WINDIR, al prompt dei comandi di Windows PowerShell 
      digitare il comando seguente:


	  $env:windir


      In questa sintassi il segno di dollaro ($) indica una 
      variabile, mentre il nome dell'unità indica una variabile di 
      ambiente.


  Modifica delle variabili di ambiente
      Per apportare una modifica permanente a una variabile di 
      ambiente, utilizzare Sistema nel Pannello di controllo (la 
      scheda Avanzate o l'elemento Impostazioni di sistema avanzate) 
      per salvare la modifica nel Registro di sistema.

      Le modifiche apportate alle variabili di ambiente in Windows 
      PowerShell hanno effetto solo nella sessione corrente. Questo 
      comportamento è analogo a quello del comando Set in ambienti 
      basati su Windows e a quello del comando Setenv in ambienti 
      basati su UNIX. 

      È necessario disporre delle autorizzazioni per la modifica dei 
      valori delle variabili. Se si tenta di modificare un valore 
      senza disporre di autorizzazioni sufficienti, il comando ha 
      esito negativo e in Windows PowerShell viene visualizzato un errore.

      È possibile modificare i valori delle variabili senza 
      utilizzare un cmdlet tramite la sintassi seguente:


          $env:<nome-variabile> = "<nuovo-valore>"


      Per aggiungere, ad esempio, ";c:\tesp" al valore della 
      variabile di ambiente Path, utilizzare la sintassi seguente:


	  $env:path = $env:path + ";c:\temp"
	

      È inoltre possibile utilizzare i cmdlet Item, ad esempio 
      Set-Item, Remove-Item e Copy-Item per modificare i valori delle 
      variabili di ambiente. Ad esempio, per utilizzare il cmdlet 
      Set-Item per aggiungere ";c:\tesp" al valore della variabile di 
      ambiente Path, utilizzare la sintassi seguente:


          set-item -path env:path -value ($env:path + ";c:\temp")

	
      In questo comando il valore è racchiuso tra parentesi affinché 
      venga interpretato come elemento unico.


  Salvataggio delle modifiche apportate alle variabili di ambiente
      Per creare o modificare il valore di una variabile di ambiente 
      in ogni sessione di Windows PowerShell, aggiungere la modifica 
      al profilo di Windows PowerShell.

      Per aggiungere, ad esempio, la directory C:\Temp alla variabile 
      di ambiente Path in ogni sessione di Windows PowerShell, 
      aggiungere il comando seguente al profilo di Windows PowerShell.

	  $env:path = $env:path + ";c:\temp"

      Per aggiungere il comando a un profilo esistente, ad esempio il 
      profilo CurrentUser,AllHosts, digitare:

	  add-content -path $profile.CurrentUserAllHosts -value '$env:path = 
	  $env:path + ";c:\temp"' 

  Variabili di ambiente in cui sono archiviate le preferenze
      Le funzionalità di Windows PowerShell possono utilizzare le 
      variabili di ambiente per archiviare le preferenze dell'utente. 
      Queste variabili funzionano in modo analogo alle variabili di 
      preferenza, ma vengono ereditate dalle sessioni figlio delle 
      sessioni in cui vengono create. Per ulteriori informazioni 
      sulle variabili di preferenza, vedere about_preference_variables.

      Variabili di ambiente in cui sono archiviate le preferenze 
      includono:

        PSModulePath
            Archivia i percorsi delle directory dei moduli 
            predefinite. Windows PowerShell cerca i moduli nelle 
            directory specificate quando non si specifica il percorso 
            completo di un modulo.

            Il valore predefinito di $env:PSModulePath è:

                $home\Documents\WindowsPowerShell\Modules; 
                $pshome\Modules 

            Windows PowerShell imposta il valore di "$pshome\Modules" 
            nel Registro di sistema.
            Il valore di "$home\Documents\WindowsPowerShell\Modules" 
            viene impostato ogni volta che si avvia Windows PowerShell. 

            Inoltre, i programmi di installazione che installano 
            moduli in altre directory, ad esempio nella directory 
            Programmi, aggiungono i relativi percorsi al valore di 
            PSModulePath. 

            Per modificare le directory dei moduli predefinite, 
            modificare il valore della variabile di ambiente PSModulePath.

            Per aggiungere, ad esempio, la directory "C:\ps-test\Modul
            es" al valore della variabile di ambiente PSModulePath, 
            digitare:

                $env:PSModulePath = $env:PSModulePath + 
                ";c:\ps-test\Modules"

            Il punto e virgola (;) nel comando separa il nuovo 
            percorso dal percorso che lo precede nell'elenco.

            Le modifiche influiscono solo sulla sessione corrente a 
            meno che non si sia aggiunto un comando che modifichi il 
            valore al profilo o non si utilizzi Sistema nel Pannello 
            di controllo per modificare il valore della variabile di 
            ambiente PSModulePath nel Registro di sistema.
            
            Per ulteriori informazioni, vedere about_Modules.


VEDERE ANCHE
    Environment (provider)




Argomenti della Guida