TÓPICO
    about_Environment_Variables

DESCRIÇÃO RESUMIDA
    Descreve como acessar variáveis de ambiente do Windows no Windows 
    PowerShell. 
    

DESCRIÇÃO LONGA
    Variáveis de ambiente armazenam informações sobre o ambiente do 
    sistema operacional. Essas informações incluem detalhes como o 
    caminho do sistema operacional, o número de processadores usados 
    pelo sistema operacional e o local das pastas temporárias. 

    As variáveis de ambiente armazenam dados usados pelo sistema 
    operacional e outros programas. Por exemplo, a variável de 
    ambiente WINDIR contém o local do diretório de instalação do 
    Windows. Os programas podem consultar o valor dessa variável para 
    determinar onde os arquivos do sistema operacional Windows estão 
    localizados.

    O Windows PowerShell permite que você exiba e altere variáveis de 
    ambiente do Windows, inclusive o conjunto de variáveis no 
    Registro e as definidas para uma sessão específica. O provedor de 
    ambiente do Windows PowerShell simplifica esse processo, 
    facilitando a visualização e a alteração de variáveis de ambiente.
    
    Ao contrário de outros tipos de variáveis no Windows PowerShell, 
    as variáveis de ambiente e seus valores são herdados por 
    sessões-filho, como trabalhos em segundo plano locais e as 
    sessões nas quais os membros de módulo são executados. Isto torna 
    as variáveis de ambiente adequadas ao armazenamento de valores 
    que são necessários em sessões pai e filho.
   

  Provedor de ambiente do Windows PowerShell
      O provedor de ambiente do Windows PowerShell permite que você 
      acesse as variáveis de ambiente do Windows no Windows 
      PowerShell em uma unidade do Windows PowerShell (a unidade 
      Env:). Essa unidade se parece muito com uma unidade do sistema 
      de arquivos. Para ir até a unidade Env:, digite:


	  set-location env:


      Em seguida, para exibir o conteúdo da unidade Env:, digite:


	  get-childitem


      Você pode exibir as variáveis de ambiente na unidade Env: de 
      qualquer outra unidade do Windows PowerShell e pode entrar na 
      unidade Env: para exibir e alterar as variáveis de ambiente.


  Objetos de variável de ambiente  
      No Windows PowerShell, cada variável de ambiente é representada 
      por um objeto que é uma instância da classe System.Collections.D
      ictionaryEntry.

	
      Em cada objeto DictionaryEntry, o nome da variável de ambiente 
      é a chave do dicionário. O valor da variável é o valor do 
      dicionário.


      Para exibir uma variável de ambiente no Windows PowerShell, 
      obtenha um objeto que represente a variável e exiba os valores 
      das propriedades do objeto. Quando você alterar uma variável de 
      ambiente no Windows PowerShell, use os métodos associados ao 
      objeto DictionaryEntry.


      Para exibir as propriedades e os métodos do objeto que 
      representa uma variável de ambiente no Windows PowerShell, use 
      o cmdlet Get-Member.
      Por exemplo, para exibir os métodos e as propriedades de todos 
      os objetos na unidade Env:, digite:


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


  Exibindo variáveis de ambiente
      Você pode usar os cmdlets que contêm o nome Item (os cmdlets 
      Item) para exibir e alterar os valores das variáveis de 
      ambiente. Como as variáveis de ambiente não possuem itens 
      filho, a saída de Get-Item e Get-ChildItem é a mesma.


      Ao se referir a uma variável de ambiente, digite o nome da 
      unidade Env: seguido do nome da variável. Por exemplo, para 
      exibir o valor da variável de ambiente COMPUTERNAME, digite:


	  get-childitem env:computername


      Para exibir os valores de todas as variáveis de ambiente, digite:


	  get-childitem env:


      Por padrão, o Windows PowerShell exibe as variáveis de ambiente 
      na ordem em que as recupera. Para classificar a lista de 
      variáveis de ambiente por nome de variável, canalize a saída de 
      um comando Get-ChildItem para o cmdlet Sort-Object. Por 
      exemplo, de qualquer unidade do Windows PowerShell, digite:


	  get-childitem env: | sort name


      Você também pode entrar na unidade Env: usando o cmdlet 
      Set-Location:


	  set-location env:


      Quando você está na unidade Env:, pode omitir o nome da unidade 
      Env: no caminho. Por exemplo, para exibir todas as variáveis de 
      ambiente, digite:


	  get-childitem


      Para exibir o valor da variável COMPUTERNAME dentro da unidade 
      Env:, digite:


	  get-childitem computername


      Você também pode exibir e alterar os valores das variáveis de 
      ambiente sem usar um cmdlet usando o analisador de expressões 
      no Windows PowerShell. Para exibir o valor de uma variável de 
      ambiente, use a seguinte sintaxe:


	  $env:<nome-da-variável>


      Por exemplo, para exibir o valor da variável de ambiente 
      WINDIR, digite o seguinte comando no prompt de comando do 
      Windows PowerShell:


	  $env:windir


      Nessa sintaxe, o cifrão ($) indica uma variável, e o nome da 
      unidade indica uma variável de ambiente.


  Alterando variáveis de ambiente
      Para fazer uma alteração persistente em uma variável de 
      ambiente, use Sistema no Painel de Controle (guia Avançado ou o 
      item Configuração Avançadas do Sistema) para armazenar a 
      alteração no Registro.

      Quando você altera variáveis de ambiente no Windows PowerShell, 
      a alteração afeta apenas a sessão atual. Esse comportamento se 
      assemelha ao do comando Set em ambientes baseados no Windows e 
      ao do comando Setenv em ambientes baseados no Unix. 

      Você também precisa possuir permissão para alterar os valores 
      das variáveis. Se você tentar alterar um valor sem permissão 
      suficiente, ocorrerá uma falha no comando e o Windows 
      PowerShell exibirá um erro.

      Você pode alterar os valores de variáveis sem usar um cmdlet, 
      com a seguinte sintaxe:


          $env:<nome-da-variável> = "<novo-valor>"


      Por exemplo, para acrescentar ";c:\temp" ao valor da variável 
      de ambiente Path, use a seguinte sintaxe:


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

      Você também pode usar os cmdlets Item, como Set-Item, 
      Remove-Item e Copy-Item para alterar os valores das variáveis 
      de ambiente. Por exemplo, para usar o cmdlet Set-Item para 
      acrescentar ";c:\temp" ao valor da variável de ambiente Path, 
      use a seguinte sintaxe:


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

	
      Nesse comando, o valor é colocado entre parênteses para que 
      seja interpretado como uma unidade.


  Salvando alterações em variáveis de ambiente
      Para criar ou alterar o valor de uma variável de ambiente em 
      todas as sessões do Windows PowerShell, adicione a alteração ao 
      seu perfil do Windows PowerShell.

      Por exemplo, para adicionar o diretório C:\Temp à variável de 
      ambiente Path em todas as sessões do Windows PowerShell, 
      adicione o comando a seguir ao seu perfil do Windows PowerShell.

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

      Para adicionar o comando a um perfil existente, como o perfil 
      CurrentUser,AllHosts, digite:

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


  Variáveis de ambiente que armazenam preferências
      Os recursos do Windows PowerShell podem usar variáveis de 
      ambiente para armazenar preferências do usuário. Essas 
      variáveis funcionam como variáveis de preferência, mas são 
      herdadas por sessões filho das sessões nas quais são criadas. 
      Para obter mais informações sobre about_preference_variables, 
      consulte about_preference_variables.

      As variáveis de ambiente que armazenam preferências incluem:

        PSModulePath
            Armazena os caminhos para os diretórios de módulo padrão. 
            O Windows PowerShell procura módulos nos diretórios 
            especificados quando você não especifica um caminho 
            completo para um módulo.

            O valor padrão de $env:PSModulePath é:

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

            O Windows PowerShell define o valor de "$pshome\Modules" 
            no Registro.Ele define o valor de "$home\Documents\
            WindowsPowerShell\Modules" sempre que você inicia o 
            Windows PowerShell. 

            Além disso, programas de instalação que instalam módulos 
            em outros diretórios, como o diretório de Arquivos de 
            Programas, acrescentam seus locais ao valor de PSModulePath. 

            Para alterar os diretórios de módulo padrão, altere o 
            valor da variável de ambiente PSModulePath.

            Por exemplo, para adicionar o diretório "C:\ps-test\Module
            s" ao valor da variável de ambiente PSModulePath, digite:

                $env:PSModulePath = $env:PSModulePath + ";c:\ps-test\Modules"
                
            O ponto-e-vírgula (;) no comando separa o novo caminho do 
            caminho que o precede na lista.

            Suas alterações afetam apenas a sessão atual, a menos que 
            você adicione um comando que altere o valor a seu perfil 
            ou use Sistema no Painel de Controle para alterar o valor 
            da variável de ambiente PSModulePath no Registro.
            
            Para obter mais informações, consulte about_Modules.


CONSULTE TAMBÉM
    Environment (provider)




Sumário