PowerShell函數(shù)中限制數(shù)組參數(shù)個數(shù)的例子
本文介紹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ù)的定義如下:
function Add-User
{
param
(
[String[]]
$UserName
)
$UserName | ForEach-Object { “Adding $_” }
}
函數(shù)調(diào)用時如下:
Adding Tobias
PS> Add-User -UserName 'Tobias', 'Nina', 'Cofi'
Adding Tobias
Adding Nina
Adding Cofi
數(shù)組元素后面可以再跟上千兒八百個,但這樣不安全,我們得要參數(shù)PowerShell函數(shù)定義時來做出一些限制。
function Add-User
{
param
(
[ValidateCount(1,3)]
[String[]]
$UserName
)
$UserName | ForEach-Object { “Adding $_” }
}
注意函數(shù)中使用了“[ValidateCount(1,3)]”這句,這表示可以接受的參數(shù)個數(shù)是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.
上面第二個測試用例就提示:函數(shù)最大可接受的參數(shù)個數(shù)為3,而我們實際傳了4個,所以失敗了。
關(guān)于PowerShell函數(shù)限制數(shù)組參數(shù)個數(shù),本文就介紹這么多,希望對您有所幫助,謝謝!
相關(guān)文章
PowerShell查找分區(qū)中最大文件的方法(查找文件并按大小排序)
這篇文章主要介紹了PowerShell查找分區(qū)中最大文件的方法,查找文件并按占用空間排序,并用命令參數(shù)只輸出比如10條,這樣就可以快速找出一個目錄、一個分區(qū)下的N個最大的文件,需要的朋友可以參考下2014-08-08
Windows Powershell調(diào)用靜態(tài)方法
Powershell將信息存儲在對象中,每個對象都會有一個具體的類型,簡單的文本會以System.String類型存儲,日期會以System.DateTime類型存儲。任何.NET對象都可以通過GetType()方法返回它的類型,該類型中有一個FullName屬性,可以查看類型的完整名稱。2014-09-09
Windows Powershell分析和比較管道結(jié)果
這篇文章主要介紹了Windows Powershell分析和比較管道結(jié)果,需要的朋友可以參考下2014-09-09
Powershell實現(xiàn)克隆NTFS文件系統(tǒng)權(quán)限
這篇文章主要介紹了Powershell實現(xiàn)克隆NTFS文件系統(tǒng)權(quán)限,克隆安全描述需要管理員權(quán)限,注意第一個目錄的安全規(guī)則將全部覆蓋第二個的目錄的,需要的朋友可以參考下2014-12-12
PowerShell 未經(jīng)數(shù)字簽名 系統(tǒng)將不執(zhí)行該腳本
這篇文章主要介紹了PowerShell 未經(jīng)數(shù)字簽名 系統(tǒng)將不執(zhí)行該腳本的相關(guān)資料2017-10-10
Powershell小技巧之使用WS-Man來調(diào)用PowerShell命令
大多Windows系統(tǒng)的管理員應(yīng)當(dāng)已經(jīng)意識到在Windows系統(tǒng)上進(jìn)行腳本開發(fā)和命令行管理,PowerShell首當(dāng)其沖。微軟許多產(chǎn)品和一些第三方產(chǎn)品都提供了Windows PowerShell的管理接口。但是目前PowerShell只能運行在Windows系統(tǒng)上,如何才能在非Windows系統(tǒng)上管理windows系統(tǒng)呢2014-10-10

