Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Nome do provedor
Ambiente
Drives
Env:
Capabilities
ShouldProcess
Descrição curta
Fornece acesso a variáveis de ambiente do Windows.
Descrição detalhada
O provedor de ambiente do PowerShell permite que você obtenha, adicione, altere, limpe e exclua variáveis e valores de ambiente no PowerShell.
As variáveis de Ambiente são variáveis nomeadas dinamicamente que descrevem o ambiente em que seus programas são executados. O 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 de 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 possuem itens filho.
O provedor Environment dá suporte aos seguintes cmdlets, que são abordados neste artigo.
Tipos expostos por esse 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.
Navegando na unidade de ambiente
O provedor de ambiente expõe seu armazenamento de dados na unidade Env:. Para trabalhar com variáveis de ambiente, altere sua localização para a unidade Env: (Set-Location Env:) ou acesse outra unidade do PowerShell. Para fazer referência a uma variável de ambiente de outro local, use o nome da unidade Env: 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 fazer referência a 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 variável de $Env:. O comando a seguir exibe o conteúdo da variável de ambiente ProgramFiles. O prefixo de variável $Env: pode ser usado em qualquer drive do PowerShell.
PS C:\> $Env:ProgramFiles
C:\Program Files
Você também pode alterar o valor de uma variável de ambiente usando o prefixo de variável $Env:. Todas as alterações feitas pertencem apenas à sessão atual do PowerShell, desde que esteja ativa.
Observação
O PowerShell usa aliases para permitir uma maneira familiar de trabalhar com caminhos de provedores. Comandos como dir e ls agora são aliases para Get-ChildItem, cd é um alias para Set-Location e pwd é um alias para Get-Location.
Obtendo 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 de 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 de ambiente windir.
Get-ChildItem -Path Env:windir
Você também pode usar o formato de prefixo variável.
$Env:windir
Criar uma variável de ambiente
Esse comando cria a variável de ambiente USERMODE com um valor de "Não Administrador". O valor do parâmetro -Path cria o novo item na unidade Env:. A nova variável de ambiente só pode ser usada na sessão atual do PowerShell, desde que esteja 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 cmdlet Rename-Item para alterar o nome da variável de ambiente USERMODE 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 cmdlet Set-Item para alterar o valor da variável de ambiente USERROLE para "Administrator".
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 de ambiente USERROLE2.
Copy-Item -Path Env:USERROLE -Destination Env:USERROLE2
Remover uma variável de ambiente
Esse comando exclui a variável de ambiente USERROLE2 da sessão atual.
Remove-Item -Path Env:USERROLE2
Remover uma variável de ambiente com Clear-Item
Esse comando exclui a variável de ambiente USERROLE limpando seu valor.
Clear-Item -Path Env:USERROLE
Usando o pipeline
Os cmdlets do provedor aceitam entrada de pipeline. Você pode usar o pipeline para simplificar a tarefa, enviando dados do provedor de um cmdlet para outro cmdlet do provedor. Para saber mais sobre como usar o pipeline com cmdlets de provedor, consulte 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 o parâmetro -Path de Get-Help para especificar uma unidade do sistema de arquivos.
Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path Env: