• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PowerShell实现参数互斥示例

    在PowerShell的函数中如果想让参数互斥,可以使用 “ParameterSetName”属性将一个parameter属性定义在不同的参数或着参数集合中。

     很多人可能没有留意,在PowerShell的函数中,我们可以将多个参数属性定义在同一个参数名上,这样配合mandatory可以让一个参数在某个场景下是强制的,在另外的场景下则是可选的。

    function Test-ParameterSet
    {
    [CmdletBinding(DefaultParameterSetName='NonCredential')]
    param
    (
    $id,
     
    [Parameter(ParameterSetName='LocalOnly', Mandatory=$false)]
    $LocalAction,
     
    [Parameter(ParameterSetName='Credential', Mandatory=$true)]
    [Parameter(ParameterSetName='NonCredential', Mandatory=$false)]
    $ComputerName,
     
    [Parameter(ParameterSetName='Credential', Mandatory=$false)]
    $Credential
    )
     
    $PSCmdlet.ParameterSetName
    $PSBoundParameters
     
    if ($PSBoundParameters.ContainsKey('ComputerName'))
    {
    Write-Warning '远程调用'
    }
    }
    

    上面的函数Test-ParameterSet 将演示在参数”NonCredential”激活时, -ComputerName为可选参数。而当你使用了 -Credential 参数时, -ComputerName 就变成了强制参数。而当你使用了 -LocalAction 参数以后,-ComputerName和-Credential均可有可无。

    您可能感兴趣的文章:
    • Powershell互斥参数使用实例
    上一篇:PowerShell实现动态获取当前脚本运行时消耗的内存
    下一篇:PowerShell中使用.NET将程序集加入全局程序集缓存
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    PowerShell实现参数互斥示例 PowerShell,实现,参数,互斥,