Een Windows PowerShell-module schrijven

In dit voorbeeld ziet u hoe u Windows PowerShell-module schrijft die kan worden gebruikt voor het registreren van alle cmdlets en Windows PowerShell-providers in een assembly.

Met dit type module selecteert u niet welke cmdlets en providers u wilt registreren. Zie Writing a Custom Windows PowerShell Snap-in(Een aangepaste module Windows PowerShell schrijven) als u een module wilt schrijven waarmee u kunt selecteren wat is geregistreerd.

Een Windows PowerShell-module schrijven

  1. Voeg het kenmerk RunInstallerAttribute toe.

  2. Maak een openbare klasse die is afgeleid van de klasse System.Management.Automation.PSSnapIn.

    In dit voorbeeld is de klassenaam 'GetProcPSSnapIn01'.

  3. Voeg een openbare eigenschap toe voor de naam van de module (vereist). Gebruik bij het benoemen van module-ins geen van de volgende tekens: # , , , , , . , ( ) { , } [ ] & - / \ $ ; : " ' < > | ? @ `` ```*

    In dit voorbeeld is de naam van de module 'GetProcPSSnapIn01'.

  4. Voeg een openbare eigenschap toe voor de leverancier van de module (vereist).

    In dit voorbeeld is de leverancier 'Microsoft'.

  5. Voeg een openbare eigenschap toe voor de leverancierresource van de module (optioneel).

    In dit voorbeeld is de leverancierresource 'GetProcPSSnapIn01,Microsoft'.

  6. Voeg een openbare eigenschap toe voor de beschrijving van de module (vereist).

    In dit voorbeeld is de beschrijving 'Dit is een Windows PowerShell-module die de cmdlet get-proc registreert'.

  7. Voeg een openbare eigenschap toe voor de beschrijvingsresource van de module (optioneel).

    In dit voorbeeld is de leverancierresource GetProcPSSnapIn01, dit is een Windows PowerShell-module die de cmdlet get-proc registreert.

Voorbeeld

In dit voorbeeld ziet u hoe u een Windows PowerShell-module schrijft die kan worden gebruikt voor het registreren van de Get-Proc-cmdlet in Windows PowerShell shell. In dit voorbeeld bevat de volledige assembly alleen de moduleKlasse GetProcPSSnapIn01 en de Get-Proc cmdlet-klasse.

[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.";
    }
  }
}

Zie ook

Cmdlets, providers en hosttoepassingen registreren

Windows PowerShell Shell-SDK