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

Nai*_*gel 6 validation powershell function

我有类似的问题这一个

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

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

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

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

Ric*_*ard 21

试试这个:

param (
    [parameter(mandatory=$true)]
    [AllowEmptyCollection()]
    [array]$Path
)
Run Code Online (Sandbox Code Playgroud)

链接:

参数验证属性