Partilhar via


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 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 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:

Consulte também