about_Environment_Provider

Nome do provedor

Ambiente

Unidades

Env:

Funcionalidades

ShouldProcess

Descrição breve

Fornece acesso a variáveis de ambiente do Windows.

Descrição detalhada

O provedor de Ambiente do PowerShell permite obter, adicionar, alterar, limpar e excluir valores e variáveis de ambiente no PowerShell.

As variáveis de ambiente são variáveis nomeadas dinamicamente que descrevem o ambiente no qual seus programas são executados. Windows e o PowerShell usam variáveis de ambiente para armazenar informações persistentes que afetam a execução do sistema e do processo. Ao contrário das variáveis do PowerShell, as variáveis de ambiente não estão sujeitas a restrições de escopo.

A unidade Ambiente é um namespace simples que contém as variáveis de ambiente específicas para a sessão do usuário atual. As variáveis de ambiente não têm nenhum item filho.

O Provedor de ambiente dá suporte aos cmdlets a seguir, que são abordados neste artigo.

Tipos expostos por este provedor

Cada variável de ambiente é uma instância da classe System.Collections.DictionaryEntry . O nome da variável é a chave do dicionário. O valor da variável de ambiente é o valor do dicionário.

O Provedor de ambiente expõe seu armazenamento de dados na Env: unidade. Para trabalhar com variáveis de ambiente, altere seu local para a Env: unidade (Set-Location Env:) ou trabalhe de outra unidade do PowerShell. Para referenciar uma variável de ambiente de outro local, use o nome Env: da unidade no caminho.

Set-Location Env:

Para retornar a uma unidade de sistema de arquivos, digite o nome da unidade. Por exemplo, digite:

Set-Location C:

Você também pode trabalhar com o Provedor de ambiente de qualquer outra unidade do PowerShell. Para referenciar uma variável de ambiente de outro local, use o nome da unidade Env: no caminho.

O provedor de ambiente também expõe variáveis de ambiente usando um prefixo de variável de $env:. O comando a seguir visualiza o conteúdo da variável de ambiente ProgramFiles . O $env: prefixo da variável pode ser usado em qualquer unidade do PowerShell.

PS C:\> $env:ProgramFiles
C:\Program Files

Você também pode alterar o valor de uma variável de ambiente usando o $env: prefixo de variável. Todas as alterações feitas pertencem apenas à sessão atual do PowerShell enquanto ela está ativa.

Observação

O PowerShell usa aliases para permitir uma maneira familiar de trabalhar com caminhos de provedor. Comandos como e dir agora ls são aliases para Get-ChildItem, cd é um alias para Set-Location. e pwd é um alias para Get-Location.

Obter variáveis de ambiente

Esse comando lista todas as variáveis de ambiente na sessão atual.

Get-Item -Path Env:

Você pode usar esse comando em qualquer unidade do PowerShell.

O provedor De ambiente não tem contêineres, portanto, o comando acima tem o mesmo efeito quando usado com Get-ChildItem.

Get-ChildItem -Path Env:

Obter uma variável de ambiente selecionada

Esse comando obtém a Variável WINDIR de ambiente.

Get-ChildItem -Path Env:windir

Você também pode usar o formato de prefixo de variável.

$env:windir

Criar uma variável de ambiente

Esse comando cria a variável USERMODE de ambiente com um valor de "Não Administrador". O -Path valor do parâmetro cria o novo item na Env: unidade. A nova variável de ambiente só pode ser usável na sessão atual do PowerShell enquanto ela está ativa.

PS C:\> New-Item -Path Env: -Name USERMODE -Value Non-Admin

Alterando uma variável de ambiente

Renomear uma variável de ambiente

Esse comando usa o Rename-Item cmdlet para alterar o nome da variável USERMODE de ambiente que você criou para USERROLE. Não altere o nome de uma variável de ambiente que usa o sistema. Embora essas alterações afetem apenas a sessão atual, elas podem fazer com que o sistema ou um programa seja operado de forma incorreta.

Rename-Item -Path Env:USERMODE -NewName USERROLE

Alterar uma variável de ambiente

Esse comando usa o Set-Item cmdlet para alterar o valor da variável USERROLE de ambiente para "Administrador".

Set-Item -Path Env:USERROLE -Value Administrator

Copiar uma variável de ambiente

Esse comando copia o valor da variável de ambiente USERROLE para a Variável USERROLE2 de ambiente.

Copy-Item -Path Env:USERROLE -Destination Env:USERROLE2

Remover uma variável de ambiente

Esse comando exclui a variável USERROLE2 de ambiente da sessão atual.

Remove-Item -Path Env:USERROLE2

Remover uma variável de ambiente com Clear-Item

Esse comando exclui a variável USERROLE de ambiente limpando seu valor.

Clear-Item -Path Env:USERROLE

Usando o pipeline

Os cmdlets do provedor aceitam a entrada do pipeline. Você pode usar o pipeline para simplificar a tarefa enviando dados do provedor de um cmdlet para outro cmdlet de provedor. Para saber mais sobre como usar o pipeline com cmdlets de provedor, confira as referências de cmdlet fornecidas ao longo deste artigo.

Obtendo ajuda

A partir do Windows PowerShell 3.0, você pode obter tópicos da Ajuda personalizados para cmdlets do provedor que explicam como esses cmdlets se comportam em uma unidade de sistema de arquivos.

Para obter os tópicos de ajuda personalizados para a unidade do sistema de arquivos, execute um comando Get-Help em uma unidade do sistema de arquivos ou use -Path o parâmetro de Get-Help para especificar uma unidade do sistema de arquivos.

Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path env:

Confira também

about_Providers