В моем скрипте есть механизм переключения и, как видно,
Add, RemoveRole и RemoveMmember
Я хотел бы, чтобы они требовали ввода $ROLE
и $MEMBER
, что я знаю, как делать с условным оператором if, и выходил бы, если ничего не введено. однако это будет означать, что View
, который не требуется вводить, обходит это требование ввода.
[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 вариантов, а для просмотра - нет? Кроме того, как я могу сделать Просмотр выбора параметров по умолчанию, если ни один из вариантов не введен пользователем?