PowerShell实现参数互斥示例(powershell 脚本)没想到

随心笔谈2年前发布 admin
188 0 0

文章摘要

这篇文章描述了一个名为`Test-ParameterSet`的函数,主要用于配置命令脚本的参数设置。该函数使用了`[CmdletBinding]`绑定默认参数集为`'NonCredential'`,并在参数配置中设置了多个属性以控制参数的可选性和有效性。例如,`$LocalAction`参数具有`ParameterSet='LocalOnly'`且`Mandatory=$false`,而`$ComputerName`和`$Credential`参数分别被配置为可选和必填。此外,代码还包含对参数的检查逻辑,如果`$PSBoundParameters`中包含`'ComputerName'`,则会提示“远程调用”。文章的核心内容在于通过参数配置实现对本地和远程访问的控制。


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 ‘远程调用’
}
}

© 版权声明

相关文章