Sobre Fornecedores
Breve descrição
Descreve como os fornecedores 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 num formato consistente que se assemelha a uma unidade do sistema de ficheiros.
Longa descrição
Os fornecedores powerShell são programas baseados no Microsoft .NET Framework que disponibilizam os dados numa loja de dados especializada no PowerShell para que possa vê-lo e geri-lo.
Os dados que um fornecedor expõe aparecem numa unidade e acedem aos dados num caminho como se fossem num disco rígido. Pode utilizar qualquer um dos cmdlets incorporados que o fornecedor suporta para gerir os dados na unidade do fornecedor. E, você pode usar cmdlets personalizados que são projetados especialmente para os dados.
Os fornecedores também podem adicionar parâmetros dinâmicos aos cmdlets incorporados. Estes são parâmetros que só estão disponíveis quando utiliza o cmdlet com os dados do fornecedor.
Fornecedores integrados
O PowerShell inclui um conjunto de fornecedores incorporados que pode utilizar para aceder aos diferentes tipos de lojas de dados.
Fornecedor | Lista de unidades | Arquivo de dados |
---|---|---|
Alias | Pseudónimo: | Pseudónimos powerShell |
Certificado | Cert: | certificados x509 para assinaturas digitais |
Ambiente | Env: | Variáveis ambientais do Windows |
FileSystem | (*) | Unidades de sistema de ficheiros, diretórios e ficheiros |
Função | Função: | Funções PowerShell |
Registo | HKLM:, HKCU: | Registo de janelas |
Variável | Variável: | Variáveis PowerShell |
WSMan | WSMan: | Informações de configuração da WS-Management |
(*) As unidades do FileSystem variam em cada sistema.
Também pode criar os seus próprios fornecedores PowerShell, e pode instalar fornecedores que outros desenvolvem. Para listar os fornecedores disponíveis na sua sessão, escreva:
Get-PSProvider
Instalação e remoção de fornecedores
Os fornecedores PowerShell são-lhe entregues em snap-ins powerShell, que são programas baseados em .NET Framework que são compilados em ficheiros .dll. Os snap-ins podem incluir fornecedores e cmdlets.
Antes de utilizar as funcionalidades do fornecedor, tem de instalar o encaixe e, em seguida, adicioná-lo à sessão PowerShell. Para mais informações, consulte about_PSSnapins.
Não é possível desinstalar um fornecedor, embora possa remover o encaixe PowerShell para o fornecedor da sessão atual. Se o fizer, removerá todo o conteúdo do encaixe, incluindo os seus cmdlets.
Para remover um fornecedor da sessão atual, utilize o Remove-PSSnapin
cmdlet. Esta cmdlet não desinstala o fornecedor, mas torna o fornecedor indisponível na sessão.
Também pode utilizar o Remove-PSDrive
cmdlet para remover qualquer unidade da sessão atual. Estes dados sobre a unidade não são afetados, mas a unidade já não está disponível nessa sessão.
Fornecedores de visualização
Para ver os fornecedores PowerShell no seu computador, escreva:
Get-PSProvider
A saída lista os fornecedores integrados e os fornecedores que adicionou à sessão.
Os cmdlets do fornecedor
Os cmdlets seguintes são concebidos para trabalhar com os dados expostos por qualquer fornecedor. Pode utilizar os mesmos cmdlets da mesma forma para gerir os diferentes tipos de dados que os fornecedores expõem. Depois de aprender a gerir os dados de um fornecedor, pode utilizar os mesmos procedimentos com os dados de qualquer fornecedor.
Por exemplo, o New-Item
cmdlet cria um novo item. Na C:
unidade suportada pelo fornecedor FileSystem, pode utilizar New-Item
para criar um novo ficheiro ou pasta. Nas unidades que são suportadas pelo fornecedor de registo, pode utilizar New-Item
para criar uma nova chave de registo. Na Alias:
unidade, pode usar New-Item
para criar um novo pseudónimo.
Para informações detalhadas sobre qualquer um dos seguintes cmdlets, escreva:
Get-Help <cmdlet-name> -Detailed
Cmdlets ChildItem
Cmdlets de conteúdo
Comandantes de item
- Artigo claro
- Artigo de cópia
- Get-Item
- Invocar item
- Artigo de movimento
- Novo artigo
- Remover artigo
- Item de renome
- Set-Item
ArtigoProperty cmdlets
- Limpar itemProperty
- Copy-ItemProperty
- Get-ItemProperty
- Move-ItemProperty
- Novo ItemProperty
- Remover-ItemProperty
- Renome-ItemProperty
- Set-ItemProperty
Cmdlets de localização
Caminhos cmdlets
Cmdlets PSDrive
PSProvider Cmdlets
Visualização de dados do fornecedor
O principal benefício de um fornecedor é que expõe os seus dados de forma familiar e consistente. O modelo para apresentação de dados é uma unidade do sistema de ficheiros.
Para utilizar dados que o fornecedor expõe, vê-o, move-se através dele e altera-os como se fossem dados num disco rígido. Portanto, a informação mais importante sobre um fornecedor é o nome da unidade que suporta.
A unidade está listada no visor predefinido do Get-PSProvider
cmdlet, mas pode obter informações sobre a unidade do fornecedor utilizando o Get-PSDrive
cmdlet. Por exemplo, para obter todas as propriedades da Função: unidade, escreva:
Get-PSDrive Function | Format-List *
Pode visualizar e mover os dados numa unidade de fornecedor, tal como faria numa unidade do sistema de ficheiros.
Para visualizar o conteúdo de uma unidade de fornecedor, utilize os cmdlets Get-Item ou Get-ChildItem. Digite o nome de unidade seguido de um cólon (:). Por exemplo, para ver o conteúdo do Alias: unidade, tipo:
Get-Item alias:
Pode visualizar e gerir os dados em qualquer unidade a partir de outra unidade, incluindo o nome de unidade no caminho. Por exemplo, para ver a chave de registo HKLM\Software na HKLM: unidade a partir de outra unidade, escreva:
Get-ChildItem HKLM:\SOFTWARE\
Para abrir a unidade, utilize o cmdlet set-location. Lembre-se do cólon quando especificar o caminho de unidade. Por exemplo, para alterar a sua localização para o diretório de raiz do Certificado: unidade, escreva:
Set-Location cert:
Em seguida, para ver o conteúdo do Cert: unidade, escreva:
Get-ChildItem
Movendo-se através de dados hierárquicos
Pode mover-se através de um fornecedor, tal como faria com um disco rígido.
Se os dados estiverem dispostos numa hierarquia de itens dentro de itens, utilize um backslash \
() para indicar um item para crianças. Utilize o seguinte formato:
drive:\location\child-location\...
Por exemplo, para alterar a sua localização para a chave de registo HKLM\Software, digite um comando de localização de definição, como:
Set-Location HKLM:\SOFTWARE\
Também pode utilizar referências relativas a locais. Um ponto (.) representa a localização atual. Por exemplo, se estiver na tecla de registo HKLM:\Software\Microsoft e pretender listar as sub-teclas de registo na tecla HKLM:\Software\Microsoft\PowerShell, escreva o seguinte comando:
Get-ChildItem .\PowerShell
Provedor Home
Os fornecedores também têm uma localização home. Esta localização é partilhada por todos PSDrives
apoiados pelo fornecedor. Pode ser recuperado visualizando a propriedade home do fornecedor.
Get-PSProvider | Format-Table Name, Home
Name Home
---- ----
Registry
Alias
Environment
FileSystem C:\Users\robreed
Function
Variable
Certificate
O fornecedor FileSystem é o único fornecedor que tem um valor padrão para o Home. É o mesmo valor $Home
que about_Automatic_Variablesver.
Pode definir o diretório home para um fornecedor, para a sessão atual, usando a sua propriedade.
(Get-PSProvider FileSystem).Home = "C:\"
O ~
personagem pode ser usado para representar o diretório do fornecedor.
Se o fornecedor não tiver um conjunto de localização Home, 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
...
Encontrar parâmetros dinâmicos
Os parâmetros dinâmicos são parâmetros de cmdlet que são adicionados a um cmdlet por um provedor. Estes parâmetros só estão disponíveis quando o cmdlet é utilizado com o fornecedor que os adicionou.
Por exemplo, a Cert:
unidade adiciona o parâmetro CodeSigningCert aos Get-Item
Get-ChildItem
cmdlets e cmdlets. Só pode utilizar este parâmetro quando utilizar Get-Item
ou Get-ChildItem
na Cert:
unidade.
Para obter uma lista dos parâmetros dinâmicos que um fornecedor suporta, consulte o ficheiro de Ajuda do fornecedor. Escreva:
Get-Help <provider-name>
Por exemplo:
Get-Help certificate
Aprender sobre fornecedores
Embora todos os dados do fornecedor apareçam em unidades, e você use os mesmos métodos para mover-se através deles, a semelhança para por aí. As lojas de dados que o fornecedor expõe podem ser tão variadas como as localizações do Ative Directory e as caixas de correio do Microsoft Exchange Server.
Para obter informações sobre fornecedores individuais de PowerShell, escreva:
Get-Help <ProviderName>
Por exemplo:
Get-Help registry
Para uma lista de tópicos de ajuda sobre os fornecedores, escreva:
Get-Help * -Category Provider