Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les fournisseurs peuvent définir des paramètres dynamiques ajoutés à une applet de commande de fournisseur lorsque l’utilisateur spécifie une certaine valeur pour l’un des paramètres statiques de l’applet de commande. Par exemple, un fournisseur peut ajouter différents paramètres dynamiques en fonction du chemin d’accès spécifié par l’utilisateur lorsqu’il appelle les applets de commande Get-Item ou Set-Item fournisseur.
Méthodes de paramètre dynamique
Les paramètres dynamiques sont définis en implémentant l’une des méthodes de paramètre dynamique, telles que la System.Management.Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters* et System.Management.Automation.Provider.SetItemDynamicParameters.SetItemDynamicParameters* méthodes. Ces méthodes retournent un objet qui a des propriétés publiques décorées avec des attributs similaires à ceux des applets de commande autonomes. Voici un exemple d’implémentation de la méthode System.Management.Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters* issue du fournisseur de certificats :
protected override object GetItemDynamicParameters(string path)
{
return new CertificateProviderDynamicParameters();
}
Contrairement aux paramètres statiques des applets de commande du fournisseur, vous pouvez spécifier les caractéristiques de ces paramètres de la même façon que les paramètres sont définis dans les applets de commande autonomes. Voici un exemple de classe de paramètre dynamique extraite du fournisseur de certificats :
internal sealed class CertificateProviderDynamicParameters
{
/// <summary>
/// Dynamic parameter the controls whether we only return
/// code signing certs.
/// </summary>
[Parameter()]
public SwitchParameter CodeSigningCert
{
get
{
{
return codeSigningCert;
}
}
set
{
{
codeSigningCert = value;
}
}
}
private SwitchParameter codeSigningCert = new SwitchParameter();
}
Paramètres dynamiques
Voici une liste des paramètres statiques qui peuvent être utilisés pour ajouter des paramètres dynamiques.
Clear-Contentcmdlet : vous pouvez définir des paramètres dynamiques déclenchés par le paramètrePathde l’applet de commande Clear-Clear en implémentant la méthode System.Management.Automation.Provider.IContentCmdletProvider.ClearContentDynamicParameters*.Clear-Itemapplet de commande : vous pouvez définir des paramètres dynamiques déclenchés par le paramètrePathde l’applet de commandeClear-Itemen implémentant la méthode System.Management.Automation.Provider.ItemCmdletProvider.ClearItemDynamicParameters*.Clear-ItemPropertycmdlet : vous pouvez définir des paramètres dynamiques déclenchés par le paramètrePathde l’applet de commandeClear-ItemPropertyen implémentant la méthode System.Management.Automation.Provider.IPropertyCmdletProvider.ClearPropertyDynamicParameters*.Copy-Itemapplet de commande : vous pouvez définir des paramètres dynamiques déclenchés par les paramètresPath,DestinationetRecursede l’applet de commandeCopy-Itemen implémentant la méthode System.Management.Automation.Provider.ContainerCmdletProvider.CopyItemDynamicParameters*.Get-ChildItemcmdlet : vous pouvez définir des paramètres dynamiques déclenchés par les paramètresPathetRecursede l’applet de commandeGet-ChildItemen implémentant les System.Management.Automation.Provider.ContainerCmdletProvider.GetChildItemsDynamicParameters* et Méthodes System.Management.Automation.Provider.ContainerCmdletProvider.GetChildNamesDynamicParameters*.Get-Contentapplet de commande : vous pouvez définir des paramètres dynamiques déclenchés par le paramètrePathde l’applet de commandeGet-Contenten implémentant la méthode System.Management.Automation.Provider.IContentCmdletProvider.GetContentReaderDynamicParameters*.Get-Itemcmdlet : vous pouvez définir des paramètres dynamiques déclenchés par le paramètrePathde l’applet de commandeGet-Itemen implémentant la méthode System.Management.Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters*.Get-ItemPropertycmdlet : vous pouvez définir des paramètres dynamiques déclenchés par les paramètresPathetNamede l’applet de commandeGet-ItemPropertyen implémentant la méthode System.Management.Automation.Provider.IPropertyCmdletProvider.GetPropertyDynamicParameters*.Invoke-Itemcmdlet : vous pouvez définir des paramètres dynamiques déclenchés par le paramètrePathde l’applet de commandeInvoke-Itemen implémentant la méthode System.Management.Automation.Provider.ItemCmdletProvider.InvokeDefaultActionDynamicParameters*.Move-Itemapplet de commande : vous pouvez définir des paramètres dynamiques déclenchés par les paramètresPathetDestinationde l’applet de commandeMove-Itemen implémentant la méthode System.Management.Automation.Provider.NavigationCmdletProvider.MoveItemDynamicParameters*.New-Itemapplet de commande : vous pouvez définir des paramètres dynamiques déclenchés par les paramètresPath,ItemTypeetValuede l’applet de commandeNew-Itemen implémentant la méthode System.Management.Automation.Provider.ContainerCmdletProvider.NewItemDynamicParameters*.New-ItemPropertyapplet de commande : vous pouvez définir des paramètres dynamiques déclenchés par les paramètresPath,Name,PropertyTypeetValuede l’applet de commandeNew-ItemPropertyen implémentant la méthode System.Management.Automation.Provider.IDynamicPropertyCmdletProvider.NewPropertyDynamicParameters*.New-PSDriveapplet de commande : vous pouvez définir des paramètres dynamiques déclenchés par l’objet System.Management.Automation.PSDriveInfo retourné par l’applet de commandeNew-PSDriveen implémentant la méthode System.Management.Automation.Provider.DriveCmdletProvider.NewDriveDynamicParameters*.Remove-Itemapplet de commande : vous pouvez définir des paramètres dynamiques déclenchés par les paramètresPathetRecursede l’applet de commandeRemove-Itemen implémentant la méthode System.Management.Automation.Provider.ContainerCmdletProvider.RemoveItemDynamicParameters*.Remove-ItemPropertyapplet de commande : vous pouvez définir des paramètres dynamiques déclenchés par les paramètresPathetNamede l’applet de commandeRemove-ItemPropertyen implémentant la méthode System.Management.Automation.Provider.IDynamicPropertyCmdletProvider.RemovePropertyDynamicParameters*.Rename-Itemapplet de commande : vous pouvez définir des paramètres dynamiques déclenchés par les paramètresPathetNewNamede l’applet de commandeRename-Itemen implémentant la méthode System.Management.Automation.Provider.ContainerCmdletProvider.RenameItemDynamicParameters*.Rename-ItemProperty: vous pouvez définir des paramètres dynamiques déclenchés par les paramètresPath,NameetNewNamede l’applet de commandeRename-ItemPropertyen implémentant la méthode System.Management.Automation.Provider.IDynamicPropertyCmdletProvider.RenamePropertyDynamicParameters*.Set-Contentcmdlet : vous pouvez définir des paramètres dynamiques déclenchés par le paramètrePathde l’applet de commandeSet-Contenten implémentant la méthode System.Management.Automation.Provider.IContentCmdletProvider.GetContentWriterDynamicParameters*.Set-Itemapplet de commande : vous pouvez définir des paramètres dynamiques déclenchés par les paramètresPathetValuede l’applet de commandeSet-Itemen implémentant la méthode System.Management.Automation.Provider.ItemCmdletProvider.SetItemDynamicParameters*.Set-ItemPropertycmdlet : vous pouvez définir des paramètres dynamiques déclenchés par les paramètresPathetValuede l’applet de commandeSet-Itemen implémentant la méthode System.Management.Automation.Provider.IPropertyCmdletProvider.SetPropertyDynamicParameters*.Test-Pathcmdlet : vous pouvez définir des paramètres dynamiques déclenchés par le paramètrePathde l’applet de commandeTest-Pathen implémentant la méthode System.Management.Automation.Provider.ItemCmdletProvider.InvokeDefaultActionDynamicParameters*.