C#PowerShell管道输入标志/属性
我通过扩展PSCmdlet类在C#中创建PowerShell cmdlet。 我需要为管道输入和普通参数输入使用相同的参数。乙二醇C#PowerShell管道输入标志/属性,c#,powershell,pipeline,C#,Powershell,Pipeline,我通过扩展PSCmdlet类在C#中创建PowerShell cmdlet。 我需要为管道输入和普通参数输入使用相同的参数。乙二醇 [Parameter(Mandatory = true, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true)] public Object Connection; 这里,Connection参数可以接受两个管道输入 $connectionValue | Cmdlet-Name 也可以
[Parameter(Mandatory = true, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true)]
public Object Connection;
这里,Connection参数可以接受两个管道输入
$connectionValue | Cmdlet-Name
也可以使用标准参数
Cmdlet-Name -Connection $connectionValue
在C#中是否有一种方法可以确定参数值是通过管道传输到cmdlet还是使用-Connection提供的?
在PowerShell中,可以通过检查$input是否为空来完成此操作。是否有任何参数属性可以指示输入类型?您可以通过查看它是在调用beginprocessing时设置的,还是仅在流程记录期间设置的来检查。在调用“开始处理”之前设置非管道属性 你为什么要知道这些?我认为大多数用户都希望命令的行为相同,无论他们是通过管道还是直接通过参数参数提供输入。@Keith$a=@(server1、server2、server3);Cmdlet Name-Connection$a-Param1@(“val1”、“val2”、“val3”)$a|Cmdlet Name-Parma1@(“val1”、“val2”、“val3”)对于上述两个命令,val1应用于server1,val2应用于server2,val3应用于server3