Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Ce sujet décrit comment créer un fournisseur Windows PowerShell capable de manipuler les données dans un magasin de données. Dans ce sujet, les éléments de données du magasin sont appelés les « éléments » du magasin de données. En conséquence, un fournisseur capable de manipuler les données dans le magasin est appelé fournisseur d’éléments Windows PowerShell.
Note
Vous pouvez télécharger le fichier source C# (AccessDBSampleProvider03.cs) de ce fournisseur en utilisant le Microsoft Windows Software Development Kit pour Windows Vista et les composants d’exécution de .NET Framework 3.0. Pour les instructions de téléchargement, consultez Comment installer Windows PowerShell et télécharger le SDK Windows PowerShell.
Les fichiers sources téléchargés sont disponibles dans le PowerShell Samples répertoire. Pour plus d’informations sur les autres implémentations de fournisseurs Windows PowerShell, voir Designing Your Windows PowerShell Provider.
Le fournisseur d’éléments Windows PowerShell décrit dans ce sujet obtient des données provenant d’une base de données Access. Dans ce cas, un « élément » est soit une table dans la base de données Access, soit une ligne dans une table.
Définition de la classe fournisseur d’éléments PowerShell Windows
Un fournisseur d’éléments Windows PowerShell doit définir une classe .NET dérivée de la classe de base System.Management.Automation.Provider.ItemCmdletProvider . Voici la définition de classe du fournisseur d’items décrit dans cette section.
[CmdletProvider("AccessDB", ProviderCapabilities.None)]
public class AccessDBProvider : ItemCmdletProvider
Notez que dans cette définition de classe, l’attribut System.Management.Automation.Provider.CmdletProviderAttribute inclut deux paramètres. Le premier paramètre spécifie un nom convivial pour le fournisseur utilisé par Windows PowerShell. Le second paramètre spécifie les capacités spécifiques à Windows PowerShell que le fournisseur expose à l’exécution Windows PowerShell lors du traitement des commandes. Pour ce fournisseur, il n’y a pas de fonctionnalités spécifiques à Windows PowerShell supplémentaires.
Définition de la fonctionnalité de base
Comme décrit dans Design Your Windows PowerShell Provider, la classe System.Management.Automation.Provider.DriveCmdletProvider dérive de plusieurs autres classes qui offraient différentes fonctionnalités de fournisseurs. Un fournisseur d’éléments Windows PowerShell doit donc définir toutes les fonctionnalités fournies par ces classes.
Pour plus d’informations sur la manière d’implémenter des fonctionnalités permettant d’ajouter des informations d’initialisation spécifiques à chaque session et de la publication des ressources utilisées par le fournisseur, voir Créer un fournisseur PowerShell Windows de base. Cependant, la plupart des fournisseurs, y compris celui décrit ici, peuvent utiliser l’implémentation par défaut de cette fonctionnalité fournie par Windows PowerShell.
Avant que le fournisseur d’éléments PowerShell Windows puisse manipuler les éléments dans le magasin, il doit implémenter les méthodes de la classe de base System.Management.Automation.Provider.DriveCmdletProvider pour accéder au magasin de données. Pour plus d’informations sur la mise en œuvre de cette classe, voir Créer un fournisseur de disques Windows PowerShell.
Vérification de la validité du chemin
Lors de la recherche d’un élément de données, l’exécution Windows PowerShell fournit un chemin Windows PowerShell vers le fournisseur, tel que défini dans la section « Concepts PSPath » de Comment fonctionne Windows PowerShell. Un fournisseur d’éléments Windows PowerShell doit vérifier la validité syntaxique et sémantique de tout chemin qui lui est transmis en implémentant la méthode System.Management.Automation.Provider.ItemCmdletProvider.IsValidPath . Cette méthode retourne true si le chemin est valide, et false sinon. Sachez que l’implémentation de cette méthode ne doit pas vérifier l’existence de l’élément au chemin, mais seulement que le chemin est syntaxiquement et sémantiquement correct.
Voici l’implémentation de la méthode System.Management.Automation.Provider.ItemCmdletProvider.IsValidPath pour ce fournisseur. Notez que cette implémentation appelle une méthode assistante NormalizePath pour convertir tous les séparateurs du chemin en un système uniforme.
protected override bool IsValidPath(string path)
{
bool result = true;
// check if the path is null or empty
if (String.IsNullOrEmpty(path))
{
result = false;
}
// convert all separators in the path to a uniform one
path = NormalizePath(path);
// split the path into individual chunks
string[] pathChunks = path.Split(pathSeparator.ToCharArray());
foreach (string pathChunk in pathChunks)
{
if (pathChunk.Length == 0)
{
result = false;
}
}
return result;
} // IsValidPath
Déterminer si un objet existe
Après vérification du chemin, l’exécution PowerShell de Windows doit déterminer si un élément de données existe à ce chemin. Pour supporter ce type d’interrogation, le fournisseur d’éléments PowerShell Windows implémente la méthode System.Management.Automation.Provider.ItemCmdletProvider.ItemExists . Cette méthode renvoie true un élément trouvé sur le chemin spécifié et false (par défaut) sinon.
Voici la mise en œuvre de la méthode System.Management.Automation.Provider.ItemCmdletProvider.ItemExists pour ce fournisseur. Notez que cette méthode appelle les méthodes d’aide PathIsDrive, ChunkPath et GetTable , et utilise un objet DatabaseTableInfo défini par le fournisseur.
protected override bool ItemExists(string path)
{
// check if the path represented is a drive
if (PathIsDrive(path))
{
return true;
}
// Obtain type, table name and row number from path
string tableName;
int rowNumber;
PathType type = GetNamesFromPath(path, out tableName, out rowNumber);
DatabaseTableInfo table = GetTable(tableName);
if (type == PathType.Table)
{
// if specified path represents a table then DatabaseTableInfo
// object for the same should exist
if (table != null)
{
return true;
}
}
else if (type == PathType.Row)
{
// if specified path represents a row then DatabaseTableInfo should
// exist for the table and then specified row number must be within
// the maximum row count in the table
if (table != null && rowNumber < table.RowCount)
{
return true;
}
}
return false;
} // ItemExists
Choses à retenir concernant la mise en œuvre d’ItemExists
Les conditions suivantes peuvent s’appliquer à votre implémentation de System.Management.Automation.Provider.ItemCmdletProvider.ItemExists :
- Lors de la définition de la classe fournisseur, un fournisseur d’éléments Windows PowerShell peut déclarer les capacités du fournisseur de , , , ou
Exclude, à partir de l’énumération System.Management.Automation.Provider.ProvidersCapabilities.IncludeFilterExpandWildcardsDans ces cas, la mise en œuvre de la méthode System.Management.Automation.Provider.ItemCmdletProvider.ItemExists doit garantir que le chemin transmis à la méthode répond aux exigences des capacités spécifiées. Pour cela, la méthode doit accéder à la propriété appropriée, par exemple le System.Management.Automation.Provider.CmdletProvider.Exclude et System.Management.Automation.Provider.CmdletProvider.Include propriétés. - La mise en œuvre de cette méthode doit gérer toute forme d’accès à l’élément qui pourrait rendre l’élément visible à l’utilisateur. Par exemple, si un utilisateur a un accès en écriture à un fichier via le fournisseur du système de fichiers (fourni par Windows PowerShell), mais pas l’accès en lecture, le fichier existe toujours et System.Management.Automation.Provider.ItemCmdletProvider.ItemExists retourne
true. Votre implémentation peut nécessiter de vérifier un élément parent pour voir si l’élément enfant peut être énuméré.
Attacher des paramètres dynamiques au cmdlet de Test-Path
Parfois, le Test-Path cmdlet qui appelle System.Management.Automation.Provider.ItemCmdletProvider.ItemExists nécessite des paramètres supplémentaires spécifiés dynamiquement à l’exécution. Pour fournir ces paramètres dynamiques, le fournisseur d’éléments PowerShell Windows doit implémenter la méthode System.Management.Automation.Provider.ItemCmdletProvider.ItemExistsDynamicParameters . Cette méthode récupère les paramètres dynamiques de l’élément sur le chemin indiqué et renvoie un objet possédant des propriétés et des champs avec des attributs d’analyse similaires à une classe cmdlet ou à un objet System.Management.Automation.RuntimeDefinedParameterDictionary . L’exécution PowerShell de Windows utilise l’objet retourné pour ajouter les paramètres au Test-Path cmdlet.
Ce fournisseur d’éléments Windows PowerShell n’implémente pas cette méthode. Cependant, le code suivant est l’implémentation par défaut de cette méthode.
Récupérer un objet
Pour récupérer un élément, le fournisseur d’éléments Windows PowerShell doit passer outre la méthode System.Management.Automation.Provider.ItemCmdletProvider.GetItem afin de prendre en charge les appels depuis le Get-Item cmdlet. Cette méthode écrit l’élément en utilisant la méthode System.Management.Automation.Provider.CmdletProvider.WriteItemObject .
Voici la mise en œuvre de la méthode System.Management.Automation.Provider.ItemCmdletProvider.GetItem pour ce fournisseur. Notez que cette méthode utilise les méthodes d’aide GetTable et GetRow pour récupérer des éléments qui sont soit des tables dans la base de données Access, soit des lignes dans une table de données.
protected override void GetItem(string path)
{
// check if the path represented is a drive
if (PathIsDrive(path))
{
WriteItemObject(this.PSDriveInfo, path, true);
return;
}// if (PathIsDrive...
// Get table name and row information from the path and do
// necessary actions
string tableName;
int rowNumber;
PathType type = GetNamesFromPath(path, out tableName, out rowNumber);
if (type == PathType.Table)
{
DatabaseTableInfo table = GetTable(tableName);
WriteItemObject(table, path, true);
}
else if (type == PathType.Row)
{
DatabaseRowInfo row = GetRow(tableName, rowNumber);
WriteItemObject(row, path, false);
}
else
{
ThrowTerminatingInvalidPathException(path);
}
} // GetItem
Points à retenir concernant la mise en œuvre de GetItem
Les conditions suivantes peuvent s’appliquer à une implémentation de System.Management.Automation.Provider.ItemCmdletProvider.GetItem :
Lors de la définition de la classe fournisseur, un fournisseur d’éléments Windows PowerShell peut déclarer les capacités du fournisseur de , , , ou
Exclude, à partir de l’énumération System.Management.Automation.Provider.ProvidersCapabilities.IncludeFilterExpandWildcardsDans ces cas, la mise en œuvre de System.Management.Automation.Provider.ItemCmdletProvider.GetItem doit garantir que le chemin transmis à la méthode répond à ces exigences. Pour cela, la méthode doit accéder à la propriété appropriée, par exemple le System.Management.Automation.Provider.CmdletProvider.Exclude et System.Management.Automation.Provider.CmdletProvider.Include propriétés.Par défaut, les dérogations de cette méthode ne devraient pas récupérer les objets généralement cachés à l’utilisateur, sauf si la propriété System.Management.Automation.Provider.CmdletProvider.Force est définie sur
true. Par exemple, la méthode System.Management.Automation.Provider.ItemCmdletProvider.GetItem pour le fournisseur de Système de fichiers vérifie la propriété System.Management.Automation.Provider.CmdletProvider.Force avant de tenter d’appeler System.Management.Automation.Provider.CmdletProvider.WriteItemObject pour des fichiers cachés ou système.
Attacher des paramètres dynamiques au cmdlet de Get-Item
Parfois, le Get-Item cmdlet nécessite des paramètres supplémentaires spécifiés dynamiquement à l’exécution. Pour fournir ces paramètres dynamiques, le fournisseur d’items Windows PowerShell doit implémenter la méthode System.Management.Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters . Cette méthode récupère les paramètres dynamiques de l’élément sur le chemin indiqué et renvoie un objet possédant des propriétés et des champs avec des attributs d’analyse similaires à une classe cmdlet ou à un objet System.Management.Automation.RuntimeDefinedParameterDictionary . L’exécution PowerShell de Windows utilise l’objet retourné pour ajouter les paramètres au Get-Item cmdlet.
Ce fournisseur ne met pas en œuvre cette méthode. Cependant, le code suivant est l’implémentation par défaut de cette méthode.
Mise en place d’un objet
Pour définir un élément, le fournisseur d’éléments Windows PowerShell doit remplacer la méthode System.Management.Automation.Provider.ItemCmdletProvider.SetItem afin de supporter les appels depuis le Set-Item cmdlet. Cette méthode fixe la valeur de l’élément sur le chemin spécifié.
Ce fournisseur ne fournit pas de dérogation pour la méthode System.Management.Automation.Provider.ItemCmdletProvider.SetItem . Cependant, voici l’implémentation par défaut de cette méthode.
Points à retenir concernant la mise en œuvre de SetItem
Les conditions suivantes peuvent s’appliquer à votre implémentation de System.Management.Automation.Provider.ItemCmdletProvider.SetItem :
Lors de la définition de la classe fournisseur, un fournisseur d’éléments Windows PowerShell peut déclarer les capacités du fournisseur de , , , ou
Exclude, à partir de l’énumération System.Management.Automation.Provider.ProvidersCapabilities.IncludeFilterExpandWildcardsDans ces cas, l’implémentation de System.Management.Automation.Provider.ItemCmdletProvider.SetItem doit garantir que le chemin transmis à la méthode répond à ces exigences. Pour cela, la méthode doit accéder à la propriété appropriée, par exemple le System.Management.Automation.Provider.CmdletProvider.Exclude et System.Management.Automation.Provider.CmdletProvider.Include propriétés.Par défaut, les dérogations de cette méthode ne doivent pas définir ou écrire des objets cachés à l’utilisateur, sauf si la propriété System.Management.Automation.Provider.CmdletProvider.Force est définie sur
true. Une erreur doit être envoyée à la méthode System.Management.Automation.Provider.CmdletProvider.WriteError si le chemin représente un élément caché et que System.Management.Automation.Provider.CmdletProvider.Force est défini àfalse.Votre implémentation de la méthode System.Management.Automation.Provider.ItemCmdletProvider.SetItem doit appeler System.Management.Automation.Provider.CmdletProvider.ShouldProcess et vérifier sa valeur de retour avant d’effectuer toute modification du stockage de données. Cette méthode est utilisée pour confirmer l’exécution d’une opération lorsqu’un changement est apporté au stockage de données, par exemple la suppression de fichiers. La méthode System.Management.Automation.Provider.CmdletProvider.ShouldProcess envoie le nom de la ressource à changer à l’utilisateur, le runtime PowerShell de Windows tenant compte des paramètres en ligne de commande ou des variables de préférence pour déterminer ce qui doit être affiché.
Après les retours
truede l’appel vers System.Management.Automation.Provider.CmdletProvider.ShouldProcess, la méthode System.Management.Automation.Provider.ItemCmdletProvider.SetItem doit appeler la méthode System.Management.Automation.Provider.CmdletProvider.ShouldContinue. Cette méthode envoie un message à l’utilisateur pour permettre un retour d’information afin de vérifier si l’opération doit être poursuivie. L’appel à System.Management.Automation.Provider.CmdletProvider.ShouldContinue permet une vérification supplémentaire pour des modifications potentiellement dangereuses du système.
Récupération des paramètres dynamiques pour SetItem
Parfois, le Set-Item cmdlet nécessite des paramètres supplémentaires spécifiés dynamiquement à l’exécution. Pour fournir ces paramètres dynamiques, le fournisseur d’éléments PowerShell de Windows doit implémenter la méthode System.Management.Automation.Provider.ItemCmdletProvider.SetItemDynamicParameters . Cette méthode récupère les paramètres dynamiques de l’élément sur le chemin indiqué et renvoie un objet possédant des propriétés et des champs avec des attributs d’analyse similaires à une classe cmdlet ou à un objet System.Management.Automation.RuntimeDefinedParameterDictionary . L’exécution PowerShell de Windows utilise l’objet retourné pour ajouter les paramètres au Set-Item cmdlet.
Ce fournisseur ne met pas en œuvre cette méthode. Cependant, le code suivant est l’implémentation par défaut de cette méthode.
Nettoyer un élément
Pour effacer un élément, le fournisseur d’éléments Windows PowerShell implémente la méthode System.Management.Automation.Provider.ItemCmdletProvider.ClearItem pour supporter les appels depuis le Clear-Item cmdlet. Cette méthode efface l’élément de données sur le chemin spécifié.
Ce fournisseur ne met pas en œuvre cette méthode. Cependant, le code suivant est l’implémentation par défaut de cette méthode.
Points à retenir concernant la mise en œuvre de ClearItem
Les conditions suivantes peuvent s’appliquer à une implémentation de System.Management.Automation.Provider.ItemCmdletProvider.ClearItem :
Lors de la définition de la classe fournisseur, un fournisseur d’éléments Windows PowerShell peut déclarer les capacités du fournisseur de , , , ou
Exclude, à partir de l’énumération System.Management.Automation.Provider.ProvidersCapabilities.IncludeFilterExpandWildcardsDans ces cas, la mise en œuvre de System.Management.Automation.Provider.ItemCmdletProvider.ClearItem doit garantir que le chemin transmis à la méthode répond à ces exigences. Pour cela, la méthode doit accéder à la propriété appropriée, par exemple le System.Management.Automation.Provider.CmdletProvider.Exclude et System.Management.Automation.Provider.CmdletProvider.Include propriétés.Par défaut, les dérogations de cette méthode ne doivent pas définir ou écrire des objets cachés à l’utilisateur, sauf si la propriété System.Management.Automation.Provider.CmdletProvider.Force est définie sur
true. Une erreur doit être envoyée à la méthode System.Management.Automation.Provider.CmdletProvider.WriteError si le chemin représente un élément caché à l’utilisateur et si System.Management.Automation.Provider.CmdletProvider.Force est défini àfalse.Votre implémentation de la méthode System.Management.Automation.Provider.ItemCmdletProvider.SetItem doit appeler System.Management.Automation.Provider.CmdletProvider.ShouldProcess et vérifier sa valeur de retour avant d’effectuer toute modification du stockage de données. Cette méthode est utilisée pour confirmer l’exécution d’une opération lorsqu’un changement est apporté au stockage de données, par exemple la suppression de fichiers. La méthode System.Management.Automation.Provider.CmdletProvider.ShouldProcess envoie le nom de la ressource à changer à l’utilisateur, avec l’exécution Windows PowerShell, et gère les paramètres en ligne de commande ou les variables de préférence pour déterminer ce qui doit être affiché.
Après les retours
truede l’appel vers System.Management.Automation.Provider.CmdletProvider.ShouldProcess, la méthode System.Management.Automation.Provider.ItemCmdletProvider.SetItem doit appeler la méthode System.Management.Automation.Provider.CmdletProvider.ShouldContinue. Cette méthode envoie un message à l’utilisateur pour permettre un retour d’information afin de vérifier si l’opération doit être poursuivie. L’appel à System.Management.Automation.Provider.CmdletProvider.ShouldContinue permet une vérification supplémentaire pour des modifications potentiellement dangereuses du système.
Récupérer les paramètres dynamiques pour ClearItem
Parfois, le Clear-Item cmdlet nécessite des paramètres supplémentaires spécifiés dynamiquement à l’exécution. Pour fournir ces paramètres dynamiques, le fournisseur d’éléments Windows PowerShell doit implémenter la méthode System.Management.Automation.Provider.ItemCmdletProvider.ClearItemDynamicParameters . Cette méthode récupère les paramètres dynamiques de l’élément sur le chemin indiqué et renvoie un objet possédant des propriétés et des champs avec des attributs d’analyse similaires à une classe cmdlet ou à un objet System.Management.Automation.RuntimeDefinedParameterDictionary . L’exécution PowerShell de Windows utilise l’objet retourné pour ajouter les paramètres au Clear-Item cmdlet.
Ce fournisseur d’articles ne met pas en œuvre cette méthode. Cependant, le code suivant est l’implémentation par défaut de cette méthode.
Exécution d’une action par défaut pour un élément
Un fournisseur d’éléments Windows PowerShell peut implémenter la méthode System.Management.Automation.Provider.ItemCmdletProvider.InvokeDefaultAction pour supporter les appels depuis le Invoke-Item cmdlet, ce qui permet au fournisseur d’effectuer une action par défaut pour l’élément sur le chemin spécifié. Par exemple, le fournisseur du système de fichiers peut utiliser cette méthode pour appeler ShellExecute pour un élément spécifique.
Ce fournisseur ne met pas en œuvre cette méthode. Cependant, le code suivant est l’implémentation par défaut de cette méthode.
Points à retenir concernant la mise en œuvre d’InvokeDefaultAction
Les conditions suivantes peuvent s’appliquer à une implémentation de System.Management.Automation.Provider.ItemCmdletProvider.InvokeDefaultAction :
Lors de la définition de la classe fournisseur, un fournisseur d’éléments Windows PowerShell peut déclarer les capacités du fournisseur de , , , ou
Exclude, à partir de l’énumération System.Management.Automation.Provider.ProvidersCapabilities.IncludeFilterExpandWildcardsDans ces cas, la mise en œuvre de System.Management.Automation.Provider.ItemCmdletProvider.InvokeDefaultAction doit garantir que le chemin transmis à la méthode répond à ces exigences. Pour cela, la méthode doit accéder à la propriété appropriée, par exemple le System.Management.Automation.Provider.CmdletProvider.Exclude et System.Management.Automation.Provider.CmdletProvider.Include propriétés.Par défaut, les overrices de cette méthode ne doivent pas définir ou écrire des objets cachés à l’utilisateur, sauf si la propriété System.Management.Automation.Provider.CmdletProvider.Force est définie sur
true. Une erreur doit être envoyée à la méthode System.Management.Automation.Provider.CmdletProvider.WriteError si le chemin représente un élément caché à l’utilisateur et si System.Management.Automation.Provider.CmdletProvider.Force est défini àfalse.
Récupérer les paramètres dynamiques pour InvokeDefaultAction
Parfois, le Invoke-Item cmdlet nécessite des paramètres supplémentaires spécifiés dynamiquement à l’exécution. Pour fournir ces paramètres dynamiques, le fournisseur d’éléments Windows PowerShell doit implémenter la méthode System.Management.Automation.Provider.ItemCmdletProvider.InvokeDefaultActionDynamicParameters . Cette méthode récupère les paramètres dynamiques de l’élément sur le chemin indiqué et renvoie un objet possédant des propriétés et des champs avec des attributs d’analyse similaires à une classe cmdlet ou à un objet System.Management.Automation.RuntimeDefinedParameterDictionary . L’exécution PowerShell de Windows utilise l’objet retourné pour ajouter les paramètres dynamiques au Invoke-Item cmdlet.
Ce fournisseur d’articles ne met pas en œuvre cette méthode. Cependant, le code suivant est l’implémentation par défaut de cette méthode.
Implémentation des méthodes et classes d’assistance
Ce fournisseur d’items implémente plusieurs méthodes et classes d’assistance utilisées par les méthodes publiques de dérogation définies par Windows PowerShell. Le code de ces méthodes et classes d’assistance est présenté dans la section Exemple de code .
Méthode NormalizePath
Ce fournisseur d’items implémente une méthode d’assistance NormalizePath pour garantir que le chemin a un format cohérent. Le format spécifié utilise une barre oblique inverse (\) comme séparateur.
Méthode PathIsDrive
Ce fournisseur d’éléments implémente une méthode d’assistance PathIsDrive pour déterminer si le chemin spécifié est bien le nom du disque.
Méthode ChunkPath
Ce fournisseur d’items implémente une méthode d’assistance ChunkPath qui décompose le chemin spécifié afin que le fournisseur puisse identifier ses éléments individuels. Il retourne un tableau composé des éléments de chemin.
Méthode GetTable
Ce fournisseur d’éléments implémente la méthode d’aide GetTables qui retourne un objet DatabaseTableInfo représentant les informations sur la table spécifiée dans l’appel.
GetRow, méthode
La méthode System.Management.Automation.Provider.ItemCmdletProvider.GetItem de ce fournisseur d’items appelle la méthode helper GetRows . Cette méthode d’assistance récupère un objet DatabaseRowInfo qui représente des informations sur la ligne spécifiée dans la table.
Classe DatabaseTableInfo
Ce fournisseur d’items définit une classe DatabaseTableInfo qui représente une collection d’informations dans une table de données de la base de données. Cette classe est similaire à la classe System.IO.Directoryinfo .
Le fournisseur d’éléments d’exemple définit une méthode DatabaseTableInfo.GetTables qui retourne une collection d’objets d’information de table définissant les tables de la base de données. Cette méthode inclut un bloc try/catch pour s’assurer que toute erreur de base de données apparaisse comme une ligne sans entrées.
Classe DatabaseRowInfo
Ce fournisseur d’éléments définit la classe d’aide DatabaseRowInfo qui représente une ligne dans une table de la base de données. Cette classe est similaire à la classe System.IO.FileInfo .
Le fournisseur d’échantillons définit une méthode DatabaseRowInfo.GetRows pour retourner une collection d’objets d’information de ligne pour la table spécifiée. Cette méthode inclut un blocage try/catch pour piéger les exceptions. Toute erreur entraînera l’absence d’informations de ligne.
Exemple de code
Pour un code d’exemple complet, voir AccessDbProviderSample03 Code Sample.
Définition des types d’objets et mise en forme
Lors de l’écriture d’un fournisseur, il peut être nécessaire d’ajouter des membres à des objets existants ou de définir de nouveaux objets. Une fois terminé, créez un fichier Types que Windows PowerShell peut utiliser pour identifier les membres de l’objet ainsi qu’un fichier Format qui définit la manière dont l’objet est affiché. Pour plus d’informations, voir Extension des types d’objets et de la mise en forme.
Construire le fournisseur PowerShell de Windows
Voir comment enregistrer les commandants, les fournisseurs et les applications hôtes.
Tester le fournisseur Windows PowerShell
Lorsque ce fournisseur d’éléments Windows PowerShell est enregistré auprès de Windows PowerShell, vous ne pouvez tester que les fonctionnalités de base et de disque du fournisseur. Pour tester la manipulation des éléments, vous devez également implémenter la fonctionnalité de conteneur décrite dans Implémentation d’un fournisseur PowerShell Windows pour conteneurs.
Voir aussi
- Windows PowerShell SDK
- Guide du programmeur Windows PowerShell
- Création de fournisseurs Windows PowerShell
- Concevoir votre fournisseur Windows PowerShell
- Extension des types d’objets et de la mise en forme
- Fonctionnement de Windows PowerShell
- Création d’un fournisseur PowerShell Windows pour conteneurs
- Création d’un fournisseur PowerShell Windows pour un lecteur
- Comment enregistrer des commandants, des fournisseurs et des applications hôtes