Condividi tramite


Scrittura di uno snap-in di Windows PowerShell

Questo esempio illustra come scrivere uno snap-in di Windows PowerShell che può essere usato per registrare tutti i cmdlet e i provider di Windows PowerShell in un assembly.

Con questo tipo di snap-in, non è possibile selezionare i cmdlet e i provider da registrare. Per scrivere uno snap-in che consente di selezionare gli elementi registrati, vedere Scrittura di uno snap-in di Windows PowerShell personalizzato.

Scrittura di uno snap-in di Windows PowerShell

  1. Aggiungere l'attributo RunInstallerAttribute.

  2. Creare una classe pubblica che deriva dalla classe System.Management.Automation.PSSnapIn.

    In questo esempio il nome della classe è "GetProcPSSnapIn01".

  3. Aggiungere una proprietà pubblica per il nome dello snap-in (obbligatorio). Quando si assegnano nomi agli snap-in, non usare uno dei caratteri seguenti: #, ., ,, (, ), {, }, [, ], &, -, /, \, $, ;, :, ", ', <, >, |, ?, @, `, *

    In questo esempio il nome dello snap-in è "GetProcPSSnapIn01".

  4. Aggiungere una proprietà pubblica per il fornitore dello snap-in (obbligatorio).

    In questo esempio il fornitore è "Microsoft".

  5. Aggiungere una proprietà pubblica per la risorsa fornitore dello snap-in (facoltativo).

    In questo esempio la risorsa fornitore è "GetProcPSSnapIn01,Microsoft".

  6. Aggiungere una proprietà pubblica per la descrizione dello snap-in (obbligatorio).

    In questo esempio la descrizione è "This is a Windows PowerShell snap-in that registers the Get-Proc cmdlet".

  7. Aggiungere una proprietà pubblica per la risorsa di descrizione dello snap-in (facoltativo).

    In questo esempio, la risorsa fornitore è "GetProcPSSnapIn01, si tratta di uno snap-in di Windows PowerShell che registra il cmdlet Get-Proc".

Esempio

Questo esempio illustra come scrivere uno snap-in di Windows PowerShell che può essere usato per registrare il cmdlet Get-Proc nella shell di Windows PowerShell. Tenere presente che in questo esempio l'assembly completo conterrà solo la classe snap-in GetProcPSSnapIn01 e la classe del 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.";
    }
  }
}

Vedere anche

Come registrare cmdlet, provider e applicazioni host

windows PowerShell Shell SDK