我正在创建一个 Powershell System.Management.AutomationCmdlet.Cmdlet
,以通过这种方式将字符串列表通过管道传递给 Cmdlet:
[Cmdlet(VerbsCommon.Add, "Signature")]
public class AddSignature : Cmdlet
...
[Parameter(Position = 0, ValueFromPipeline = true)]
public List<string> Items { get; set; }
...
现在,在重载的“ProcessRecord”方法中,我一次只能获得一项Items.Count == 1
3 次(而不是一次通过管道获得完整的列表)。
'item1','item2','item3' | Add-Signature
是否有可能一次传递整个项目列表(由 Get-ChildItem 返回)?我一次只能得到一件物品。
基本上我希望使用管道具有相同的行为,就好像我使用这样的命令(Items.Count == 3
)
Add-Signature -Items "item1","item2","item3"
任何想法?