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 da QuestionMarkVariable classe.
  • A null variável é uma instância da NullVariable 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

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:

Confira também