Partilhar via


about_Variable_Provider

Nome do fornecedor

Variável

Drives

Variable:

Capabilities

Deve Processar

Breve descrição

Fornece acesso às variáveis do PowerShell e aos seus valores.

Descrição detalhada

O provedor PowerShell Variable permite obter, adicionar, alterar, limpar e excluir variáveis do PowerShell no console atual.

O provedor PowerShell Variable 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 de de variáveis 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 os cmdlets Variable, não é necessário especificar a unidade Variable: no nome. Este artigo não trata do uso de 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 variável p e armazena os resultados de um comando Get-Process 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 classe PSVariable. Outras variáveis e seus tipos estão listados abaixo.

  • A variável ? é uma instância da classe QuestionMarkVariable.
  • A variável null é uma instância da classe NullVariable.
  • As variáveis de contagem máxima são instâncias da classe SessionStateCapacityVariable.
  • LocalVariable instâncias contêm informações sobre a execução atual, como:
    • MyInvocation
    • PSCommandPath
    • PSScriptRoot
    • PSBoundParameters
    • args
    • input

O provedor de variável expõe o seu armazenamento de dados na unidade Variable:. Para trabalhar com variáveis, você pode alterar seu local para a unidade Variable: (Set-Location Variable:) ou pode trabalhar a partir de qualquer outra unidade do PowerShell. Para referenciar 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, digite:

Set-Location C:

Você também pode trabalhar com o provedor da variável 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.

Observação

O PowerShell usa aliases para permitir uma forma familiar de trabalhar com caminhos de fornecedores. Comandos como dir e ls agora são sinónimos para Get-ChildItem, e cd é um sinónimo 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 este comando a partir de qualquer unidade do PowerShell.

Get-ChildItem -Path Variable:

Obtenha uma variável usando o caminho do seu provedor

Este comando recupera o valor de uma variável usando o 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 este comando a partir de qualquer unidade do PowerShell.

Get-ChildItem -Path Variable:Max*

Obtenha o valor de ? variável

Este comando usa o parâmetro -LiteralPath de Get-ChildItem para obter o valor da variável ? de dentro da unidade Variable:. O ? é um curinga em caminhos, mas Get-ChildItem não tenta resolver nenhum curinga nos valores do parâmetro -LiteralPath.

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 a 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 variável services e armazena os resultados de um comando Get-Service nela. Como o local atual está na unidade Variable:, o valor do parâmetro -Path é um ponto (.), que representa o local atual.

Os parênteses ao redor do comando Get-Service 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 variável services e armazena o resultado de um comando Get-Service 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 cmdlet Rename-Item para alterar o nome da variável a para processes.

Rename-Item -Path Variable:a -NewName processes

Alterar o valor de uma variável

Este comando usa o cmdlet Set-Item para alterar o valor da variável ErrorActionPreference para "Stop".

Set-Item -Path Variable:ErrorActionPreference -Value Stop

Copiar uma variável

Este comando usa o cmdlet Copy-Item para copiar a variável processes para old_processes. Isso cria uma nova variável chamada old_processes que tem o mesmo valor que a variável processes.

Copy-Item -Path Variable:processes -Destination Variable:old_processes

Excluir uma variável

Este comando exclui a variável serv da sessão atual. Você pode usar este 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 parâmetro -Force, 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 cmdlet Clear-Item para alterar o valor da variável processes para NULL.

Clear-Item -Path Variable:processes

Usando o pipeline

Os cmdlets do fornecedor aceitam entradas do pipeline. Você pode usar o pipeline para simplificar a execução de uma tarefa enviando dados do provedor de um cmdlet para outro cmdlet do provedor. Para ler mais sobre como utilizar o pipeline com Cmdlets de provedor, consulte as referências de Cmdlets fornecidas neste artigo.

Obter ajuda

A partir do Windows PowerShell 3.0, pode obter tópicos de ajuda personalizados para cmdlets de provedor que explicam como esses cmdlets se comportam numa unidade de sistema de ficheiros.

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

Consulte também