about_Variable_Provider
Nome do provedor
Variável
Unidades
Variable:
Funcionalidades
Processo Deve
Descrição breve
Fornece acesso às variáveis do PowerShell e aos seus valores.
Descrição detalhada
O provedor de variáveis do PowerShell permite obter, adicionar, alterar, limpar e excluir variáveis do PowerShell no console atual.
O provedor de variáveis do PowerShell dá suporte às variáveis que o PowerShell cria, incluindo as variáveis automáticas, as variáveis de preferência e as variáveis que você cria.
A unidade Variable é um namespace simples que contém apenas os objetos variáveis. As variáveis não possuem itens filho.
O provedor Variable dá suporte aos cmdlets a seguir, que são abordados neste artigo.
O PowerShell também inclui um conjunto de cmdlets projetados especialmente para exibir e alterar variáveis. Ao usar cmdlets Variable , você não precisa especificar a Variable:
unidade no nome. Este artigo não aborda o trabalho com cmdlets Variable .
Observação
Você também pode usar o analisador de expressões do PowerShell para criar, exibir e alterar os valores das variáveis sem usar os cmdlets. Ao trabalhar diretamente com variáveis, use um cifrão ($
) para identificar o nome como uma variável e o operador de atribuição (=
) para estabelecer e alterar seu valor. Por exemplo, $p = Get-Process
cria a p
variável e armazena os resultados de um Get-Process
comando nela.
Tipos expostos por este provedor
As variáveis podem ser de vários tipos diferentes. A maioria das variáveis serão instâncias da PSVariable
classe. Outras variáveis e seus tipos estão listados abaixo.
- A
?
variável é uma instância daQuestionMarkVariable
classe. - A
null
variável é uma instância daNullVariable
classe. - As variáveis de contagem máxima são instâncias da
SessionStateCapacityVariable
classe. LocalVariable
As instâncias contêm informações sobre a execução atual, como:MyInvocation
PSCommandPath
PSScriptRoot
PSBoundParameters
args
input
Navegando nas unidades variáveis
O provedor Variable expõe seu armazenamento de dados na Variable:
unidade. Para trabalhar com variáveis, você pode alterar seu local para a Variable:
unidade (Set-Location Variable:
) ou pode trabalhar em qualquer outra unidade do PowerShell. Para fazer referência a uma variável de outro local, use o nome da unidade (Variable:
) no caminho.
Set-Location Variable:
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 Variable de qualquer outra unidade do PowerShell. Para fazer referência a uma variável de outro local, use o nome Variable:
da unidade no caminho.
Observação
O PowerShell usa aliases para permitir que você trabalhe com caminhos de provedor. 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.
Exibindo o valor das variáveis
Obter todas as variáveis na sessão atual
Esse comando obtém a lista de todas as variáveis e seus valores na sessão atual. Você pode usar esse comando em qualquer unidade do PowerShell.
Get-ChildItem -Path Variable:
Obter uma variável usando seu caminho de provedor
Esse comando recupera um valor de variáveis usando seu caminho de provedor prefixado pelo cifrão ($
). Isso tem o mesmo efeito que prefixar o nome das variáveis com o cifrão ($
).
$variable:home
Obter variáveis usando curingas
Esse comando obtém as variáveis com nomes que começam com "max". Você pode usar esse comando em qualquer unidade do PowerShell.
Get-ChildItem -Path Variable:max*
Obtenha o valor do ? variável
Esse comando usa o -LiteralPath
parâmetro de Get-ChildItem para obter o valor da ?
variável de dentro da Variable:
unidade. O ?
é um curinga nos caminhos, mas Get-ChildItem
não tenta resolver nenhum curinga nos valores do -LiteralPath
parâmetro.
Get-ChildItem -Literalpath ?
Obter variáveis ReadOnly e Constant
Esse comando obtém as variáveis que têm os valores de ReadOnly
ou Constant
para sua propriedade Options .
Get-ChildItem -Path Variable: | Where-Object {
$_.options -Match "Constant" `
-or $_.options -Match "ReadOnly"
} | Format-List -Property name, value, options
Criar variáveis
Criar uma nova variável
Este comando cria a services
variável e armazena os resultados de um Get-Service
comando nela. Como o local atual está na Variable:
unidade, o -Path
valor do parâmetro é um ponto (.
), que representa o local atual.
Os parênteses ao redor do Get-Service
comando garantem que o comando seja executado antes que a variável seja criada. Sem os parênteses, o valor da nova variável é uma cadeia de caracteres "Get-Service".
New-Item -Path . -Name services -Value (Get-Service)
Criar uma variável usando um caminho absoluto
Este comando cria uma services
variável e armazena o resultado de um Get-Service
comando nela.
New-Item -Path Variable:services -Value Get-Service
Para criar uma variável sem um valor, omita o operador de atribuição.
Alterar variáveis
Renomear uma variável
Esse comando usa o Rename-Item
cmdlet para alterar o a
nome da variável para processes
.
Rename-Item -Path Variable:a -NewName processes
Alterar o valor de uma variável
Esse comando usa o Set-Item
cmdlet para alterar o ErrorActionPreference
valor da variável para "Parar".
Set-Item -Path Variable:ErrorActionPreference -Value Stop
Copiar uma variável
Esse comando usa o Copy-Item
cmdlet para copiar a processes
variável para old_processes
. Isso cria uma nova variável chamada old_processes
que tem o mesmo valor que a processes
variável.
Copy-Item -Path Variable:processes -Destination Variable:old_processes
Excluir uma variável
Este comando exclui a serv
variável da sessão atual. Você pode usar esse comando em qualquer unidade do PowerShell.
Remove-Variable -Path Variable:serv
Excluir variáveis usando o parâmetro -Force
Esse comando exclui todas as variáveis da sessão atual, exceto as variáveis cuja propriedade Opções tem um valor de Constant
. Sem o -Force
parâmetro, o comando não exclui variáveis cuja propriedade Options tem um valor de ReadOnly
.
Remove-Item Variable:* -Force
Definindo o valor de uma variável como NULL
Esse comando usa o Clear-Item
cmdlet para alterar o processes
valor da variável para NULL.
Clear-Item -Path Variable:processes
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 do provedor. Para ler 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 -Path
parâmetro Get-Help para especificar uma unidade do sistema de arquivos.
Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path variable: