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
Aggiungere l'attributo RunInstallerAttribute.
Creare una classe pubblica che deriva dalla classe System.Management.Automation.PSSnapIn.
In questo esempio il nome della classe è "GetProcPSSnapIn01".
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".
Aggiungere una proprietà pubblica per il fornitore dello snap-in (obbligatorio).
In questo esempio il fornitore è "Microsoft".
Aggiungere una proprietà pubblica per la risorsa fornitore dello snap-in (facoltativo).
In questo esempio la risorsa fornitore è "GetProcPSSnapIn01,Microsoft".
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".
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.";
}
}
}