Pisanie przystawki programu Windows PowerShell

W tym przykładzie pokazano, jak napisać przystawkę Windows PowerShell, która może służyć do rejestrowania wszystkich Windows PowerShell cmdlet w zestawie.

W przypadku tego typu przystawki nie należy wybierać, które polecenia cmdlet i dostawcy mają zostać zarejestrowani. Aby napisać przystawkę umożliwiającą wybranie tego, co jest zarejestrowane, zobacz Zapisywanie niestandardowej Windows PowerShell przystawki .

Pisanie przystawki programu Windows PowerShell

  1. Dodaj atrybut RunInstallerAttribute.

  2. Utwórz klasę publiczną pochodzącą od klasy System.Management.Automation.PSSnapIn.

    W tym przykładzie nazwa klasy to "GetProcPSSnapIn01".

  3. Dodaj właściwość publiczną dla nazwy przystawki (wymagane). Podczas nazewnictwa przyciągań nie używaj żadnego z następujących znaków: # , , , , , , , , . , , , , , ( , , ) , , , { , } [ ] & - / \ $ , ; : " ' < > | ? @ ` , *

    W tym przykładzie nazwa przystawki to "GetProcPSSnapIn01".

  4. Dodaj właściwość publiczną dla dostawcy przystawki (wymagane).

    W tym przykładzie dostawca to "Microsoft".

  5. Dodaj właściwość publiczną dla zasobu dostawcy przystawki (opcjonalnie).

    W tym przykładzie zasób dostawcy to "GetProcPSSnapIn01,Microsoft".

  6. Dodaj właściwość publiczną dla opisu przystawki (wymagane).

    W tym przykładzie opis to "To jest Windows PowerShell, która rejestruje polecenie cmdlet get-proc".

  7. Dodaj właściwość publiczną dla zasobu opisu przystawki (opcjonalnie).

    W tym przykładzie zasób dostawcy to "GetProcPSSnapIn01, Windows PowerShell przystawka, która rejestruje polecenie cmdlet get-proc".

Przykład

W tym przykładzie pokazano, jak napisać przystawkę Windows PowerShell, która może służyć do rejestrowania polecenia cmdlet Get-Proc w Windows PowerShell powłoki. Należy pamiętać, że w tym przykładzie kompletny zestaw będzie zawierać tylko klasę przystawki GetProcPSSnapIn01 i Get-Proc klasę polecenia cmdlet.

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

Zobacz też

Jak rejestrować polecenia cmdlet, dostawców i aplikacje hosta

Windows PowerShell Zestaw SDK powłoki