假设我有一个函数,如:
function Authenticate
{
param
(
[ValidateSet('WindowsAuthentication','UsernameAndPassword')]
[string]$AuthenticationType,
[Parameter(ParameterSetName='ParamSet1')]
[string]$Username,
[Parameter(ParameterSetName='ParamSet1')]
[string]$Password
)
..
}
字符串
我想执行这些规则:
- 如果
$AuthenticationType = 'UsernameAndPassword'
,则将参数集ParamSet1
设为必填项 - 如果
$AuthenticationType = 'WindowsAuthentication'
完全“禁用”ParamSet1
这可能吗?
2条答案
按热度按时间u59ebvdq1#
使用Tim Ferrill的答案中的链接,我创建了以下函数来帮助创建动态参数:
字符串
并通过以下方式解决了我的特殊问题:
型
使用动态参数时,不需要设置参数,因此我删除了参数集。
yk9xbfzb2#
您可以使用
DynamicParam
来完成此操作。我最近在here上看到了一个不错的帖子。字符串