如何验证允许空数组的PowerShell函数参数?

时间:2013-06-20 09:31:02

标签: function validation powershell

我遇到与THIS ONE

类似的问题

我正在传递给一个函数3数组,我以这种方式验证对象类型

function _TEST {
[CmdletBinding()]
param (
    [parameter(mandatory=$true)]
    [array]$Path,
    [parameter(mandatory=$true)]
    [array]$RW,
    [parameter(mandatory=$true)]
    [array]$RO
)
process {
    # my code
}

除非我传递给没有元素的函数数组,否则它会起作用,在这种情况下它会返回此错误_TEST : Cannot bind argument to parameter 'Path' because it is an empty collection.

有没有办法在链接问题中解决与[AllowEmptyString()]类似的问题,还是我必须编写自定义代码来测试输入变量?

1 个答案:

答案 0 :(得分:18)

试试这个:

param (
    [parameter(mandatory=$true)]
    [AllowEmptyCollection()]
    [array]$Path
)

链接:

Parameter Validation Attributes