Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#PowerShell管道输入标志/属性_C#_Powershell_Pipeline - Fatal编程技术网

C#PowerShell管道输入标志/属性

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 也可以

我通过扩展PSCmdlet类在C#中创建PowerShell cmdlet。 我需要为管道输入和普通参数输入使用相同的参数。乙二醇

[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