about_Providers
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 .NET que fornecem acesso a armazenamentos de dados especializados para facilitar a exibição e o gerenciamento. Os dados 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 parâmetros só estão disponíveis quando você usa o cmdlet com os dados do provedor.
Fornecedores integrados
O PowerShell inclui um conjunto de provedores internos que fornecem acesso a diferentes tipos de objetos.
- Provedor de alias
- Conduzir-
Alias:
- Tipos de objeto - System.Management.Automation.AliasInfo
- Conduzir-
- Provedor de certificados
- Conduzir-
Cert:
- Tipos de objeto - Microsoft.PowerShell.Commands.X509StoreLocation, System.Security.Cryptography.X509Certificates.X509Certificate2
- Conduzir-
- Fornecedor de ambiente
- Conduzir-
Env:
- Tipos de objeto - System.Collections.DictionaryEntry
- Conduzir-
- Provedor de sistema de arquivos
- Drive -
C:
e outros, dependendo do hardware - Tipos de objeto - System.IO.FileInfo, System.IO.DirectoryInfo
- Drive -
- Provedor de funções
- Conduzir-
Function:
- Tipos de objeto - System.Management.Automation.FunctionInfo
- Conduzir-
- Provedor de registro
- Condução -
HKLM:
,HKCU:
- Tipos de objeto - Microsoft.Win32.RegistryKey
- Condução -
- Provedor variável
- Conduzir-
Variable:
- Tipos de objeto - System.Management.Automation.PSVariable
- Conduzir-
- Provedor WSMan
- Conduzir-
WSMan:
- Tipos de objeto - Microsoft.WSMan.Management.WSManConfigContainerElement
- Conduzir-
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
Nota
Os provedores de Certificado, Registro e WSMan só estão disponíveis na plataforma Windows.
Instalação e remoção de fornecedores
Normalmente, os provedores são instalados por meio de módulos do PowerShell. A importação do módulo carrega o provedor em sua sessão. Não é possível desinstalar os fornecedores incorporados. Você pode desinstalar provedores carregados por outros módulos.
Você pode descarregar um provedor da sessão atual usando o Remove-Module
cmdlet. Esse cmdlet não desinstala o provedor, mas o torna 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.
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 New-Item
cmdlet cria um novo item. C:
Na unidade suportada pelo provedor FileSystem, você pode usar New-Item
para criar um novo arquivo ou pasta. Nas unidades suportadas pelo 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
- Limpar-Item
- Copiar-Item
- Get-Item
- invocar-item
- Mover-Item
- Novo-Item
- Remover-Item
- Renomear-Item
- Set-Item
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 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.
O provedor permite visualizar, navegar e alterar itens no armazenamento de dados como se fossem dados em um sistema de arquivos. O armazenamento de dados é acessado pelo 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 Get-Item
cmdlets ou Get-ChildItem
. Digite o nome da unidade seguido de dois pontos (:
). Por exemplo, para visualizar o Alias:
conteúdo da unidade, 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 exibir a HKLM\Software
chave do Registro na unidade de HKLM:
outra unidade, digite:
Get-ChildItem HKLM:\SOFTWARE\
Para abrir a unidade, use o Set-Location
cmdlet. Lembre-se dos dois pontos quando especificar o caminho da unidade. Por exemplo, para alterar seu local para o diretório raiz da Cert:
unidade, digite:
Set-Location cert:
Em seguida, para visualizar o Cert:
conteúdo da unidade, 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 HKLM\Software
Registro, digite um Set-Location
comando, como:
Set-Location HKLM:\SOFTWARE\
Se qualquer elemento no nome totalmente qualificado incluir espaços, você deverá colocar o nome entre aspas duplas ("
). O exemplo a seguir mostra um caminho totalmente qualificado que inclui espaços.
"C:\Program Files\Internet Explorer\iexplore.exe"
Você também pode usar referências relativas a locais. Um ponto (.
) representa o local atual. Por exemplo, se você estiver na chave do HKLM:\Software\Microsoft
Registro e quiser listar as subchaves do HKLM:\Software\Microsoft\PowerShell
Registro na chave, digite o seguinte comando:
Get-ChildItem .\PowerShell
Além disso, pontos duplos (..
) refere-se ao diretório ou contêiner diretamente acima de sua localização atual. Você pode usar pontos duplos (..
) para navegar por uma hierarquia de provedores.
PS HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\> cd ..\..\LanmanWorkstation\Parameters
PS HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters>
Página inicial do provedor
Os provedores também têm um local de residência . Esta localização é partilhada por todos PSDrives
os 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\username
Function
Variable
Certificate
O provedor FileSystem é o único provedor que tem um valor padrão para Home. É o mesmo valor $HOME
que . Para obter mais informações, consulte 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 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
...
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 Cert:
unidade adiciona o parâmetro CodeSigningCert aos Get-Item
cmdlets e Get-ChildItem
. Você pode usar esse parâmetro somente quando você usa Get-Item
ou Get-ChildItem
na Cert:
unidade.
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