高级函数使用说明

Function Test-Calc
{
    [CmdletBinding(SupportsShouldProcess=$True,ConfirmImpact="none")]
    Param
    (
        [ValidateRange(1,100)]
        [parameter(Mandatory=$true, Position=0, HelpMessage="请输入数字1")]
        [int]$Number1,
        [ValidateSet("+","-","*","/","Max","Min")]
[parameter(Mandatory=$true, Position=1, HelpMessage="操作符")]
[string]$Operator,
        [ValidateRange(1,100)]
        [parameter(Mandatory=$true, Position=2, HelpMessage="请输入数字2")]
        [int]$Number2
    )
    process
    {
        switch ($Operator)
        {
            "+" {$result = $Number1 + $Number2}
            "-" {$result = $Number1 - $Number2}
            "*" {$result = $Number1 * $Number2}
            "/" {$result = $Number1 / $Number2}
            "Min" {$result = [Math]::Min($Number1,$Number2)}
            "Max" {$result = [Math]::Max($Number1,$Number2)}
        }
    }
    end
    {
        Write-Host "Result : $Number1 $Operator $Number2 = $result"
    }
}

 

属性名
可选参数值
属性说明
Mandatory
$True, $False
指定参数是否是必要参数,强制用户输入
Position
整数
指定参数位置,如果用户没有指定具体参数名称,那么PowerShell将根据该值按序填充相应的参数
ParameterSetName
字符串
指定该参数属于哪个特定的参数集
ValueFromPipeline
$True, $False
是否接受来自管道中的值
ValueFromPipelineByPropertyName
$True, $False
是否接受来自管道中指定参数名的值
ValueFromRemainingArguments
$True, $False
是否接受来自管道中的剩余参数
HelpMessage
字符串
描述参数作用的帮助信息
Alias
字符串
指定参数的另一个名称
下面的参数是用来对用户输入的参数进行验证
AllowNull
允许对象为空
AllowEmptyString
 
允许字符串为空
AllowEmptyCollection
允许集合为空
ValidateCount
整数
检验可以接受的参数个数
ValidateLength
整数
检验参数的长度
ValidatePattern
正则表达式
使用正则表达式来检验参数
ValidateRange
整数范围
检验参数值是否在指定范围内
ValidateScript
表达式
使用代码来检验参数值
ValidateSet
集合
检验参数值是否在指定的属性集合中
ValidateNotNull
检验参数是否为非空对象
ValidateNotNullOrEmpty
检验参数是否为非空字符串

 

https://guhuajun.wordpress.com/2009/05/11/windows-powershell-v2-介绍(5)-高级函数(上)/

https://guhuajun.wordpress.com/2009/05/18/powershell-v2-介绍(6)-高级函数(中)/

https://guhuajun.wordpress.com/2009/05/25/powershell-v2-介绍(7)-高级函数(下)/

 

posted @ 2016-05-04 10:14  dongdonggeorge  阅读(626)  评论(0编辑  收藏  举报