Powershell 参数集上的多个条件

Powershell 参数集上的多个条件,powershell,Powershell,在一个函数中,我有2个[String]参数,$DBServer和$ServiceServer 两者都应允许空白或填写,但两者之间不得有任何内容 这可能与参数集有关吗 或者我应该在我的PowerShell函数中包含一个检查,以确保我的条件得到满足吗?是的,您可以使用。所以你有两套。一种是两个参数都是必需的,另一种是两个参数都不存在 以这种方式定义函数后,请查看帮助以查看两个参数集: Get-Help Ruin-Database 解释 如果某个参数指定了一个或多个参数集,则该参数将仅包含在这些参数

在一个函数中,我有2个
[String]
参数,
$DBServer
$ServiceServer

两者都应允许空白或填写,但两者之间不得有任何内容

这可能与参数集有关吗

或者我应该在我的PowerShell函数中包含一个检查,以确保我的条件得到满足吗?

是的,您可以使用。所以你有两套。一种是两个参数都是必需的,另一种是两个参数都不存在

以这种方式定义函数后,请查看帮助以查看两个参数集:

Get-Help Ruin-Database
解释 如果某个参数指定了一个或多个参数集,则该参数将仅包含在这些参数集中。如果没有指定,它将包含在所有集合中

如果希望PowerShell正常工作,它必须能够毫不含糊地解析集合,因此有时需要一些尝试和错误

您可以做的一件事是在
CmdletBinding
属性中指定
DefaultParameterSetName
。但您也可以在此处指定一个在任何其他参数中都没有使用的参数集名称。这意味着默认集合将只包含不指定任何集合(全部可用)的参数,即使没有这些参数

在函数/cmdlet上运行帮助是查看PowerShell正在解释哪些集合的好方法,因为它可能会变得复杂

您可以在单个参数上指定多个
[Parameter()]
属性,以定义不同集合中的不同特征,例如,一个参数在一个集合中可能是必需的,但在另一个集合中可能是可选的。它可以通过管道在一个集合中指定,但不能在另一个集合中指定。

是的,您可以使用。所以你有两套。一种是两个参数都是必需的,另一种是两个参数都不存在

以这种方式定义函数后,请查看帮助以查看两个参数集:

Get-Help Ruin-Database
解释 如果某个参数指定了一个或多个参数集,则该参数将仅包含在这些参数集中。如果没有指定,它将包含在所有集合中

如果希望PowerShell正常工作,它必须能够毫不含糊地解析集合,因此有时需要一些尝试和错误

您可以做的一件事是在
CmdletBinding
属性中指定
DefaultParameterSetName
。但您也可以在此处指定一个在任何其他参数中都没有使用的参数集名称。这意味着默认集合将只包含不指定任何集合(全部可用)的参数,即使没有这些参数

在函数/cmdlet上运行帮助是查看PowerShell正在解释哪些集合的好方法,因为它可能会变得复杂


您可以在单个参数上指定多个
[Parameter()]
属性,以定义不同集合中的不同特征,例如,一个参数在一个集合中可能是必需的,但在另一个集合中可能是可选的。它可以通过管道在一个集合中指定,但不能在另一个集合中指定。

两个集合都允许为空或填充,但中间没有任何内容。
两者之间是什么?如果
$DBServer
是一个值,
$ServiceServer
是空的,或者
$ServiceServer
是一个值,
$DBServer
是空的。啊,好吧,你的问题中的措辞非常混乱
两者都允许空白或填充,但中间没有任何内容。
这两者之间是什么?这里,
$DBServer
是一个值,
$ServiceServer
是空的,
$ServiceServer
是一个值,
$DBServer
是空的。啊,好吧,你的问题中的措辞非常混乱干得好,我错过了解决它的DefaultParameterSetName:-)干得好,我错过了解决它的DefaultParameterSetName:-)