Typen providers
Providers definiëren hun basisfunctionaliteit door te wijzigen hoe de provider-cmdlets, geleverd door PowerShell, hun acties uitvoeren. Providers kunnen bijvoorbeeld de standaardfunctionaliteit van de cmdlet gebruiken of ze kunnen wijzigen hoe die cmdlet werkt bij het ophalen van items uit Get-Item het gegevensopslag. De providerfunctionaliteit die in dit document wordt beschreven, bevat functionaliteit die wordt gedefinieerd door methoden van specifieke providerbasisklassen en -interfaces te overschrijven.
Notitie
Zie Providermogelijkheden voor providerfuncties die vooraf zijn gedefinieerd door PowerShell.
Providers met drive-enabled
Providers met stations ingeschakeld geven de standaardstations op die beschikbaar zijn voor de gebruiker en staan de gebruiker toe stations toe te voegen of te verwijderen. In de meeste gevallen zijn providers met station ingeschakeld omdat ze een standaardstation nodig hebben om toegang te krijgen tot het gegevensopslag. Bij het schrijven van uw eigen provider wilt u echter wel of niet toestaan dat de gebruiker stations maakt en verwijdert.
Als u een provider met station wilt maken, moet uw providerklasse worden afgeleid van de klasse System.Management.Automation.Provider.DriveCmdletProvider of een andere klasse die is afgeleid van die klasse. De klasse DriveCmdletProvider definieert de volgende methoden voor het implementeren van de standaardstations van de provider en de ondersteuning van de New-PSDrive Remove-PSDrive cmdlets en . In de meeste gevallen moet u ter ondersteuning van een provider-cmdlet de methode overschrijven die de PowerShell-engine aanroept om de cmdlet aan te roepen, zoals de methode voor de cmdlet. Desgewenst kunt u een tweede methode, zoals , overschrijven voor het toevoegen van dynamische parameters aan de NewDrive New-PSDrive NewDriveDynamicParameters cmdlet.
De methode InitializeDefaultDrives definieert de standaardstations die beschikbaar zijn voor de gebruiker wanneer de provider wordt gebruikt.
De methoden NewDrive en NewDriveDynamicParameters definiëren hoe uw provider de
New-PSDriveprovider-cmdlet ondersteunt. Met deze cmdlet kan de gebruiker stations maken voor toegang tot het gegevensopslag.De methode RemoveDrive definieert hoe uw provider de
Remove-PSDriveprovider-cmdlet ondersteunt. Met deze cmdlet kan de gebruiker stations uit het gegevensopslag verwijderen.
Providers met item ingeschakeld
Met providers voor item ingeschakeld kan de gebruiker de items in het gegevensopslag downloaden, instellen of verwijderen. Een item is een element van het gegevensopslag dat de gebruiker onafhankelijk kan openen of beheren. Als u een provider met item ingeschakeld wilt maken, moet uw providerklasse worden afgeleid van de klasse System.Management.Automation.Provider.ItemCmdletProvider of een andere klasse die is afgeleid van die klasse.
De klasse ItemCmdletProvider definieert de volgende methoden voor het implementeren van specifieke provider-cmdlets. In de meeste gevallen moet u ter ondersteuning van een provider-cmdlet de methode overschrijven die de PowerShell-engine aanroept om de cmdlet aan te roepen, zoals de methode voor de cmdlet. Desgewenst kunt u een tweede methode, zoals , overschrijven voor het toevoegen van dynamische parameters aan de ClearItem Clear-Item ClearItemDynamicParameters cmdlet.
De methoden ClearItem en ClearItemDynamicParameters definiëren hoe uw provider de
Clear-Itemprovider-cmdlet ondersteunt. Met deze cmdlet kan de gebruiker de waarde van een item in het gegevensopslag verwijderen.De methoden GetItem en GetItemDynamicParameters definiëren hoe uw provider de
Get-Itemprovider-cmdlet ondersteunt. Met deze cmdlet kan de gebruiker gegevens ophalen uit het gegevensopslag.De methoden SetItem en SetItemDynamicParameters definiëren hoe uw provider de
Set-Itemprovider-cmdlet ondersteunt. Met deze cmdlet kan de gebruiker de waarden van items in het gegevensopslag bijwerken.De methoden InvokeDefaultAction en InvokeDefaultActionDynamicParameters definiëren hoe uw provider de
Invoke-Itemprovider-cmdlet ondersteunt. Met deze cmdlet kan de gebruiker de standaardactie uitvoeren die is opgegeven door het item.De methoden ItemExists en ItemExistsDynamicParameters definiëren hoe uw provider de
Test-Pathprovider-cmdlet ondersteunt. Met deze cmdlet kan de gebruiker bepalen of alle elementen van een pad bestaan.
Naast de methoden die worden gebruikt om provider-cmdlets te implementeren, definieert de klasse ItemCmdletProvider ook de volgende methoden:
Met de methode ExpandPath kan de gebruiker jokertekens gebruiken bij het opgeven van het providerpad.
IsValidPath wordt gebruikt om te bepalen of een pad syntactisch en semantisch geldig is voor de provider.
Providers met container ingeschakeld
Met providers met container ingeschakeld kan de gebruiker items beheren die containers zijn. Een container is een groep onderliggende items onder een algemeen bovenliggend item. Als u een provider met container wilt maken, moet uw providerklasse worden afgeleid van de klasse System.Management.Automation.Provider.ContainerCmdletProvider of een andere klasse die is afgeleid van die klasse.
Belangrijk
Providers met containertoegang hebben geen toegang tot gegevensopslag die geneste containers bevatten. Als een onderliggend item van een container een andere container is, moet u een provider voor navigatie implementeren.
De klasse ContainerCmdletProvider definieert de volgende methoden voor het implementeren van specifieke provider-cmdlets. In de meeste gevallen moet u ter ondersteuning van een provider-cmdlet de methode overschrijven die de PowerShell-engine aanroept om de cmdlet aan te roepen, zoals de methode voor de cmdlet. Desgewenst kunt u een tweede methode, zoals , overschrijven voor het toevoegen van dynamische parameters aan de CopyItem Copy-Item CopyItemDynamicParameters cmdlet.
De methoden CopyItem en CopyItemDynamicParameters definiëren hoe uw provider de
Copy-Itemprovider-cmdlet ondersteunt. Met deze cmdlet kan de gebruiker een item van de ene locatie naar de andere kopiëren.De methoden GetChildItems en GetChildItemsDynamicParameters definiëren hoe uw provider de
Get-ChildItemprovider-cmdlet ondersteunt. Met deze cmdlet kan de gebruiker de onderliggende items van het bovenliggende item ophalen.De methoden GetChildNames en GetChildNamesDynamicParameters definiëren hoe uw provider de provider-cmdlet ondersteunt als de
Get-ChildItemparameter ervan isNameopgegeven.De methoden NewItem en NewItemDynamicParameters definiëren hoe uw provider de
New-Itemprovider-cmdlet ondersteunt. Met deze cmdlet kan de gebruiker nieuwe items maken in het gegevensopslag.De methoden RemoveItem en RemoveItemDynamicParameters definiëren hoe uw provider de
Remove-Itemprovider-cmdlet ondersteunt. Met deze cmdlet kan de gebruiker items uit het gegevensopslag verwijderen.De methoden RenameItem en RenameItemDynamicParameters definiëren hoe uw provider de
Rename-Itemprovider-cmdlet ondersteunt. Met deze cmdlet kan de gebruiker de naam van items in het gegevensopslag wijzigen.
Naast de methoden die worden gebruikt om provider-cmdlets te implementeren, definieert de klasse ContainerCmdletProvider ook de volgende methoden:
De methode HasChildItems kan worden gebruikt door de providerklasse om te bepalen of een item onderliggende items heeft.
De methode ConvertPath kan door de providerklasse worden gebruikt om een nieuw providersspecifieke pad te maken vanaf een opgegeven pad.
Providers met ingeschakelde navigatie
Providers met ingeschakelde navigatie bieden de gebruiker de mogelijkheid om items in het gegevensopslag te verplaatsen. Als u een provider voor navigatie wilt maken, moet uw providerklasse zijn afgeleid van de klasse System.Management.Automation.Provider.NavigationCmdletProvider.
De klasse NavigationCmdletProvider definieert de volgende methoden voor het implementeren van specifieke provider-cmdlets. In de meeste gevallen moet u ter ondersteuning van een provider-cmdlet de methode overschrijven die de PowerShell-engine aanroept om de cmdlet aan te roepen, zoals de methode voor de cmdlet. Desgewenst kunt u een tweede methode, zoals , overschrijven voor het toevoegen van dynamische parameters aan de MoveItem Move-Item MoveItemDynamicParameters cmdlet.
De methoden MoveItem en MoveItemDynamicParameters definiëren hoe uw provider de
Move-Itemprovider-cmdlet ondersteunt. Met deze cmdlet kan de gebruiker een item van de ene locatie in de store naar een andere locatie verplaatsen.De methode MakePath definieert hoe uw provider de
Join-Pathprovider-cmdlet ondersteunt. Met deze cmdlet kan de gebruiker een bovenliggend en onderliggend padsegment combineren om een provider-intern pad te maken.
Naast de methoden die worden gebruikt om provider-cmdlets te implementeren, definieert de klasse NavigationCmdletProvider ook de volgende methoden:
Met de methode GetChildName wordt de naam van het onderliggende knooppunt van een pad geëxtraheert.
Met de methode GetParentPath wordt het bovenliggende deel van een pad geëxtraheert.
De methode IsItemContainer bepaalt of het item een containeritem is. In deze context is een container een groep onderliggende items onder een algemeen bovenliggend item.
De methode NormalizeRelativePath retourneert een pad naar een item dat relatief is ten opzichte van een opgegeven basispad.
Providers met inhouds ingeschakeld
Providers met inhoud kunnen de gebruiker toestaan om de inhoud van items in een gegevensopslag te verwijderen, op te halen of in te stellen. Met de bestandssysteemprovider kunt u bijvoorbeeld de inhoud van bestanden in het bestandssysteem leeg maken, downloaden en instellen. Als u een provider met inhoud wilt maken, moet uw providerklasse de methoden van de interface System.Management.Automation.Provider.IContentCmdletProvider implementeren.
De interface IContentCmdletProvider definieert de volgende methoden voor het implementeren van specifieke provider-cmdlets. In de meeste gevallen moet u ter ondersteuning van een provider-cmdlet de methode overschrijven die de PowerShell-engine aanroept om de cmdlet aan te roepen, zoals de methode voor de cmdlet. Desgewenst kunt u een tweede methode, zoals , overschrijven voor het toevoegen van dynamische parameters aan de ClearContent Clear-Content ClearContentDynamicParameters cmdlet.
De methoden ClearContent en ClearContentDynamicParameters definiëren hoe uw provider de
Clear-Contentprovider-cmdlet ondersteunt. Met deze cmdlet kan de gebruiker de inhoud van een item verwijderen zonder het item te verwijderen.De methoden GetContentReader en GetContentReaderDynamicParameters definiëren hoe uw provider de
Get-Contentprovider-cmdlet ondersteunt. Met deze cmdlet kan de gebruiker de inhoud van een item ophalen. DeGetContentReadermethode retourneert een System.Management.Automation.Provider.IContentReader-interface die de methoden definieert die worden gebruikt om de inhoud te lezen.De methoden GetContentWriter en GetContentWriterDynamicParameters definiëren hoe uw provider de
Set-Contentprovider-cmdlet ondersteunt. Met deze cmdlet kan de gebruiker de inhoud van een item bijwerken. DeGetContentWritermethode retourneert een System.Management.Automation.Provider.IContentWriter-interface die de methoden definieert die worden gebruikt om de inhoud te schrijven.
Providers met eigenschap ingeschakeld
Met providers van eigenschappen kan de gebruiker de eigenschappen van de items in het gegevensopslag beheren.
Als u een provider met eigenschapsmogelijkheden wilt maken, moet uw providerklasse de methoden van de interfaces System.Management.Automation.Provider.IPropertyCmdletProvider en System.Management.Automation.Provider.IDynamicPropertyCmdletProvider implementeren. In de meeste gevallen moet u ter ondersteuning van een provider-cmdlet de methode overschrijven die de PowerShell-engine aanroept om de cmdlet aan te roepen, zoals de methode voor de cmdlet Clear-Property, en optioneel kunt u een tweede methode, zoals , overschrijven voor het toevoegen van dynamische parameters aan de ClearProperty ClearPropertyDynamicParameters cmdlet.
De interface IPropertyCmdletProvider definieert de volgende methoden voor het implementeren van specifieke provider-cmdlets:
De methoden ClearProperty en ClearPropertyDynamicParameters definiëren hoe uw provider de
Clear-ItemPropertyprovider-cmdlet ondersteunt. Met deze cmdlet kan de gebruiker de waarde van een eigenschap verwijderen.De methoden GetProperty en GetPropertyDynamicParameters definiëren hoe uw provider de
Get-ItemPropertyprovider-cmdlet ondersteunt. Met deze cmdlet kan de gebruiker de eigenschap van een item ophalen.De methoden SetProperty en SetPropertyDynamicParameters definiëren hoe uw provider de
Set-ItemPropertyprovider-cmdlet ondersteunt. Met deze cmdlet kan de gebruiker de eigenschappen van een item bijwerken.
De interface IDynamicPropertyCmdletProvider definieert de volgende methoden voor het implementeren van specifieke provider-cmdlets:
De methoden CopyProperty en CopyPropertyDynamicParameters definiëren hoe uw provider de
Copy-ItemPropertyprovider-cmdlet ondersteunt. Met deze cmdlet kan de gebruiker een eigenschap en de waarde van de ene locatie naar de andere kopiëren.De methoden MoveProperty en MovePropertyDynamicParameters definiëren hoe uw provider de
Move-ItemPropertyprovider-cmdlet ondersteunt. Met deze cmdlet kan de gebruiker een eigenschap en de waarde ervan van de ene locatie naar de andere verplaatsen.De methoden NewProperty en NewPropertyDynamicParameters definiëren hoe uw provider de
New-ItemPropertyprovider-cmdlet ondersteunt. Met deze cmdlet kan de gebruiker een nieuwe eigenschap maken en de waarde ervan instellen.De methoden RemoveProperty en RemovePropertyDynamicParameters definiëren hoe uw provider de
Remove-ItemPropertycmdlet ondersteunt. Met deze cmdlet kan de gebruiker een eigenschap en de waarde ervan verwijderen.De methoden RenameProperty en RenamePropertyDynamicParameters definiëren hoe uw provider de
Rename-ItemPropertycmdlet ondersteunt. Met deze cmdlet kan de gebruiker de naam van een eigenschap wijzigen.
Zie ook
Feedback
Feedback verzenden en weergeven voor