定义如下Cmdlet:
[Cmdlet(VerbsCommon.Get, "AddTwo")]
public class GetSum : PSCmdlet
{
private int num1 = 0;
private int num2 = 0;
[Parameter(Mandatory = true, Position = 1, ValueFromPipelineByPropertyName = true)]
public int Num1
{
get { return num1; }
set { num1 = value; }
}
[Parameter(Mandatory = true, Position = 2, ValueFromPipelineByPropertyName = true)]
public int Num2
{
get { return num2; }
set { num2 = value; }
}
protected override void ProcessRecord()
{
int result = Num1 + Num2;
WriteObject(result);
}
}
上述代码为命令定义了两个参数,分别为Num1和Num2。这两个参数都是必须的。如果在PowerShell中忘了输入参数,Powershell会强制要求输入。比如:
PS C:\Users\harryh\Documents\visual studio 2012\Projects\TestCmdlet\Cmdlet2\bin\Debug> AddTwo
cmdlet Get-AddTwo at command pipeline position 1
Supply values for the following parameters:
Num1: 2
Num2: 3
5