about_Variable_Provider
Nome do fornecedor
Variável
Unidades
Variable:
Capacidades
DeveProcessar
Breve descrição
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 têm itens filho.
O provedor Variable oferece suporte aos cmdlets a seguir, abordados neste artigo.
O PowerShell também inclui um conjunto de cmdlets projetados especialmente para exibir e alterar variáveis. Ao usar cmdlets Variable , não é necessário especificar a Variable:
unidade no nome. Este artigo não aborda o trabalho com cmdlets Variable .
Nota
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 a partir de 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 do sistema de arquivos, digite o nome da unidade. Por exemplo, escreva:
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.
Nota
O PowerShell usa aliases para permitir uma maneira familiar de trabalhar 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
Este comando obtém a lista de todas as variáveis e seus valores na sessão atual. Você pode usar esse comando de qualquer unidade do PowerShell.
Get-ChildItem -Path Variable:
Obter uma variável usando seu caminho de provedor
Este comando recupera um valor de variável 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
Este comando obtém as variáveis com nomes que começam com "max". Você pode usar esse comando de qualquer unidade do PowerShell.
Get-ChildItem -Path Variable:max*
Obter o valor do ? variável
Este comando usa o -LiteralPath
parâmetro Get-ChildItem para obter o ?
valor da variável de dentro da Variable:
unidade. O ?
é um curinga em 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
Este 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
Criação de 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 valor do -Path
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.
Variáveis variáveis variáveis
Renomear uma variável
Este 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
Este comando usa o Set-Item
cmdlet para alterar o ErrorActionPreference
valor da variável para "Stop".
Set-Item -Path Variable:ErrorActionPreference -Value Stop
Copiar uma variável
Este 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
Este comando exclui todas as variáveis da sessão atual, exceto as variáveis cuja propriedade Options 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
Este 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 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 ler mais sobre como usar o pipeline com cmdlets de provedor, consulte as referências de cmdlet fornecidas ao longo deste artigo.
Obter ajuda
A partir do Windows PowerShell 3.0, você pode obter tópicos de ajuda personalizados para cmdlets de provedor que explicam como esses cmdlets se comportam em uma unidade do 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: