Typer av providers
Leverantörer definierar sina grundläggande funktioner genom att ändra hur provider-cmdletarna, som tillhandahålls av PowerShell, utför sina åtgärder. Leverantörer kan till exempel använda standardfunktionerna i cmdleten eller ändra hur denna cmdlet fungerar när objekt hämtas Get-Item från datalagret. Providerfunktionen som beskrivs i det här dokumentet innehåller funktioner som definieras av överskrivningsmetoder från specifika providerbasklasser och gränssnitt.
Anteckning
Leverantörsfunktioner som är fördefinierade av PowerShell finns i Providerfunktioner.
Enhetsaktiverade providers
Enhetsaktiverade providers anger vilka standardenheter som är tillgängliga för användaren och tillåter att användaren lägger till eller tar bort enheter. I de flesta fall är leverantörer enhetsaktiverade leverantörer eftersom de kräver en standardenhet för att få åtkomst till datalagret. Men när du skriver din egen provider kanske du inte vill tillåta att användaren skapar och tar bort enheter.
Om du vill skapa en enhetsaktiverad provider måste providerklassen härledas från klassen System.Management.Automation.Provider.DriveCmdletProvider eller någon annan klass som härleds från den klassen. Klassen DriveCmdletProvider definierar följande metoder för att implementera standardenheterna för providern och stödja New-PSDrive Remove-PSDrive cmdletarna och . För att stödja en provider-cmdlet måste du i de flesta fall skriva över metoden som PowerShell-motorn anropar för att anropa cmdleten, till exempel metoden för cmdleten, och om du vill kan du skriva över en andra metod, till exempel , för att lägga till dynamiska parametrar i NewDrive New-PSDrive NewDriveDynamicParameters cmdleten.
Metoden InitializeDefaultDrives definierar de standardenheter som är tillgängliga för användaren när providern används.
Metoderna NewDrive och NewDriveDynamicParameters definierar hur providern stöder
New-PSDriveprovider-cmdleten. Med den här cmdleten kan användaren skapa enheter för att få åtkomst till datalagret.RemoveDrive-metoden definierar hur providern stöder
Remove-PSDriveprovider-cmdleten. Med den här cmdleten kan användaren ta bort enheter från datalagret.
Objektaktiverade providers
Med objektaktiverade providers kan användaren hämta, ange eller rensa objekten i datalagret. Ett "objekt" är ett element i datalagret som användaren kan komma åt eller hantera oberoende av varandra. Om du vill skapa en objektaktiverad provider måste providerklassen härledas från klassen System.Management.Automation.Provider.ItemCmdletProvider eller någon annan klass som härleds från den klassen.
Klassen ItemCmdletProvider definierar följande metoder för att implementera specifika provider-cmdlets. För att stödja en provider-cmdlet måste du i de flesta fall skriva över metoden som PowerShell-motorn anropar för att anropa cmdleten, till exempel metoden för cmdleten, och om du vill kan du skriva över en andra metod, till exempel , för att lägga till dynamiska parametrar i ClearItem Clear-Item ClearItemDynamicParameters cmdleten.
Metoderna ClearItem och ClearItemDynamicParameters definierar hur providern stöder
Clear-Itemproviderns cmdlet. Med den här cmdleten kan användaren ta bort värdet för ett objekt i datalagret.Metoderna GetItem och GetItemDynamicParameters definierar hur providern stöder
Get-Itemprovider-cmdleten. Med den här cmdleten kan användaren hämta data från datalagret.Metoderna SetItem och SetItemDynamicParameters definierar hur providern stöder
Set-Itemprovider-cmdleten. Med den här cmdleten kan användaren uppdatera värdena för objekt i datalagret.Metoderna InvokeDefaultAction och InvokeDefaultActionDynamicParameters definierar hur providern stöder
Invoke-Itemprovider-cmdleten. Med den här cmdleten kan användaren utföra standardåtgärden som anges av objektet.Metoderna ItemExists och ItemExistsDynamicParameters definierar hur providern stöder
Test-Pathprovider-cmdleten. Med den här cmdleten kan användaren avgöra om alla element i en sökväg finns.
Förutom de metoder som används för att implementera provider-cmdlets definierar klassen ItemCmdletProvider även följande metoder:
Med ExpandPath-metoden kan användaren använda jokertecken när providersökvägen anges.
IsValidPath används för att avgöra om en sökväg är syntaktiskt och semantiskt giltig för providern.
Containeraktiverade providers
Med containeraktiverade providers kan användaren hantera objekt som är containrar. En container är en grupp med underordnade objekt under ett gemensamt överordnat objekt. Om du vill skapa en containeraktiverad provider måste providerklassen härledas från klassen System.Management.Automation.Provider.ContainerCmdletProvider eller någon annan klass som härleds från den klassen.
Viktigt
Containeraktiverade providers kan inte komma åt datalager som innehåller kapslade containrar. Om ett underobjekt i en container är en annan container måste du implementera en navigeringsaktiverad provider.
Klassen ContainerCmdletProvider definierar följande metoder för att implementera specifika provider-cmdlets. För att stödja en provider-cmdlet måste du i de flesta fall skriva över metoden som PowerShell-motorn anropar för att anropa cmdleten, till exempel metoden för cmdleten, och om du vill kan du skriva över en andra metod, till exempel , för att lägga till dynamiska parametrar i CopyItem Copy-Item CopyItemDynamicParameters cmdleten.
Metoderna CopyItem och CopyItemDynamicParameters definierar hur providern stöder
Copy-Itemproviderns cmdlet. Med den här cmdleten kan användaren kopiera ett objekt från en plats till en annan.Metoderna GetChildItems och GetChildItemsDynamicParameters definierar hur providern stöder
Get-ChildItemprovider-cmdleten. Med den här cmdleten kan användaren hämta underordnade objekt till det överordnade objektet.Metoderna GetChildNames och GetChildNamesDynamicParameters definierar hur providern stöder
Get-ChildItemprovider-cmdleten omNamedess parameter anges.Metoderna NewItem och NewItemDynamicParameters definierar hur providern stöder
New-Itemprovider-cmdleten. Med den här cmdleten kan användaren skapa nya objekt i datalagret.Metoderna RemoveItem och RemoveItemDynamicParameters definierar hur providern stöder
Remove-Itemprovider-cmdleten. Med den här cmdleten kan användaren ta bort objekt från datalagret.Metoderna RenameItem och RenameItemDynamicParameters definierar hur providern stöder
Rename-Itemprovider-cmdleten. Med den här cmdleten kan användaren byta namn på objekt i datalagret.
Förutom de metoder som används för att implementera provider-cmdlets definierar klassen ContainerCmdletProvider även följande metoder:
Metoden HasChildItems kan användas av providerklassen för att avgöra om ett objekt har underordnade objekt.
ConvertPath-metoden kan användas av providerklassen för att skapa en ny providerspecifik sökväg från en angiven sökväg.
Navigeringsaktiverade providers
Med navigeringsaktiverade leverantörer kan användaren flytta objekt i datalagret. Om du vill skapa en navigeringsaktiverad provider måste providerklassen härledas från klassen System.Management.Automation.Provider.NavigationCmdletProvider.
Klassen NavigationCmdletProvider definierar följande metoder för att implementera specifika provider-cmdlets. För att stödja en provider-cmdlet måste du i de flesta fall skriva över metoden som PowerShell-motorn anropar för att anropa cmdleten, till exempel metoden för cmdleten, och om du vill kan du skriva över en andra metod, till exempel , för att lägga till dynamiska parametrar i MoveItem Move-Item MoveItemDynamicParameters cmdleten.
Metoderna MoveItem och MoveItemDynamicParameters definierar hur providern stöder
Move-Itemprovider-cmdleten. Med den här cmdleten kan användaren flytta ett objekt från en plats i butiken till en annan plats.MakePath-metoden definierar hur providern stöder
Join-Pathprovider-cmdleten. Med den här cmdleten kan användaren kombinera ett över- och underordnat sökvägssegment för att skapa en intern providersökväg.
Förutom de metoder som används för att implementera provider-cmdlets definierar klassen NavigationCmdletProvider även följande metoder:
Metoden GetChildName extraherar namnet på den underordnade noden för en sökväg.
Metoden GetParentPath extraherar den överordnade delen av en sökväg.
Metoden IsItemContainer avgör om objektet är ett containerobjekt. I det här sammanhanget är en container en grupp med underordnade objekt under ett gemensamt överordnat objekt.
Metoden NormalizeRelativePath returnerar en sökväg till ett objekt som är relativt till en angiven bassökväg.
Innehållsaktiverade providers
Innehållsaktiverade providers låter användaren rensa, hämta eller ange innehållet i objekt i ett datalager. Med FileSystem-providern kan du till exempel rensa, hämta och ange innehållet i filer i filsystemet. Om du vill skapa en innehållsaktiverad provider måste providerklassen implementera metoderna för gränssnittet System.Management.Automation.Provider.IContentCmdletProvider.
Gränssnittet IContentCmdletProvider definierar följande metoder för att implementera specifika provider-cmdlets. För att stödja en provider-cmdlet måste du i de flesta fall skriva över metoden som PowerShell-motorn anropar för att anropa cmdleten, till exempel metoden för cmdleten, och om du vill kan du skriva över en andra metod, till exempel , för att lägga till dynamiska parametrar i ClearContent Clear-Content ClearContentDynamicParameters cmdleten.
Metoderna ClearContent och ClearContentDynamicParameters definierar hur providern stöder
Clear-Contentprovider-cmdleten. Med den här cmdleten kan användaren ta bort innehållet i ett objekt utan att ta bort objektet.Metoderna GetContentReader och GetContentReaderDynamicParameters definierar hur providern stöder
Get-Contentprovider-cmdleten. Med den här cmdleten kan användaren hämta innehållet i ett objekt. MetodenGetContentReaderreturnerar ett System.Management.Automation.Provider.IContentReader-gränssnitt som definierar de metoder som används för att läsa innehållet.Metoderna GetContentWriter och GetContentWriterDynamicParameters definierar hur providern stöder
Set-Contentprovider-cmdleten. Med den här cmdleten kan användaren uppdatera innehållet i ett objekt. MetodenGetContentWriterreturnerar ett System.Management.Automation.Provider.IContentWriter-gränssnitt som definierar de metoder som används för att skriva innehållet.
Egenskapsaktiverade providers
Egenskapsaktiverade providers låter användaren hantera egenskaperna för objekten i datalagret.
Om du vill skapa en egenskapsaktiverad provider måste providerklassen implementera metoderna för gränssnitten System.Management.Automation.Provider.IPropertyCmdletProvider och System.Management.Automation.Provider.IDynamicPropertyCmdletProvider. För att stödja en provider-cmdlet måste du i de flesta fall skriva över metoden som PowerShell-motorn anropar för att anropa cmdleten, till exempel metoden för Clear-Property-cmdleten, och om du vill kan du skriva över en andra metod, till exempel , för att lägga till dynamiska parametrar i ClearProperty ClearPropertyDynamicParameters cmdleten.
Gränssnittet IPropertyCmdletProvider definierar följande metoder för att implementera specifika provider-cmdlets:
Metoderna ClearProperty och ClearPropertyDynamicParameters definierar hur providern stöder
Clear-ItemPropertyprovider-cmdleten. Med den här cmdleten kan användaren ta bort värdet för en egenskap.Metoderna GetProperty och GetPropertyDynamicParameters definierar hur providern stöder
Get-ItemPropertyprovider-cmdleten. Med den här cmdleten kan användaren hämta egenskapen för ett objekt.Metoderna SetProperty och SetPropertyDynamicParameters definierar hur providern stöder
Set-ItemPropertyprovider-cmdleten. Med den här cmdleten kan användaren uppdatera egenskaperna för ett objekt.
Gränssnittet IDynamicPropertyCmdletProvider definierar följande metoder för att implementera specifika provider-cmdlets:
Metoderna CopyProperty och CopyPropertyDynamicParameters definierar hur providern stöder
Copy-ItemPropertyprovider-cmdleten. Med den här cmdleten kan användaren kopiera en egenskap och dess värde från en plats till en annan.Metoderna MoveProperty och MovePropertyDynamicParameters definierar hur providern stöder
Move-ItemPropertyprovider-cmdleten. Med den här cmdleten kan användaren flytta en egenskap och dess värde från en plats till en annan.Metoderna NewProperty och NewPropertyDynamicParameters definierar hur providern stöder
New-ItemPropertyprovider-cmdleten. Med den här cmdleten kan användaren skapa en ny egenskap och ange dess värde.Metoderna RemoveProperty och RemovePropertyDynamicParameters definierar hur din provider stöder
Remove-ItemPropertycmdleten. Med den här cmdleten kan användaren ta bort en egenskap och dess värde.Metoderna RenameProperty och RenamePropertyDynamicParameters definierar hur din provider stöder
Rename-ItemPropertycmdleten. Med den här cmdleten kan användaren ändra namnet på en egenskap.
Se även
Feedback
Skicka och visa feedback för