Partilhar via


Sobre os fornecedores

Breve descrição

Descreve como os provedores do PowerShell fornecem acesso a dados e componentes que, de outra forma, não seriam facilmente acessíveis na linha de comando. Os dados são apresentados em um formato consistente que se assemelha a uma unidade de sistema de arquivos.

Descrição longa

Os provedores do PowerShell são programas baseados no Microsoft .NET Framework que disponibilizam os dados em um armazenamento de dados especializado no PowerShell para que você possa exibi-los e gerenciá-los.

Os dados que um provedor expõe aparecem em uma unidade e você acessa os dados em um caminho como faria em uma unidade de disco rígido. Você pode usar qualquer um dos cmdlets internos suportados pelo provedor para gerenciar os dados na unidade do provedor. Além disso, você pode usar cmdlets personalizados projetados especialmente para os dados.

Os provedores também podem adicionar parâmetros dinâmicos aos cmdlets internos. Esses são parâmetros que estão disponíveis somente quando você usa o cmdlet com os dados do provedor.

Fornecedores integrados

O PowerShell inclui um conjunto de provedores internos que você pode usar para acessar os diferentes tipos de armazenamentos de dados.

Fornecedor Conduzir Armazenamento de dados
Nome alternativo Pseudônimo: Aliases do PowerShell
Certidão Certidão: Certificados x509 para assinaturas digitais
Meio Ambiente Env: Variáveis de ambiente do Windows
Sistema de arquivos (*) Unidades, diretórios e arquivos do sistema de arquivos
Função Função: Funções do PowerShell
Registo HKLM:, HKCU: Registro do Windows
Variável Variável: Variáveis do PowerShell
WSMan WSMan: WS-Management informações de configuração

(*) As unidades FileSystem variam em cada sistema.

Você também pode criar seus próprios provedores do PowerShell e instalar provedores que outros desenvolvem. Para listar os provedores disponíveis em sua sessão, digite:

Get-PSProvider

Instalação e remoção de fornecedores

Os provedores do PowerShell são entregues a você em snap-ins do PowerShell, que são programas baseados no .NET Framework que são compilados em arquivos .dll. Os snap-ins podem incluir provedores e cmdlets.

Antes de usar os recursos do provedor, você precisa instalar o snap-in e adicioná-lo à sua sessão do PowerShell. Para obter mais informações, consulte about_PSSnapins.

Não é possível desinstalar um provedor, embora seja possível remover o snap-in do PowerShell para o provedor da sessão atual. Se o fizer, removerá todo o conteúdo do snap-in, incluindo os seus cmdlets.

Para remover um provedor da sessão atual, use o Remove-PSSnapin cmdlet. Esse cmdlet não desinstala o provedor, mas o torna indisponível na sessão.

Você também pode usar o cmdlet Remove-PSDrive para remover qualquer unidade da sessão atual. Esses dados na unidade não são afetados, mas a unidade não está mais disponível nessa sessão.

Visualizando provedores

Para exibir os provedores do PowerShell em seu computador, digite:

Get-PSProvider

A saída lista os provedores internos e os provedores que você adicionou à sessão.

Os cmdlets do provedor

Os cmdlets a seguir foram projetados para trabalhar com os dados expostos por qualquer provedor. Você pode usar os mesmos cmdlets da mesma maneira para gerenciar os diferentes tipos de dados que os provedores expõem. Depois de aprender a gerenciar os dados de um provedor, você pode usar os mesmos procedimentos com os dados de qualquer provedor.

Por exemplo, o cmdlet New-Item cria um novo item. Na unidade suportada C: pelo provedor FileSystem , você pode usar New-Item para criar um novo arquivo ou pasta. Nas unidades suportadas pelo fornecedor de de registo, pode utilizar New-Item para criar uma nova chave de registo. Na unidade Alias:, você pode usar New-Item para criar um novo alias.

Para obter informações detalhadas sobre qualquer um dos seguintes cmdlets, digite:

Get-Help <cmdlet-name> -Detailed

Cmdlets ChildItem

  • Get-ChildItem

Cmdlets de conteúdo

Item Cmdlets

Cmdlets ItemProperty

Cmdlets de localização

Cmdlets de caminho

Cmdlets PSDrive

PSProvider Cmdlets

Visualizando dados do provedor

O principal benefício de um provedor é que ele expõe seus dados de forma familiar e consistente. O modelo para apresentação de dados é uma unidade de sistema de arquivos.

Para usar os dados que o provedor expõe, você os visualiza, move através deles e os altera como se fossem dados em um disco rígido. Portanto, as informações mais importantes sobre um provedor é o nome da unidade que ele suporta.

A unidade está listada na exibição padrão do Get-PSProvider cmdlet, mas você pode obter informações sobre a unidade do provedor usando o Get-PSDrive cmdlet. Por exemplo, para obter todas as propriedades da unidade Function:, digite:

Get-PSDrive Function | Format-List *

Você pode visualizar e mover os dados em uma unidade de provedor da mesma forma que faria em uma unidade de sistema de arquivos.

Para exibir o conteúdo de uma unidade de provedor, use os cmdlets Get-Item ou Get-ChildItem. Digite o nome da unidade seguido de dois pontos (:). Por exemplo, para exibir o conteúdo da unidade Alias:, digite:

Get-Item alias:

Você pode visualizar e gerenciar os dados em qualquer unidade de outra unidade incluindo o nome da unidade no caminho. Por exemplo, para visualizar a chave de registo HKLM\Software na unidade HKLM: a partir de outra unidade, escreva:

Get-ChildItem HKLM:\SOFTWARE\

Para abrir a unidade, use o cmdlet Set-Location. Lembre-se dos dois pontos quando especificar o caminho da unidade. Por exemplo, para alterar seu local para o diretório raiz da unidade Cert:, digite:

Set-Location cert:

Em seguida, para visualizar o conteúdo da unidade Cert:, digite:

Get-ChildItem

Movendo-se através de dados hierárquicos

Pode mover-se através de uma unidade de fornecedor tal como faria com uma unidade de disco rígido. Se os dados estiverem organizados em uma hierarquia de itens dentro dos itens, use uma barra invertida (\) para indicar um item filho. Use o seguinte formato:

drive:\location\child-location\...

Por exemplo, para alterar seu local para a chave do Registro HKLM\Software, digite um comando Set-Location, como:

Set-Location HKLM:\SOFTWARE\

Você também pode usar referências relativas a locais. Um ponto (.) representa o local atual. Por exemplo, se você estiver na chave do Registro HKLM:\Software\Microsoft e quiser listar as subchaves do Registro na chave HKLM:\Software\Microsoft\PowerShell, digite o seguinte comando:

Get-ChildItem .\PowerShell

Página inicial do provedor

Os fornecedores também têm uma localização Home. Esta localização é partilhada por todos os PSDrives apoiados pelo fornecedor. Ele pode ser recuperado visualizando a propriedade Home do provedor.

Get-PSProvider | Format-Table Name, Home
Name        Home
----        ----
Registry
Alias
Environment
FileSystem  C:\Users\robreed
Function
Variable
Certificate

O provedor FileSystem é o único provedor que tem um valor padrão para Home. É o mesmo valor que $Home ver about_Automatic_Variables.

Você pode definir o diretório Home para um provedor, para a sessão atual, usando sua propriedade.

(Get-PSProvider FileSystem).Home = "C:\"

O caractere ~ pode ser usado para representar o diretório base do provedor. Se o provedor não tiver um local de Início definido, você verá um erro.

Cert:\> Set-Location ~
Set-Location : Home location for this provider is not set. To set the home
location, call "(get-psprovider 'Certificate').Home = 'path'".
At line:1 char:1
+ Set-Location ~
+ ~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Set-Location],
                              PSInvalidOperationException
...

Localizando parâmetros dinâmicos

Parâmetros dinâmicos são parâmetros de cmdlet que são adicionados a um cmdlet por um provedor. Esses parâmetros estão disponíveis somente quando o cmdlet é usado com o provedor que os adicionou.

Por exemplo, a unidade Cert: adiciona o parâmetro CodeSigningCert aos cmdlets Get-Item e Get-ChildItem. Você pode usar esse parâmetro somente quando usar Get-Item ou Get-ChildItem na unidade Cert:.

Para obter uma lista dos parâmetros dinâmicos suportados por um provedor, consulte o arquivo de Ajuda do provedor. Tipo:

Get-Help <provider-name>

Por exemplo:

Get-Help certificate

Aprender sobre os fornecedores

Embora todos os dados do provedor apareçam em unidades e você use os mesmos métodos para percorrê-los, a semelhança para aí. Os armazenamentos de dados que o provedor expõe podem ser tão variados quanto locais do Ative Directory e caixas de correio do Microsoft Exchange Server.

Para obter informações sobre provedores individuais do PowerShell, digite:

Get-Help <ProviderName>

Por exemplo:

Get-Help registry

Para obter uma lista de tópicos da Ajuda sobre os provedores, digite:

Get-Help * -Category Provider

Ver também

about_Locations

sobre_Sintaxe_de_Caminhos