Sobre provedores
Descrição breve
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 do sistema de arquivos.
Descrição longa
Os provedores do PowerShell são programas baseados em .NET Framework da Microsoft que disponibilizam os dados em um armazenamento de dados especializado no PowerShell para que você possa exibi-los e gerenciá-los.
Os dados expostos por um provedor 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 aos quais o provedor dá suporte 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.
Provedores internos
O PowerShell inclui um conjunto de provedores internos que você pode usar para acessar os diferentes tipos de armazenamentos de dados.
Provedor | Unidade | Armazenamento de dados |
---|---|---|
Alias | Alias: | Aliases do PowerShell |
Certificado | Cert: | Certificados X509 para assinaturas digitais |
Ambiente | Env: | Variáveis de ambiente do Windows |
FileSystem | (*) | Unidades, diretórios e arquivos do sistema de arquivos |
Função | Função: | Funções do PowerShell |
Registro | HKLM:, HKCU: | Registro do Windows |
Variável | Variável: | Variáveis do PowerShell |
WSMan | WSMan: | Informações de configuração do WS-Management |
(*) As unidades do FileSystem variam em cada sistema.
Você também pode criar seus próprios provedores do PowerShell e instalar provedores que outras pessoas desenvolvem. Para listar os provedores disponíveis em sua sessão, digite:
Get-PSProvider
Instalando e removendo provedores
Os provedores do PowerShell são entregues a você em snap-ins do PowerShell, que são programas baseados em .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 à sessão do PowerShell. Para obter mais informações, consulte about_PSSnapins.
Você não pode desinstalar um provedor, embora possa remover o snap-in do PowerShell para o provedor da sessão atual. Se você fizer isso, removerá todo o conteúdo do snap-in, incluindo seus cmdlets.
Para remover um provedor da sessão atual, use o Remove-PSSnapin
cmdlet . Esse cmdlet não desinstala o provedor, mas torna o provedor indisponível na sessão.
Você também pode usar o Remove-PSDrive
cmdlet 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.
Exibindo provedores
Para exibir os provedores do PowerShell no 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 expostos pelos provedores. 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 New-Item
cmdlet cria um novo item. C:
Na unidade compatível com o provedor FileSystem, você pode usar New-Item
para criar um novo arquivo ou pasta. Nas unidades compatíveis com o provedor do Registro , você pode usar New-Item
para criar uma nova chave do Registro. Alias:
Na unidade, 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
Cmdlets de conteúdo
Item Cmdlets
Cmdlets ItemProperty
- Clear-ItemProperty
- Copy-ItemProperty
- Get-ItemProperty
- Move-ItemProperty
- New-ItemProperty
- Remove-ItemProperty
- Rename-ItemProperty
- Set-ItemProperty
Cmdlets de localização
Cmdlets de caminho
Cmdlets do PSDrive
PSProvider Cmdlets
Exibindo dados do provedor
O principal benefício de um provedor é que ele expõe seus dados de maneira familiar e consistente. O modelo de apresentação de dados é uma unidade do sistema de arquivos.
Para usar os dados expostos pelo provedor, você os exibe, passa por ele e os altera como se fossem dados em um disco rígido. Portanto, as informações mais importantes sobre um provedor são o nome da unidade à qual ele dá suporte.
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 exibir e mover os dados em uma unidade do provedor da mesma forma que faria em uma unidade do 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 por dois-pontos (:). Por exemplo, para exibir o conteúdo do Alias: unidade, digite:
Get-Item alias:
Você pode exibir e gerenciar os dados em qualquer unidade de outra unidade, incluindo o nome da unidade no caminho. Por exemplo, para exibir a chave do Registro HKLM\Software no HKLM: unidade de outra unidade, digite:
Get-ChildItem HKLM:\SOFTWARE\
Para abrir a unidade, use o cmdlet Set-Location. Lembre-se dos dois-pontos quando você especificar o caminho da unidade. Por exemplo, para alterar sua localização para o diretório raiz da unidade Cert: , digite:
Set-Location cert:
Em seguida, para exibir o conteúdo da unidade Cert: , digite:
Get-ChildItem
Movendo-se através de dados hierárquicos
Você pode percorrer uma unidade do provedor da mesma forma que faria com uma unidade de disco rígido.
Se os dados forem organizados em uma hierarquia de itens dentro de itens, use uma barra invertida (\
) para indicar um item filho. Use o seguinte formato:
drive:\location\child-location\...
Por exemplo, para alterar sua localização 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 provedores também têm uma localização inicial . Esse local é compartilhado por todo PSDrives
o suporte do provedor. Ele pode ser recuperado exibindo 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 inicial 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 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 Cert:
unidade adiciona o parâmetro CodeSigningCert aos Get-Item
cmdlets e Get-ChildItem
. Você só pode usar esse parâmetro quando usa Get-Item
ou Get-ChildItem
na Cert:
unidade.
Para obter uma lista dos parâmetros dinâmicos compatíveis com um provedor, consulte o arquivo de Ajuda para o provedor. Tipo:
Get-Help <provider-name>
Por exemplo:
Get-Help certificate
Aprendendo sobre provedores
Embora todos os dados do provedor apareçam em unidades e você use os mesmos métodos para movê-los, a similaridade é interrompida por aí. Os armazenamentos de dados expostos pelo provedor podem ser tão variados quanto os locais do Active Directory e Microsoft Exchange Server caixas de correio.
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