Написание оснастки Windows PowerShell

в этом примере показано, как написать оснастку Windows PowerShell, которая может использоваться для регистрации всех командлетов и поставщиков Windows PowerShell в сборке.

При использовании этого типа оснастки не следует выбирать командлеты и поставщики, которые нужно зарегистрировать. чтобы создать оснастку, которая позволяет выбрать регистрируемые объекты, см. раздел написание настраиваемой оснастки Windows PowerShell.

Написание оснастки Windows PowerShell

  1. Добавьте атрибут Рунинсталлераттрибуте.

  2. Создайте открытый класс, производный от класса System. Management. Automation. PSSnapin .

    В этом примере имя класса — «GetProcPSSnapIn01».

  3. Добавьте открытое свойство для имени оснастки (обязательно). При именовании оснасток не используйте следующие символы: # , . , , ,, ( ) , { , } , [ , ] , & , - / \ $ ; : " ' < > | ? @ ` ,,,,,,,,,,,,,, *

    В этом примере имя оснастки — «GetProcPSSnapIn01».

  4. Добавьте открытое свойство для поставщика оснастки (обязательно).

    В этом примере поставщиком является "Microsoft".

  5. Добавьте открытое свойство для ресурса поставщика оснастки (необязательно).

    В этом примере ресурсом поставщика является "GetProcPSSnapIn01, Microsoft".

  6. Добавьте открытое свойство для описания оснастки (обязательно).

    в этом примере описание: «это Windows PowerShell оснастка, которая регистрирует командлет get-proc».

  7. Добавьте открытое свойство для ресурса описания оснастки (необязательно).

    в этом примере ресурсом поставщика является «GetProcPSSnapIn01, это Windows PowerShellная оснастка, которая регистрирует командлет get-proc».

Пример

в этом примере показано, как написать оснастку Windows PowerShell, которая может использоваться для регистрации командлета Get-Proc в оболочке Windows PowerShell. Имейте в виду, что в этом примере полная сборка будет содержать только класс оснастки GetProcPSSnapIn01 и 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.";
    }
  }
}

См. также:

Регистрация командлетов, поставщиков и ведущих приложений

Пакет SDK Windows PowerShell