- Mastering PowerCLI
- Sajal Debnath
- 373字
- 2021-07-09 21:47:48
Using parameter validation attributes
Attributes falling under this category define the attributes that we can use to validate the value of a parameter/variable itself. The following is a list of the most commonly used parameters:
AllowNull
/AllowEmptyString
: This attribute allows a mandatory parameter to accept a NULL value or empty string. Check the following example. When this attribute is not set, the function does not allow us to give an empty string as an input to the$VCName
parameter, as it is a mandatory input. When we comment out theAllowEmptyString
parameter, it throws an error:Function Get-VC{ [cmdletbinding()] Param( [Parameter(Mandatory = $true)] # [AllowEmptyString()] [String]$VCName ) Write-Host "vCenter Name: $VCName" }
Notice that, when this attribute is set, the function allows us to give an empty string as the input to the
$VCName
parameter:ValidateCount
: This attribute specifies the minimum and maximum number of values that a parameter accepts. PowerShell will generate an error if the number of values provided along with the command is greater or fewer than the specified ones. For example, in the following code, the minimum number of values permitted with the$VMName
variable is2
and the maximum is10
:Param ( [parameter(Mandatory=$true)] [ValidateCount(2,10)] [String[]] $VMName )
ValidateLength
: Using this attribute, we can restrict the number of characters that can be provided as values to a parameter. PowerShell will generate an error if the length of a value specified for a parameter or a variable is outside the range. In the following example, the value of the$VMName
parameter must be between1
to10
characters:Param ( [parameter(Mandatory=$true)] [ValidateLength(1,10)] [String[]] $VMName )
ValidatePattern
: This attribute restricts the parameter value according to the regular expression specified by the pattern mentioned by the attribute. PowerShell will generate an error if the value does not match the regular expression pattern. In the following example, the$VMName
variable must have a value that starts with two characters followed by any one of the special characters@,#,
and!
and followed by two digits, of which the first digit can lie between0
to9
and the last digit must be between0
to5
:Param( [parameter(Mandatory=$true)] [ValidatePattern("[A-Z][a-z][@,#,!][0-9][0-5]")] [String[]] $VMName )
Note
For more details on parameter attributes, check out https://technet.microsoft.com/en-us/library/hh847743.aspx.
推薦閱讀
- PHP動態網站程序設計
- 高手是如何做產品設計的(全2冊)
- Rust編程:入門、實戰與進階
- 青少年軟件編程基礎與實戰(圖形化編程三級)
- Mastering Python Scripting for System Administrators
- 零基礎學Python數據分析(升級版)
- Python完全自學教程
- Rust Essentials(Second Edition)
- Raspberry Pi Home Automation with Arduino(Second Edition)
- Python期貨量化交易實戰
- Hands-On Robotics Programming with C++
- Learning Kotlin by building Android Applications
- Python Machine Learning Cookbook
- HTML5游戲開發實戰
- Java面向對象程序設計教程