服务器之家

服务器之家 > 正文

PowerShell函数中限制数组参数个数的例子

时间:2020-06-05 13:58     来源/作者:脚本之家

本文介绍PowerShell自定义函数时,可以使用数组来传递多个参数。数组传递参数时,参数个数本身无法限制,PowerShell函数提供了一个方法来限制数组中参数的个数。

PowerShell函数可以接受数组作为输入参数。而且不需要将数组定义好后再传给PowerShell函数,而可以直接将一个逗号分隔的字符串数组当作参数来传递,如:Add-User -UserName 'splaybow1','splaybow2','splaybow3'。这个函数的定义如下:

复制代码 代码如下:

function Add-User
{
    param
    (
    [String[]]
    $UserName
    )
    $UserName | ForEach-Object { “Adding $_” }
}


函数调用时如下:

复制代码 代码如下:
PS> Add-User -UserName 'Tobias'
Adding Tobias
PS> Add-User -UserName 'Tobias', 'Nina', 'Cofi'
Adding Tobias
Adding Nina
Adding Cofi

 

数组元素后面可以再跟上千儿八百个,但这样不安全,我们得要参数PowerShell函数定义时来做出一些限制。

复制代码 代码如下:

function Add-User
{
    param
    (
    [ValidateCount(1,3)]
    [String[]]
    $UserName
    )
    $UserName | ForEach-Object { “Adding $_” }
}


注意函数中使用了“[ValidateCount(1,3)]”这句,这表示可以接受的参数个数是1-3之间,即1个、2个、3个都可以。但不能超了,也不能少了。

复制代码 代码如下:

PS> Add-User -UserName 'Tobias', 'Nina'
Adding Tobias
Adding Nina
PS> Add-User -UserName 'Tobias', 'Nina', 'Cofi', 'splaybow'
Add-User : Cannot validate argument on parameter 'UserName'. The number of provided
arguments, (4), exceeds the maximum number of allowed arguments (3). Provide fewer than 3
arguments, and then try the command again.


上面第二个测试用例就提示:函数最大可接受的参数个数为3,而我们实际传了4个,所以失败了。

 

关于PowerShell函数限制数组参数个数,本文就介绍这么多,希望对您有所帮助,谢谢!

相关文章

热门资讯

歪歪漫画vip账号共享2020_yy漫画免费账号密码共享
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享 2020-04-07
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意 2019-07-07
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
返回顶部