PowerShell函數(shù)中限制數(shù)組參數(shù)個(gè)數(shù)的例子
本文介紹PowerShell自定義函數(shù)時(shí),可以使用數(shù)組來傳遞多個(gè)參數(shù)。數(shù)組傳遞參數(shù)時(shí),參數(shù)個(gè)數(shù)本身無法限制,PowerShell函數(shù)提供了一個(gè)方法來限制數(shù)組中參數(shù)的個(gè)數(shù)。
PowerShell函數(shù)可以接受數(shù)組作為輸入?yún)?shù)。而且不需要將數(shù)組定義好后再傳給PowerShell函數(shù),而可以直接將一個(gè)逗號(hào)分隔的字符串?dāng)?shù)組當(dāng)作參數(shù)來傳遞,如:Add-User -UserName 'splaybow1','splaybow2','splaybow3'。這個(gè)函數(shù)的定義如下:
function Add-User
{
param
(
[String[]]
$UserName
)
$UserName | ForEach-Object { “Adding $_” }
}
函數(shù)調(diào)用時(shí)如下:
Adding Tobias
PS> Add-User -UserName 'Tobias', 'Nina', 'Cofi'
Adding Tobias
Adding Nina
Adding Cofi
數(shù)組元素后面可以再跟上千兒八百個(gè),但這樣不安全,我們得要參數(shù)PowerShell函數(shù)定義時(shí)來做出一些限制。
function Add-User
{
param
(
[ValidateCount(1,3)]
[String[]]
$UserName
)
$UserName | ForEach-Object { “Adding $_” }
}
注意函數(shù)中使用了“[ValidateCount(1,3)]”這句,這表示可以接受的參數(shù)個(gè)數(shù)是1-3之間,即1個(gè)、2個(gè)、3個(gè)都可以。但不能超了,也不能少了。
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.
上面第二個(gè)測(cè)試用例就提示:函數(shù)最大可接受的參數(shù)個(gè)數(shù)為3,而我們實(shí)際傳了4個(gè),所以失敗了。
關(guān)于PowerShell函數(shù)限制數(shù)組參數(shù)個(gè)數(shù),本文就介紹這么多,希望對(duì)您有所幫助,謝謝!
相關(guān)文章
PowerShell查找分區(qū)中最大文件的方法(查找文件并按大小排序)
這篇文章主要介紹了PowerShell查找分區(qū)中最大文件的方法,查找文件并按占用空間排序,并用命令參數(shù)只輸出比如10條,這樣就可以快速找出一個(gè)目錄、一個(gè)分區(qū)下的N個(gè)最大的文件,需要的朋友可以參考下2014-08-08
PowerShell查詢和刪除打印任務(wù)操作代碼實(shí)例
這篇文章主要介紹了PowerShell查詢和刪除打印任務(wù)操作代碼實(shí)例,本文直接給出代碼實(shí)例,需要的朋友可以參考下2015-03-03
PowerShell實(shí)現(xiàn)時(shí)間管理小秘書
這篇文章主要介紹了PowerShell實(shí)現(xiàn)時(shí)間管理小秘書,本文是一個(gè)PowerShell的綜合編程實(shí)例,實(shí)現(xiàn)了一個(gè)用來管理時(shí)間的功能,需要的朋友可以參考下2015-04-04
Windows Powershell調(diào)用靜態(tài)方法
Powershell將信息存儲(chǔ)在對(duì)象中,每個(gè)對(duì)象都會(huì)有一個(gè)具體的類型,簡單的文本會(huì)以System.String類型存儲(chǔ),日期會(huì)以System.DateTime類型存儲(chǔ)。任何.NET對(duì)象都可以通過GetType()方法返回它的類型,該類型中有一個(gè)FullName屬性,可以查看類型的完整名稱。2014-09-09
Windows Powershell分析和比較管道結(jié)果
這篇文章主要介紹了Windows Powershell分析和比較管道結(jié)果,需要的朋友可以參考下2014-09-09
Powershell實(shí)現(xiàn)克隆NTFS文件系統(tǒng)權(quán)限
這篇文章主要介紹了Powershell實(shí)現(xiàn)克隆NTFS文件系統(tǒng)權(quán)限,克隆安全描述需要管理員權(quán)限,注意第一個(gè)目錄的安全規(guī)則將全部覆蓋第二個(gè)的目錄的,需要的朋友可以參考下2014-12-12
使用 powershell 創(chuàng)建虛擬機(jī)
Azure PowerShell 模塊用于從 PowerShell 命令行或腳本創(chuàng)建和管理 Azure 資源。 本指南詳細(xì)介紹了如何使用 Azure PowerShell 模塊創(chuàng)建虛擬機(jī)。2017-10-10
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)意識(shí)到在Windows系統(tǒng)上進(jìn)行腳本開發(fā)和命令行管理,PowerShell首當(dāng)其沖。微軟許多產(chǎn)品和一些第三方產(chǎn)品都提供了Windows PowerShell的管理接口。但是目前PowerShell只能運(yùn)行在Windows系統(tǒng)上,如何才能在非Windows系統(tǒng)上管理windows系統(tǒng)呢2014-10-10

