Compartir a través de


Parámetros dinámicos del cmdlet de proveedor

Los proveedores pueden definir parámetros dinámicos que se agregan a un cmdlet de proveedor cuando el usuario especifica un valor determinado para uno de los parámetros estáticos del cmdlet. Por ejemplo, un proveedor puede agregar parámetros dinámicos diferentes en función de la ruta de acceso que especifica el usuario cuando llama a los cmdlets de proveedor Get-Item o Set-Item.

Métodos de parámetro dinámico

Los parámetros dinámicos se definen mediante la implementación de uno de los métodos de parámetro dinámico, como los métodos System.Management.Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters* y System.Management.Automation.Provider.SetItemDynamicParameters.SetItemDynamicParameters*. Estos métodos devuelven un objeto que tiene propiedades públicas decoradas con atributos similares a los de cmdlets independientes. Este es un ejemplo de una implementación del método System.Management.Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters* tomado del proveedor de certificados:

protected override object GetItemDynamicParameters(string path)
{
    return new CertificateProviderDynamicParameters();
}

A diferencia de los parámetros estáticos de los cmdlets de proveedor, puede especificar las características de estos parámetros de la misma manera que los parámetros se definen en cmdlets independientes. Este es un ejemplo de una clase de parámetro dinámico tomada del proveedor de certificados:

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();
}

Parámetros dinámicos

Esta es una lista de los parámetros estáticos que se pueden usar para agregar parámetros dinámicos.

Véase también

escribir un proveedor de Windows PowerShell