Compartir vía


Tipos de proveedor

Los proveedores definen su funcionalidad básica cambiando el modo en que los cmdlets del proveedor, proporcionados por PowerShell, realizan sus acciones. Por ejemplo, los proveedores pueden usar la funcionalidad predeterminada del cmdlet o pueden cambiar cómo funciona ese cmdlet al recuperar elementos Get-Item del almacén de datos. La funcionalidad del proveedor descrita en este documento incluye la funcionalidad definida por la sobrescritura de métodos de interfaces y clases base de proveedor específicas.

Nota

Para ver las características de proveedor predefinidas por PowerShell, consulte Funcionalidades del proveedor.

Proveedores habilitados para unidades

Los proveedores habilitados para unidades especifican las unidades predeterminadas disponibles para el usuario y permiten al usuario agregar o quitar unidades. En la mayoría de los casos, los proveedores son proveedores habilitados para unidades porque requieren alguna unidad predeterminada para acceder al almacén de datos. Sin embargo, al escribir su propio proveedor, es posible que desee o no permitir que el usuario cree y quite unidades.

Para crear un proveedor habilitado para unidad, la clase de proveedor debe derivar de la clase System.Management.Automation.Provider.DriveCmdletProvider u otra clase que se derive de esa clase. La clase DriveCmdletProvider define los métodos siguientes para implementar las unidades predeterminadas del proveedor y admitir los New-PSDrive Remove-PSDrive cmdlets y . En la mayoría de los casos, para admitir un cmdlet de proveedor, debe sobrescribir el método al que llama el motor de PowerShell para invocar el cmdlet, como el método del cmdlet y, opcionalmente, puede sobrescribir un segundo método, como , para agregar parámetros dinámicos al NewDrive New-PSDrive NewDriveDynamicParameters cmdlet.

  • El método InitializeDefaultDrives define las unidades predeterminadas que están disponibles para el usuario cada vez que se usa el proveedor.

  • Los métodos NewDrive y NewDriveDynamicParameters definen cómo el proveedor admite el New-PSDrive cmdlet del proveedor. Este cmdlet permite al usuario crear unidades para acceder al almacén de datos.

  • El método RemoveDrive define cómo el proveedor admite el Remove-PSDrive cmdlet del proveedor. Este cmdlet permite al usuario quitar unidades del almacén de datos.

Proveedores habilitados para elementos

Los proveedores habilitados para elementos permiten al usuario obtener, establecer o borrar los elementos del almacén de datos. Un "elemento" es un elemento del almacén de datos al que el usuario puede acceder o administrar de forma independiente. Para crear un proveedor habilitado para elementos, la clase de proveedor debe derivar de la clase System.Management.Automation.Provider.ItemCmdletProvider u otra clase que se derive de esa clase.

La clase ItemCmdletProvider define los métodos siguientes para implementar cmdlets de proveedor específicos. En la mayoría de los casos, para admitir un cmdlet de proveedor, debe sobrescribir el método al que llama el motor de PowerShell para invocar el cmdlet, como el método del cmdlet y, opcionalmente, puede sobrescribir un segundo método, como , para agregar parámetros dinámicos al ClearItem Clear-Item ClearItemDynamicParameters cmdlet.

Además de los métodos usados para implementar cmdlets de proveedor, la clase ItemCmdletProvider también define los métodos siguientes:

  • El método ExpandPath permite al usuario usar caracteres comodín al especificar la ruta de acceso del proveedor.

  • IsValidPath se usa para determinar si una ruta de acceso es sintáctica y semánticamente válida para el proveedor.

Proveedores habilitados para contenedores

Los proveedores habilitados para contenedores permiten al usuario administrar elementos que son contenedores. Un contenedor es un grupo de elementos secundarios con un elemento primario común. Para crear un proveedor habilitado para contenedor, la clase de proveedor debe derivar de la clase System.Management.Automation.Provider.ContainerCmdletProvider u otra clase que se derive de esa clase.

Importante

Los proveedores habilitados para contenedores no pueden acceder a los almacenes de datos que contienen contenedores anidados. Si un elemento secundario de un contenedor es otro contenedor, debe implementar un proveedor habilitado para la navegación.

La clase ContainerCmdletProvider define los métodos siguientes para implementar cmdlets de proveedor específicos. En la mayoría de los casos, para admitir un cmdlet de proveedor, debe sobrescribir el método al que llama el motor de PowerShell para invocar el cmdlet, como el método del cmdlet y, opcionalmente, puede sobrescribir un segundo método, como , para agregar parámetros dinámicos al CopyItem Copy-Item CopyItemDynamicParameters cmdlet.

Además de los métodos usados para implementar cmdlets de proveedor, la clase ContainerCmdletProvider también define los métodos siguientes:

  • La clase de proveedor puede usar el método HasChildItems para determinar si un elemento tiene elementos secundarios.

  • La clase de proveedor puede usar el método ConvertPath para crear una nueva ruta de acceso específica del proveedor a partir de una ruta de acceso especificada.

Los proveedores habilitados para la navegación permiten al usuario mover elementos en el almacén de datos. Para crear un proveedor habilitado para la navegación, la clase de proveedor debe derivar de la clase System.Management.Automation.Provider.NavigationCmdletProvider.

La clase NavigationCmdletProvider define los métodos siguientes para implementar cmdlets de proveedor específicos. En la mayoría de los casos, para admitir un cmdlet de proveedor, debe sobrescribir el método al que llama el motor de PowerShell para invocar el cmdlet, como el método del cmdlet y, opcionalmente, puede sobrescribir un segundo método, como , para agregar parámetros dinámicos al MoveItem Move-Item MoveItemDynamicParameters cmdlet.

  • Los métodos MoveItem y MoveItemDynamicParameters definen cómo el proveedor admite el Move-Item cmdlet del proveedor. Este cmdlet permite al usuario mover un elemento de una ubicación del almacén a otra.

  • El método MakePath define cómo el proveedor admite el Join-Path cmdlet provider. Este cmdlet permite al usuario combinar un segmento de ruta de acceso principal y secundario para crear una ruta de acceso interna del proveedor.

Además de los métodos usados para implementar cmdlets de proveedor, la clase NavigationCmdletProvider también define los métodos siguientes:

Proveedores habilitados para contenido

Los proveedores habilitados para contenido permiten al usuario borrar, obtener o establecer el contenido de los elementos de un almacén de datos. Por ejemplo, el proveedor FileSystem permite borrar, obtener y establecer el contenido de los archivos en el sistema de archivos. Para crear un proveedor habilitado para contenido, la clase de proveedor debe implementar los métodos de la interfaz System.Management.Automation.Provider.IContentCmdletProvider.

La interfaz IContentCmdletProvider define los métodos siguientes para implementar cmdlets de proveedor específicos. En la mayoría de los casos, para admitir un cmdlet de proveedor, debe sobrescribir el método al que llama el motor de PowerShell para invocar el cmdlet, como el método del cmdlet y, opcionalmente, puede sobrescribir un segundo método, como , para agregar parámetros dinámicos al ClearContent Clear-Content ClearContentDynamicParameters cmdlet.

Proveedores habilitados para propiedades

Los proveedores habilitados para propiedades permiten al usuario administrar las propiedades de los elementos del almacén de datos. Para crear un proveedor habilitado para propiedades, la clase de proveedor debe implementar los métodos de las interfaces System.Management.Automation.Provider.IPropertyCmdletProvider y System.Management.Automation.Provider.IDynamicPropertyCmdletProvider. En la mayoría de los casos, para admitir un cmdlet de proveedor, debe sobrescribir el método al que llama el motor de PowerShell para invocar el cmdlet, como el método para el cmdlet Clear-Property y, opcionalmente, puede sobrescribir un segundo método, como , para agregar parámetros dinámicos al ClearProperty ClearPropertyDynamicParameters cmdlet.

La interfaz IPropertyCmdletProvider define los métodos siguientes para implementar cmdlets de proveedor específicos:

La interfaz IDynamicPropertyCmdletProvider define los métodos siguientes para implementar cmdlets de proveedor específicos:

Consulte también

about_Providers

Escritura de un proveedor de Windows PowerShell