Share via


about_Providers

Korte beschrijving

Hierin wordt beschreven hoe PowerShell-providers toegang bieden tot gegevens en onderdelen die anders niet gemakkelijk toegankelijk zouden zijn via de opdrachtregel. De gegevens worden weergegeven in een consistente indeling die lijkt op een bestandssysteemstation.

Lange beschrijving

PowerShell-providers zijn .NET-programma's die toegang bieden tot gespecialiseerde gegevensarchieven voor eenvoudigere weergave en beheer. De gegevens worden weergegeven op een station en u opent de gegevens in een pad zoals u op een harde schijf zou doen. U kunt een van de ingebouwde cmdlets die de provider ondersteunt gebruiken om de gegevens in het providerstation te beheren. En u kunt aangepaste cmdlets gebruiken die speciaal zijn ontworpen voor de gegevens.

De providers kunnen ook dynamische parameters toevoegen aan de ingebouwde cmdlets. Deze parameters zijn alleen beschikbaar wanneer u de cmdlet gebruikt met de providergegevens.

Ingebouwde providers

PowerShell bevat een set ingebouwde providers die u kunt gebruiken om toegang te krijgen tot de verschillende typen gegevensarchieven.

Provider Station(en) OutputType
Alias Alias: System.Management.Automation.AliasInfo
Certificaat Cert: Microsoft.PowerShell.Commands.X509StoreLocation
System.Security.Cryptography.X509Certificates.X509Certificate2
Omgeving Env: System.Collections.DictionaryEntry
Bestandssysteem C: (*) System.IO.FileInfo
System.IO.DirectoryInfo
Functie Functie: System.Management.Automation.FunctionInfo
Register HKLM: HKCU: Microsoft.Win32.RegistryKey
Variabele Variabele: System.Management.Automation.PSVariable
WSMan WSMan: Microsoft.WSMan.Management.WSManConfigContainerElement

(*) De bestandssysteemstations verschillen per systeem.

U kunt ook uw eigen PowerShell-providers maken en providers installeren die anderen ontwikkelen. Als u de providers wilt weergeven die beschikbaar zijn in uw sessie, typt u:

Get-PSProvider

Notitie

De providers Certificate, Registry en WSMan zijn alleen beschikbaar op het Windows-platform.

Providers installeren en verwijderen

Providers worden doorgaans geïnstalleerd via PowerShell-modules. Als u de module importeert, wordt de provider in uw sessie geladen. U kunt de ingebouwde providers niet verwijderen. U kunt providers verwijderen die door andere modules zijn geladen.

U kunt een provider uit de huidige sessie verwijderen met behulp van de Remove-Module cmdlet. Deze cmdlet verwijdert de provider niet, maar zorgt ervoor dat de provider niet beschikbaar is in de sessie.

U kunt de Remove-PSDrive cmdlet ook gebruiken om een station uit de huidige sessie te verwijderen. Deze gegevens op het station worden niet beïnvloed, maar het station is niet meer beschikbaar in die sessie.

Providers weergeven

Als u de PowerShell-providers op uw computer wilt weergeven, typt u:

Get-PSProvider

De uitvoer bevat de ingebouwde providers en de providers die u aan de sessie hebt toegevoegd.

De provider-cmdlets

De volgende cmdlets zijn ontworpen om te werken met de gegevens die door een provider worden weergegeven. U kunt dezelfde cmdlets op dezelfde manier gebruiken om de verschillende typen gegevens te beheren die providers beschikbaar maken. Nadat u hebt geleerd hoe u de gegevens van één provider beheert, kunt u dezelfde procedures gebruiken met de gegevens van elke provider.

De cmdlet maakt bijvoorbeeld New-Item een nieuw item. In het C: station dat wordt ondersteund door de bestandssysteemprovider , kunt u gebruiken New-Item om een nieuw bestand of nieuwe map te maken. In de stations die worden ondersteund door de registerprovider , kunt u gebruiken New-Item om een nieuwe registersleutel te maken. In het Alias: station kunt u gebruiken New-Item om een nieuwe alias te maken.

Voor gedetailleerde informatie over een van de volgende cmdlets typt u:

Get-Help <cmdlet-name> -Detailed

ChildItem-cmdlets

Inhouds-cmdlets

Item-cmdlets

ItemProperty-cmdlets

Locatie-cmdlets

Pad-cmdlets

PSDrive-cmdlets

PSProvider-cmdlets

Providergegevens weergeven

Het belangrijkste voordeel van een provider is dat deze de gegevens op een vertrouwde en consistente manier beschikbaar maakt. Het model voor gegevenspresentatie is een bestandssysteemstation.

Met de provider kunt u items in het gegevensarchief bekijken, navigeren en wijzigen alsof het gegevens in een bestandssysteem zijn. Het gegevensarchief is toegankelijk via de naam van het station dat wordt ondersteund.

Het station wordt vermeld in de standaardweergave van de Get-PSProvider cmdlet, maar u kunt informatie over het providerstation ophalen met behulp van de Get-PSDrive cmdlet. Als u bijvoorbeeld alle eigenschappen van het station Functie: wilt ophalen, typt u:

Get-PSDrive Function | Format-List *

U kunt de gegevens in een providerstation weergeven en doorlopen, net zoals op een bestandssysteemstation.

Als u de inhoud van een providerstation wilt weergeven, gebruikt u de cmdlets Get-Item of Get-ChildItem. Typ de naam van het station gevolgd door een dubbele punt (:). Als u bijvoorbeeld de inhoud van het station Alias: wilt weergeven, typt u:

Get-Item alias:

U kunt de gegevens in elk station van een ander station weergeven en beheren door de naam van het station op te geven in het pad. Als u bijvoorbeeld de registersleutel HKLM\Software wilt weergeven in het HKLM:-station van een ander station, typt u:

Get-ChildItem HKLM:\SOFTWARE\

Gebruik de cmdlet Set-Location om het station te openen. Onthoud de dubbele punt wanneer u het pad opgeeft. Als u bijvoorbeeld uw locatie wilt wijzigen in de hoofdmap van het station Certificaat: typt u:

Set-Location cert:

Als u vervolgens de inhoud van het station Certificaat: wilt weergeven, typt u:

Get-ChildItem

Hiërarchische gegevens doorlopen

U kunt zich net als een harde schijf door een providerstation verplaatsen. Als de gegevens zijn gerangschikt in een hiërarchie van items binnen items, gebruikt u een backslash (\) om een onderliggend item aan te geven. Gebruik de volgende indeling:

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

Als u bijvoorbeeld uw locatie wilt wijzigen in de registersleutel HKLM\Software, typt u een Set-Location opdracht, zoals:

Set-Location HKLM:\SOFTWARE\

Als een element in de volledig gekwalificeerde naam spaties bevat, moet u de naam tussen dubbele aanhalingstekens () plaatsen." In het volgende voorbeeld ziet u een volledig gekwalificeerd pad dat spaties bevat.

"C:\Program Files\Internet Explorer\iexplore.exe"

U kunt ook relatieve verwijzingen naar locaties gebruiken. Een punt (.) vertegenwoordigt de huidige locatie. Als u zich bijvoorbeeld in de HKLM:\Software\Microsoft registersleutel bevindt en u de registersubsleutels in de HKLM:\Software\Microsoft\PowerShell sleutel wilt weergeven, typt u de volgende opdracht:

Get-ChildItem .\PowerShell

Dubbele stippen (..) verwijzen ook naar de map of container direct boven uw huidige locatie. U kunt dubbele punten (..) gebruiken om door een providerhiërarchie te navigeren.

PS HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\> cd ..\..\LanmanWorkstation\Parameters
PS HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters>

Startpagina van provider

Providers hebben ook een thuislocatie . Deze locatie wordt gedeeld door iedereen PSDrives die wordt ondersteund door de provider. Deze kan worden opgehaald door de eigenschap Home van de provider weer te geven.

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

De bestandssysteemprovider is de enige provider met een standaardwaarde voor Start. Het is dezelfde waarde als $Home. Zie about_Automatic_Variables voor meer informatie.

U kunt de basismap voor een provider voor de huidige sessie instellen met behulp van de eigenschap.

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

Het ~ teken kan worden gebruikt om de basismap van de provider weer te geven. Als de provider geen thuislocatie heeft ingesteld, wordt er een fout weergegeven.

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
...

Dynamische parameters zoeken

Dynamische parameters zijn cmdlet-parameters die door een provider aan een cmdlet worden toegevoegd. Deze parameters zijn alleen beschikbaar wanneer de cmdlet wordt gebruikt met de provider die ze heeft toegevoegd.

Het station voegt bijvoorbeeld Cert: de codesigningCert-parameter toe aan de Get-Item cmdlets en Get-ChildItem . U kunt deze parameter alleen gebruiken wanneer u Get-Item of Get-ChildItem in het Cert: station gebruikt.

Zie het Help-bestand voor de provider voor een lijst met dynamische parameters die door een provider worden ondersteund. Type:

Get-Help <provider-name>

Bijvoorbeeld:

Get-Help certificate

Meer informatie over providers

Hoewel alle providergegevens in stations worden weergegeven en u dezelfde methoden gebruikt om deze te doorlopen, stopt de overeenkomst daar. De gegevensarchieven die de provider beschikbaar maakt, kunnen net zo verschillend zijn als Active Directory-locaties en Microsoft Exchange Server postvakken.

Voor informatie over afzonderlijke PowerShell-providers typt u:

Get-Help <ProviderName>

Bijvoorbeeld:

Get-Help registry

Voor een lijst met Help-onderwerpen over de providers typt u:

Get-Help * -Category Provider

Zie ook