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

时间:2014-02-27 20:39:20

标签: c# powershell pipeline

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

[Parameter(Mandatory = true, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true)]
public Object Connection;

此处Connection参数可以同时采用管道输入

$connectionValue | Cmdlet-Name

以及使用

的常规参数
Cmdlet-Name -Connection $connectionValue

在C#中是否有一种方法可以找出参数值是通过管道连接到cmdlet还是使用-Co​​nnection提供的? 在PowerShell中,可以通过检查$ input是否为空来完成。是否有任何参数属性可以指示输入类型?

1 个答案:

答案 0 :(得分:1)

您可以通过查看调用开始处理时是否设置或仅在进程记录期间设置它来进行检查。在调用开始处理之前设置非管道属性。