本文介紹PowerShell自定義函數(shù)時,可以使用數(shù)組來傳遞多個參數(shù)。數(shù)組傳遞參數(shù)時,參數(shù)個數(shù)本身無法限制,PowerShell函數(shù)提供了一個方法來限制數(shù)組中參數(shù)的個數(shù)。
PowerShell函數(shù)可以接受數(shù)組作為輸入?yún)?shù)。而且不需要將數(shù)組定義好后再傳給PowerShell函數(shù),而可以直接將一個逗號分隔的字符串?dāng)?shù)組當(dāng)作參數(shù)來傳遞,如:Add-User -UserName 'splaybow1','splaybow2','splaybow3'。這個函數(shù)的定義如下:
復(fù)制代碼 代碼如下:
function Add-User
{
param
(
[String[]]
$UserName
)
$UserName | ForEach-Object { “Adding $_” }
}
函數(shù)調(diào)用時如下:
復(fù)制代碼 代碼如下:
PS> Add-User -UserName 'Tobias'
Adding Tobias
PS> Add-User -UserName 'Tobias', 'Nina', 'Cofi'
Adding Tobias
Adding Nina
Adding Cofi
數(shù)組元素后面可以再跟上千兒八百個,但這樣不安全,我們得要參數(shù)PowerShell函數(shù)定義時來做出一些限制。
復(fù)制代碼 代碼如下:
function Add-User
{
param
(
[ValidateCount(1,3)]
[String[]]
$UserName
)
$UserName | ForEach-Object { “Adding $_” }
}
注意函數(shù)中使用了“[ValidateCount(1,3)]”這句,這表示可以接受的參數(shù)個數(shù)是1-3之間,即1個、2個、3個都可以。但不能超了,也不能少了。
復(fù)制代碼 代碼如下:
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.
上面第二個測試用例就提示:函數(shù)最大可接受的參數(shù)個數(shù)為3,而我們實際傳了4個,所以失敗了。
關(guān)于PowerShell函數(shù)限制數(shù)組參數(shù)個數(shù),本文就介紹這么多,希望對您有所幫助,謝謝!