Types de fournisseur
Les fournisseurs définissent leurs fonctionnalités de base en modifiant la façon dont les applets de commande du fournisseur, fournies par PowerShell, effectuent leurs actions. Par exemple, les fournisseurs peuvent utiliser la fonctionnalité par défaut de l’applet de commande Get-Item
, ou ils peuvent modifier le fonctionnement de cette applet de commande lors de l’extraction d’éléments du magasin de données. La fonctionnalité du fournisseur décrite dans ce document comprend des fonctionnalités définies en remplaçant les méthodes à partir de classes de base et d’interfaces spécifiques du fournisseur.
Notes
Pour les fonctionnalités du fournisseur prédéfinies par PowerShell, consultez fonctionnalités du fournisseur.
Fournisseurs compatibles avec le lecteur
Les fournisseurs compatibles avec le lecteur spécifient les lecteurs par défaut disponibles pour l’utilisateur et permettent à l’utilisateur d’ajouter ou de supprimer des lecteurs. Dans la plupart des cas, les fournisseurs sont des fournisseurs compatibles avec les lecteurs, car ils nécessitent un lecteur par défaut pour accéder à la Banque de données. Toutefois, lors de l’écriture de votre propre fournisseur, vous pouvez ou non souhaiter autoriser l’utilisateur à créer et à supprimer des lecteurs.
Pour créer un fournisseur compatible avec les lecteurs, votre classe de fournisseur doit dériver de la classe System. Management. Automation. Provider. DriveCmdletProvider ou d’une autre classe qui dérive de cette classe. La classe DriveCmdletProvider définit les méthodes suivantes pour l’implémentation des lecteurs par défaut du fournisseur et la prise en charge des applets de commande New-PSDrive
et Remove-PSDrive
. Dans la plupart des cas, pour prendre en charge une applet de commande de fournisseur, vous devez remplacer la méthode appelée par le moteur PowerShell pour appeler l’applet de commande, telle que la NewDrive
méthode pour l' New-PSDrive
applet de commande, et vous pouvez éventuellement remplacer une deuxième méthode, telle que NewDriveDynamicParameters
, pour ajouter des paramètres dynamiques à l’applet de commande.
La méthode InitializeDefaultDrives définit les lecteurs par défaut qui sont disponibles pour l’utilisateur chaque fois que le fournisseur est utilisé.
Les méthodes les et NewDriveDynamicParameters définissent la façon dont votre fournisseur prend en charge l’applet de commande du
New-PSDrive
fournisseur. Cette applet de commande permet à l’utilisateur de créer des lecteurs pour accéder au magasin de données.La méthode RemoveDrive définit la manière dont votre fournisseur prend en charge l’applet de commande du
Remove-PSDrive
fournisseur. Cette applet de commande permet à l’utilisateur de supprimer des lecteurs de la Banque de données.
Fournisseurs compatibles avec les éléments
Les fournisseurs compatibles avec les éléments permettent à l’utilisateur d’acquérir, de définir ou d’effacer les éléments dans le magasin de données. Un « élément » est un élément du magasin de données auquel l’utilisateur peut accéder ou gérer de manière indépendante. Pour créer un fournisseur compatible avec les éléments, votre classe de fournisseur doit dériver de la classe System. Management. Automation. Provider. ItemCmdletProvider ou d’une autre classe qui dérive de cette classe.
La classe ItemCmdletProvider définit les méthodes suivantes pour l’implémentation d’applets de commande de fournisseur spécifiques. Dans la plupart des cas, pour prendre en charge une applet de commande de fournisseur, vous devez remplacer la méthode appelée par le moteur PowerShell pour appeler l’applet de commande, telle que la ClearItem
méthode pour l' Clear-Item
applet de commande, et vous pouvez éventuellement remplacer une deuxième méthode, telle que ClearItemDynamicParameters
, pour ajouter des paramètres dynamiques à l’applet de commande.
Les méthodes ClearItem et ClearItemDynamicParameters définissent la façon dont votre fournisseur prend en charge l’applet de commande du
Clear-Item
fournisseur. Cette applet de commande permet à l’utilisateur de supprimer la valeur d’un élément dans le magasin de données.Les méthodes GetItem et GetItemDynamicParameters définissent la façon dont votre fournisseur prend en charge l’applet de commande du
Get-Item
fournisseur. Cette applet de commande permet à l’utilisateur de récupérer des données à partir du magasin de données.Les méthodes SetItem et SetItemDynamicParameters définissent la façon dont votre fournisseur prend en charge l’applet de commande du
Set-Item
fournisseur. Cette applet de commande permet à l’utilisateur de mettre à jour les valeurs des éléments dans le magasin de données.Les méthodes InvokeDefaultAction et InvokeDefaultActionDynamicParameters définissent la façon dont votre fournisseur prend en charge l’applet de commande du
Invoke-Item
fournisseur. Cette applet de commande permet à l’utilisateur d’exécuter l’action par défaut spécifiée par l’élément.Les méthodes ItemExists et ItemExistsDynamicParameters définissent la façon dont votre fournisseur prend en charge l’applet de commande du
Test-Path
fournisseur. Cette applet de commande permet à l’utilisateur de déterminer si tous les éléments d’un chemin d’accès existent.
Outre les méthodes utilisées pour implémenter les applets de commande du fournisseur, la classe ItemCmdletProvider définit également les méthodes suivantes :
La méthode ExpandPath permet à l’utilisateur d’utiliser des caractères génériques lors de la spécification du chemin d’accès du fournisseur.
Le IsValidPath est utilisé pour déterminer si un chemin d’accès est syntaxiquement et sémantiquement valide pour le fournisseur.
Fournisseurs compatibles avec les conteneurs
Les fournisseurs compatibles avec les conteneurs permettent à l’utilisateur de gérer les éléments qui sont des conteneurs. Un conteneur est un groupe d’éléments enfants qui descendent d’un même élément parent. Pour créer un fournisseur compatible avec les conteneurs, votre classe de fournisseur doit dériver de la classe System. Management. Automation. Provider. ContainerCmdletProvider ou d’une autre classe qui dérive de cette classe.
Important
Les fournisseurs compatibles avec les conteneurs ne peuvent pas accéder aux magasins de données qui contiennent des conteneurs imbriqués. Si un élément enfant d’un conteneur est un autre conteneur, vous devez implémenter un fournisseur qui prend en charge la navigation.
La classe ContainerCmdletProvider définit les méthodes suivantes pour l’implémentation d’applets de commande de fournisseur spécifiques. Dans la plupart des cas, pour prendre en charge une applet de commande de fournisseur, vous devez remplacer la méthode appelée par le moteur PowerShell pour appeler l’applet de commande, telle que la CopyItem
méthode pour l' Copy-Item
applet de commande, et vous pouvez éventuellement remplacer une deuxième méthode, telle que CopyItemDynamicParameters
, pour ajouter des paramètres dynamiques à l’applet de commande.
Les méthodes CopyItem et CopyItemDynamicParameters définissent la façon dont votre fournisseur prend en charge l’applet de commande du
Copy-Item
fournisseur. Cette applet de commande permet à l’utilisateur de copier un élément d’un emplacement vers un autre.Les méthodes GetChildItems et GetChildItemsDynamicParameters définissent la façon dont votre fournisseur prend en charge l’applet de commande du
Get-ChildItem
fournisseur. Cette applet de commande permet à l’utilisateur de récupérer les éléments enfants de l’élément parent.Les méthodes GetChildNames et GetChildNamesDynamicParameters définissent la façon dont votre fournisseur prend en charge l’applet de commande
Get-ChildItem
Provider si sonName
paramètre est spécifié.Les méthodes newItem et NewItemDynamicParameters définissent la façon dont votre fournisseur prend en charge l’applet de commande du
New-Item
fournisseur. Cette applet de commande permet à l’utilisateur de créer des éléments dans le magasin de données.Les méthodes RemoveItem et RemoveItemDynamicParameters définissent la façon dont votre fournisseur prend en charge l’applet de commande du
Remove-Item
fournisseur. Cette applet de commande permet à l’utilisateur de supprimer des éléments du magasin de données.Les méthodes RenameItem et RenameItemDynamicParameters définissent la façon dont votre fournisseur prend en charge l’applet de commande du
Rename-Item
fournisseur. Cette applet de commande permet à l’utilisateur de renommer des éléments dans le magasin de données.
Outre les méthodes utilisées pour implémenter les applets de commande du fournisseur, la classe ContainerCmdletProvider définit également les méthodes suivantes :
La méthode HasChildItems peut être utilisée par la classe de fournisseur pour déterminer si un élément a des éléments enfants.
La méthode ConvertPath peut être utilisée par la classe de fournisseur pour créer un chemin d’accès spécifique au fournisseur à partir d’un chemin d’accès spécifié.
Fournisseurs compatibles avec la navigation
Les fournisseurs activés pour la navigation permettent à l’utilisateur de déplacer des éléments dans le magasin de données. Pour créer un fournisseur compatible avec la navigation, votre classe de fournisseur doit dériver de la classe System. Management. Automation. Provider. NavigationCmdletProvider .
La classe NavigationCmdletProvider définit les méthodes suivantes pour l’implémentation d’applets de commande de fournisseur spécifiques. Dans la plupart des cas, pour prendre en charge une applet de commande de fournisseur, vous devez remplacer la méthode appelée par le moteur PowerShell pour appeler l’applet de commande, telle que la MoveItem
méthode pour l' Move-Item
applet de commande, et vous pouvez éventuellement remplacer une deuxième méthode, telle que MoveItemDynamicParameters
, pour ajouter des paramètres dynamiques à l’applet de commande.
Les méthodes MoveItem et MoveItemDynamicParameters définissent la façon dont votre fournisseur prend en charge l’applet de commande du
Move-Item
fournisseur. Cette applet de commande permet à l’utilisateur de déplacer un élément d’un emplacement dans le magasin vers un autre emplacement.La méthode MakePath définit la manière dont votre fournisseur prend en charge l’applet de commande du
Join-Path
fournisseur. Cette applet de commande permet à l’utilisateur de combiner un segment de chemin d’accès parent et enfant pour créer un chemin d’accès interne au fournisseur.
Outre les méthodes utilisées pour implémenter les applets de commande du fournisseur, la classe NavigationCmdletProvider définit également les méthodes suivantes :
La méthode GetChildName extrait le nom du nœud enfant d’un chemin d’accès.
La méthode GetParentPath extrait la partie parente d’un chemin d’accès.
La méthode IsItemContainer détermine si l’élément est un élément conteneur. Dans ce contexte, un conteneur est un groupe d’éléments enfants sous un élément parent commun.
La méthode NormalizeRelativePath retourne un chemin d’accès à un élément relatif à un chemin d’accès de base spécifié.
Fournisseurs de contenu
Les fournisseurs de contenu permettent à l’utilisateur d’effacer, d’obtenir ou de définir le contenu des éléments d’un magasin de données. Par exemple, le fournisseur FileSystem vous permet d’effacer, d’obtenir et de définir le contenu des fichiers dans le système de fichiers. Pour créer un fournisseur de contenu activé, votre classe de fournisseur doit implémenter les méthodes de l’interface System. Management. Automation. Provider. IContentCmdletProvider .
L’interface IContentCmdletProvider définit les méthodes suivantes pour l’implémentation d’applets de commande de fournisseur spécifiques. Dans la plupart des cas, pour prendre en charge une applet de commande de fournisseur, vous devez remplacer la méthode appelée par le moteur PowerShell pour appeler l’applet de commande, telle que la ClearContent
méthode pour l' Clear-Content
applet de commande, et vous pouvez éventuellement remplacer une deuxième méthode, telle que ClearContentDynamicParameters
, pour ajouter des paramètres dynamiques à l’applet de commande.
Les méthodes ClearContent et ClearContentDynamicParameters définissent la façon dont votre fournisseur prend en charge l’applet de commande du
Clear-Content
fournisseur. Cette applet de commande permet à l’utilisateur de supprimer le contenu d’un élément sans supprimer l’élément.Les méthodes GetContentReader et GetContentReaderDynamicParameters définissent la façon dont votre fournisseur prend en charge l’applet de commande du
Get-Content
fournisseur. Cette applet de commande permet à l’utilisateur de récupérer le contenu d’un élément. LaGetContentReader
méthode retourne une interface System. Management. Automation. Provider. IContentReader qui définit les méthodes utilisées pour lire le contenu.Les méthodes GetContentWriter et GetContentWriterDynamicParameters définissent la façon dont votre fournisseur prend en charge l’applet de commande du
Set-Content
fournisseur. Cette applet de commande permet à l’utilisateur de mettre à jour le contenu d’un élément. LaGetContentWriter
méthode retourne une interface System. Management. Automation. Provider. IContentWriter qui définit les méthodes utilisées pour écrire le contenu.
Fournisseurs activés pour les propriétés
Les fournisseurs activés pour les propriétés permettent à l’utilisateur de gérer les propriétés des éléments dans le magasin de données.
Pour créer un fournisseur prenant en charge les propriétés, votre classe de fournisseur doit implémenter les méthodes des interfaces System. Management. Automation. Provider. IPropertyCmdletProvider et System. Management. Automation. Provider. IDynamicPropertyCmdletProvider . Dans la plupart des cas, pour prendre en charge une applet de commande de fournisseur, vous devez remplacer la méthode appelée par le moteur PowerShell pour appeler l’applet de commande, telle que la ClearProperty
méthode pour l’applet de commande Clear-Property et, éventuellement, vous pouvez remplacer une deuxième méthode, telle que ClearPropertyDynamicParameters
, pour ajouter des paramètres dynamiques à l’applet de commande.
L’interface IPropertyCmdletProvider définit les méthodes suivantes pour l’implémentation d’applets de commande de fournisseur spécifiques :
Les méthodes ClearProperty et ClearPropertyDynamicParameters définissent la façon dont votre fournisseur prend en charge l’applet de commande du
Clear-ItemProperty
fournisseur. Cette applet de commande permet à l’utilisateur de supprimer la valeur d’une propriété.Les méthodes GetProperty et GetPropertyDynamicParameters définissent la façon dont votre fournisseur prend en charge l’applet de commande du
Get-ItemProperty
fournisseur. Cette applet de commande permet à l’utilisateur de récupérer la propriété d’un élément.Les méthodes SetProperty et SetPropertyDynamicParameters définissent la façon dont votre fournisseur prend en charge l’applet de commande du
Set-ItemProperty
fournisseur. Cette applet de commande permet à l’utilisateur de mettre à jour les propriétés d’un élément.
L’interface IDynamicPropertyCmdletProvider définit les méthodes suivantes pour l’implémentation d’applets de commande de fournisseur spécifiques :
Les méthodes CopyProperty et CopyPropertyDynamicParameters définissent la façon dont votre fournisseur prend en charge l’applet de commande du
Copy-ItemProperty
fournisseur. Cette applet de commande permet à l’utilisateur de copier une propriété et sa valeur d’un emplacement vers un autre.Les méthodes MoveProperty et MovePropertyDynamicParameters définissent la façon dont votre fournisseur prend en charge l’applet de commande du
Move-ItemProperty
fournisseur. Cette applet de commande permet à l’utilisateur de déplacer une propriété et sa valeur d’un emplacement à un autre.Les méthodes NewProperty et NewPropertyDynamicParameters définissent la façon dont votre fournisseur prend en charge l’applet de commande du
New-ItemProperty
fournisseur. Cette applet de commande permet à l’utilisateur de créer une nouvelle propriété et de définir sa valeur.Les méthodes RemoveProperty et RemovePropertyDynamicParameters définissent la façon dont votre fournisseur prend en charge l’applet de commande
Remove-ItemProperty
. Cette applet de commande permet à l’utilisateur de supprimer une propriété et sa valeur.Les méthodes RenameProperty et RenamePropertyDynamicParameters définissent la façon dont votre fournisseur prend en charge l’applet de commande
Rename-ItemProperty
. Cette applet de commande permet à l’utilisateur de modifier le nom d’une propriété.
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour