about_Providers
Breve descrição
Descreve como os fornecedores do PowerShell fornecem acesso a dados e componentes que de outra forma não seriam facilmente acessíveis na linha de comandos. Os dados são apresentados num formato consistente que se assemelha a uma unidade do sistema de ficheiros.
Descrição longa
Os fornecedores do PowerShell são programas .NET que fornecem acesso a arquivos de dados especializados para facilitar a visualização e gestão. Os dados são apresentados numa unidade e acede aos dados num caminho como faria numa unidade de disco rígido. Pode utilizar qualquer um dos cmdlets incorporados que o fornecedor suporta para gerir os dados na unidade do fornecedor. Além disso, pode utilizar cmdlets personalizados concebidos especialmente para os dados.
Os fornecedores também podem adicionar parâmetros dinâmicos aos cmdlets incorporados. Estes parâmetros só estão disponíveis quando utiliza o cmdlet com os dados do fornecedor.
Fornecedores incorporados
O PowerShell inclui um conjunto de fornecedores incorporados que fornecem acesso a diferentes tipos de objetos.
- Fornecedor de alias
- Unidade -
Alias:
- Tipos de objeto - System.Management.Automation.AliasInfo
- Unidade -
- Fornecedor de certificados
- Unidade -
Cert:
- Tipos de objeto - Microsoft.PowerShell.Commands.X509StoreLocation, System.Security.Cryptography.X509Certificates.X509Certificate2
- Unidade -
- Fornecedor de ambiente
- Unidade -
Env:
- Tipos de objeto - System.Collections.DictionaryEntry
- Unidade -
- Fornecedor fileSystem
- Unidade -
C:
e outra dependendo do hardware - Tipos de objeto - System.IO.FileInfo, System.IO.DirectoryInfo
- Unidade -
- Fornecedor de funções
- Unidade -
Function:
- Tipos de objeto - System.Management.Automation.FunctionInfo
- Unidade -
- Fornecedor de registo
- Unidade -
HKLM:
,HKCU:
- Tipos de objeto - Microsoft.Win32.RegistryKey
- Unidade -
- Fornecedor de variáveis
- Unidade -
Variable:
- Tipos de objeto - System.Management.Automation.PSVariable
- Unidade -
- Fornecedor WSMan
- Unidade -
WSMan:
- Tipos de objeto - Microsoft.WSMan.Management.WSManConfigContainerElement
- Unidade -
Também pode criar os seus próprios fornecedores do PowerShell e instalar fornecedores que outras pessoas desenvolvam. Para listar os fornecedores que estão disponíveis na sua sessão, escreva:
Get-PSProvider
Nota
Os fornecedores de Certificado, Registo e WSMan só estão disponíveis na plataforma do Windows.
Instalar e remover fornecedores
Normalmente, os fornecedores são instalados através de módulos do PowerShell. Importar o módulo carrega o fornecedor para a sua sessão. Não pode desinstalar os fornecedores incorporados. Pode desinstalar fornecedores carregados por outros módulos.
Pode descarregar um fornecedor da sessão atual com o Remove-Module
cmdlet. Este 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 na unidade não são afetados, mas a unidade já não está disponível nessa sessão.
Ver fornecedores
Para ver os fornecedores do PowerShell no seu computador, escreva:
Get-PSProvider
O resultado lista os fornecedores incorporados e os fornecedores que adicionou à sessão.
Os cmdlets do fornecedor
Os seguintes cmdlets foram concebidos para funcionar 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. C:
Na unidade suportada pelo fornecedor fileSystem, pode utilizar New-Item
para criar um novo ficheiro ou pasta. Nas unidades suportadas pelo fornecedor de Registo , pode utilizar New-Item
para criar uma nova chave de registo. Alias:
Na unidade, pode utilizar New-Item
para criar um novo alias.
Para obter informações detalhadas sobre qualquer um dos seguintes cmdlets, escreva:
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
Ver dados do fornecedor
O principal benefício de um fornecedor é expor os seus dados de uma forma familiar e consistente. O modelo de apresentação de dados é uma unidade do sistema de ficheiros.
O fornecedor permite-lhe ver, navegar e alterar itens no arquivo de dados como se fossem dados num sistema de ficheiros. O arquivo de dados é acedido pelo nome da unidade que suporta.
A unidade está listada na apresentação predefinida do Get-PSProvider
cmdlet, mas pode obter informações sobre a unidade do fornecedor com o Get-PSDrive
cmdlet . Por exemplo, para obter todas as propriedades da unidade Function: , escreva:
Get-PSDrive Function | Format-List *
Pode ver e mover-se pelos dados numa unidade de fornecedor, tal como faria numa unidade do sistema de ficheiros.
Para ver o conteúdo de uma unidade de fornecedor, utilize os Get-Item
cmdlets ou Get-ChildItem
. Escreva o nome da unidade seguido de dois pontos (:
). Por exemplo, para ver o conteúdo da Alias:
unidade, escreva:
Get-Item alias:
Pode ver e gerir os dados em qualquer unidade a partir de outra unidade, incluindo o nome da unidade no caminho. Por exemplo, para ver a HKLM\Software
chave de registo na unidade a HKLM:
partir de outra unidade, escreva:
Get-ChildItem HKLM:\SOFTWARE\
Para abrir a unidade, utilize o Set-Location
cmdlet . Lembre-se dos dois pontos quando especificar o caminho da unidade. Por exemplo, para alterar a sua localização para o diretório de raiz da Cert:
unidade, escreva:
Set-Location cert:
Em seguida, para ver o conteúdo da Cert:
unidade, escreva:
Get-ChildItem
Mover-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 dispostos numa hierarquia de itens dentro de itens, utilize uma barra invertida (\
) para indicar um item subordinado. Utilize o seguinte formato:
drive:\location\child-location\...
Por exemplo, para alterar a sua localização para a chave de HKLM\Software
registo, escreva um Set-Location
comando, como:
Set-Location HKLM:\SOFTWARE\
Se qualquer elemento no nome completamente qualificado incluir espaços, tem de colocar o nome entre aspas ("
). O exemplo seguinte mostra um caminho completamente qualificado que inclui espaços.
"C:\Program Files\Internet Explorer\iexplore.exe"
Também pode utilizar referências relativas a localizações. Um ponto (.
) representa a localização atual. Por exemplo, se estiver na chave do HKLM:\Software\Microsoft
registo e quiser listar as subchaves de registo na HKLM:\Software\Microsoft\PowerShell
chave, escreva o seguinte comando:
Get-ChildItem .\PowerShell
Além disso, os pontos duplos (..
) referem-se ao diretório ou contentor diretamente acima da sua localização atual. Pode utilizar pontos duplos (..
) para navegar numa hierarquia de fornecedores.
PS HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\> cd ..\..\LanmanWorkstation\Parameters
PS HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters>
Home Page do Fornecedor
Os fornecedores também têm uma localização Home Page . Esta localização é partilhada por todos os PSDrives
fornecedores. Pode ser obtido ao ver a propriedade Home Page do fornecedor.
Get-PSProvider | Format-Table Name, Home
Name Home
---- ----
Registry
Alias
Environment
FileSystem C:\Users\username
Function
Variable
Certificate
O fornecedor fileSystem é o único fornecedor que tem um valor predefinido para Home Page. É o mesmo valor $HOME
que . Para obter mais informações, veja about_Automatic_Variables.
Pode definir o diretório Home para um fornecedor, para a sessão atual, utilizando a respetiva propriedade.
(Get-PSProvider FileSystem).Home = "C:\"
O ~
caráter pode ser utilizado para representar o diretório raiz do fornecedor. Se o fornecedor não tiver uma localização Home Page definida, verá um erro.
Cert:\> Set-Location ~
Set-Location : Home location for this provider isn't set. To set the home
location, call "(get-psprovider 'Certificate').Home = 'path'".
At line:1 char:1
+ Set-Location ~
+ ~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Set-Location],
PSInvalidOperationException
...
Localizar parâmetros dinâmicos
Os parâmetros dinâmicos são parâmetros de cmdlet que são adicionados a um cmdlet por um fornecedor. 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
cmdlets e Get-ChildItem
. 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 suportados por um fornecedor, veja o ficheiro de Ajuda do fornecedor. Escreva:
Get-Help <provider-name>
Por exemplo:
Get-Help certificate
Saiba mais sobre fornecedores
Apesar de todos os dados do fornecedor aparecerem em unidades e utilizar os mesmos métodos para os mover, a semelhança deixa de existir. Os arquivos de dados que o fornecedor expõe podem ser tão variados como as localizações do Active Directory e Microsoft Exchange Server caixas de correio.
Para obter informações sobre fornecedores individuais do PowerShell, escreva:
Get-Help <ProviderName>
Por exemplo:
Get-Help registry
Para obter uma lista de tópicos de Ajuda sobre os fornecedores, escreva:
Get-Help * -Category Provider