Compartir a través de


Escritura de un complemento de Windows PowerShell

En este ejemplo se muestra cómo escribir un complemento de Windows PowerShell que se puede usar para registrar todos los cmdlets y proveedores de Windows PowerShell en un ensamblado.

Con este tipo de complemento, no se seleccionan los cmdlets y proveedores que desea registrar. Para escribir un complemento que le permita seleccionar lo que está registrado, consulte Escritura de un complemento personalizado de Windows PowerShell.

Escritura de un complemento de Windows PowerShell

  1. Agregue el atributo RunInstallerAttribute.

  2. Cree una clase pública que derive de la clase System.Management.Automation.PSSnapIn.

    En este ejemplo, el nombre de clase es "GetProcPSSnapIn01".

  3. Agregue una propiedad pública para el nombre del complemento (obligatorio). Al asignar nombres a los complementos, no use ninguno de los siguientes caracteres: #, ., ,, (, ), {, }, [, ], &, -, /, \, $, ;, :, ", ', <, >, |, ?, @, `*

    En este ejemplo, el nombre del complemento es "GetProcPSSnapIn01".

  4. Agregue una propiedad pública para el proveedor del complemento (obligatorio).

    En este ejemplo, el proveedor es "Microsoft".

  5. Agregue una propiedad pública para el recurso de proveedor del complemento (opcional).

    En este ejemplo, el recurso de proveedor es "GetProcPSSnapIn01,Microsoft".

  6. Agregue una propiedad pública para la descripción del complemento (obligatorio).

    En este ejemplo, la descripción es "Se trata de un complemento de Windows PowerShell que registra el cmdlet Get-Proc".

  7. Agregue una propiedad pública para el recurso de descripción del complemento (opcional).

    En este ejemplo, el recurso de proveedor es "GetProcPSSnapIn01,This is a Windows PowerShell snap-in that registers the Get-Proc cmdlet".

Ejemplo

En este ejemplo se muestra cómo escribir un complemento de Windows PowerShell que se puede usar para registrar el cmdlet Get-Proc en el shell de Windows PowerShell. Tenga en cuenta que en este ejemplo, el ensamblado completo solo contendrá la clase de complemento GetProcPSSnapIn01 y la clase de cmdlet Get-Proc.

[RunInstaller(true)]
public class GetProcPSSnapIn01 : PSSnapIn
{
  /// <summary>
  /// Create an instance of the GetProcPSSnapIn01 class.
  /// </summary>
  public GetProcPSSnapIn01()
         : base()
  {
  }

  /// <summary>
  /// Specify the name of the PowerShell snap-in.
  /// </summary>
  public override string Name
  {
    get
    {
      return "GetProcPSSnapIn01";
    }
  }

  /// <summary>
  /// Specify the vendor for the PowerShell snap-in.
  /// </summary>
  public override string Vendor
  {
    get
    {
      return "Microsoft";
    }
  }

  /// <summary>
  /// Specify the localization resource information for the vendor.
  /// Use the format: resourceBaseName,VendorName.
  /// </summary>
  public override string VendorResource
  {
    get
    {
      return "GetProcPSSnapIn01,Microsoft";
    }
  }

  /// <summary>
  /// Specify a description of the PowerShell snap-in.
  /// </summary>
  public override string Description
  {
    get
    {
      return "This is a PowerShell snap-in that includes the Get-Proc cmdlet.";
    }
  }

  /// <summary>
  /// Specify the localization resource information for the description.
  /// Use the format: resourceBaseName,Description.
  /// </summary>
  public override string DescriptionResource
  {
    get
    {
      return "GetProcPSSnapIn01,This is a PowerShell snap-in that includes the Get-Proc cmdlet.";
    }
  }
}

Véase también

Registro de cmdlets, proveedores y aplicaciones host

del SDK de Shell de Windows PowerShell