Powershell 如何仅为前3个参数要求输入参数,并将最后一个参数设为默认值?
我的脚本中有一个切换机制,可以看到 添加、删除OLE和删除成员 我希望他们需要输入Powershell 如何仅为前3个参数要求输入参数,并将最后一个参数设为默认值?,powershell,Powershell,我的脚本中有一个切换机制,可以看到 添加、删除OLE和删除成员 我希望他们需要输入$ROLE和$MEMBER,我知道如何使用条件if语句,如果未输入任何内容,将退出。但是,这意味着无需输入的视图可以绕过此输入要求 [CmdletBinding()] Param( [Parameter(ParameterSetName='Add', Mandatory=$true)] [Switch]$Add, [Parameter(ParameterSetName='RemoveRol
$ROLE
和$MEMBER
,我知道如何使用条件if语句,如果未输入任何内容,将退出。但是,这意味着无需输入的视图
可以绕过此输入要求
[CmdletBinding()]
Param(
[Parameter(ParameterSetName='Add', Mandatory=$true)]
[Switch]$Add,
[Parameter(ParameterSetName='RemoveRole', Mandatory=$true)]
[Switch]$RemoveRole,
[Parameter(ParameterSetName='RemoveMember', Mandatory=$true)]
[Switch]$RemoveMember,
[Parameter(ParameterSetName='View', Mandatory=$true)]
[Switch]$View,
[Parameter(ParameterSetName='Add', Mandatory=$true)]
[Parameter(ParameterSetName='RemoveRole', Mandatory=$true)]
[Parameter(ParameterSetName='RemoveMember', Mandatory=$true)]
[Parameter(ParameterSetName='View', Mandatory=$false)]
$ROLE = (Read-Host -prompt "Role"),
$MEMBER = (Read-Host -prompt "Member")
)
如何使前3个选项需要输入,而视图则不需要输入?此外,如果用户未输入任何选项,如何查看默认参数选项?通过指定设置默认参数:
[CmdletBinding(DefaultParameterSetName='View')]
您可以尝试以下代码:
[CmdletBinding(DefaultParameterSetName='View')]
Param(
[参数(ParameterSetName='Add',必填=$true)]
[开关]$Add,
[参数(ParameterSetName='RemoveOLE',必填项=$true)]
[开关]$OLE,
[参数(ParameterSetName='RemoveMember',必填=$true)]
[开关]$RemoveMember,
[参数(ParameterSetName='View',必填=$false)]
[切换]$View
)
如果($Add-或$RemoveOLE-或$RemoveMember){
$ROLE=(读取主机-提示“ROLE”)
$MEMBER=(读取主机-提示“MEMBER”)
}