我正在尝试创建一个调用Powershell函数的cmdlet。可以这样做吗?
想法是使用静态cmdlet枚举一组数据,然后调用已定义的函数为每个项执行某些操作。我总是可以复制 - 粘贴一个基本模板用于enumaration部分,但是在修改参数等时很容易出错。
答案 0 :(得分:2)
当然,在PSCmdlet上使用InvokeCommand属性(假设你派生自这个基类),例如:
Collection<PSObject> result = this.InvokeCommand.InvokeScript("somefunc", true,
PipelineResultTypes.None, null, new[] {1,2,3});
请注意,在这种情况下,somefunc
需要三个参数(1,2,3)并且没有管道输入(传递null
作为第四个参数)。