1

私はこのパラメータを持つ関数を持っています:

param (
    [Parameter  (Mandatory = $false,
                ParameterSetName = "SendMail",
                HelpMessage = "Call this parameter to send information mail ONLY.")]
    [switch]$SendMail,

    [Parameter  (Mandatory = $false,
                Position = 0,
                ParameterSetName = "UseRegion",
                HelpMessage = "Call this parameter to use the function with Regions.")]
    [Parameter  (Mandatory = $false,
                ParameterSetName = "UseCountry")]
    [switch]$UseRegions,

    [Parameter  (Mandatory = $false,
                ParameterSetName = "SendMail")]
    [Parameter  (Mandatory = $true,
                ParameterSetName = "UseRegion",
                HelpMessage = "Define the region to apply the function.")]
    [ValidateSet("AMER","APAC","EMEA")]
    [string]$Region,

    [Parameter  (Mandatory = $false,
                ParameterSetName = "SendMail")]
    [Parameter  (Mandatory = $false,
                ParameterSetName = "UseRegion")]
    [Parameter  (Mandatory = $true,
                HelpMessage = "Define the country to apply the function.",
                ParameterSetName = "UseCountry")]
    [ValidateNotNullOrEmpty()]
    [string]$Country,
    
    [Parameter  (Mandatory = $false,
                HelpMessage = "Define months for a machine to be outdated. Default value is 3.")]
    [ValidateRange(1, [int]::MaxValue)]
    [int]$Months = 3,

    [Parameter  (Mandatory = $false,
                HelpMessage = "Define days for a machine to be on the ""Disabled"" OU before permanent deletion. Minimum and default value is 7.")]
    [ValidateRange([int] 7, [int] 30)]
    [int]$DaysToDeletion = 7,

    [Parameter  (Mandatory = $false,
                HelpMessage = "Define operation to exclude from the rule. I.E.: Operations that does not connect to the VPN.")]
    [string]$Exclude
)

私は次のことを達成しようとしています:

-SendMail を呼び出すとき、パラメーターは必須ではありません -UseRegions を呼び出すとき、-Region は必須であり、残りは必須ではありません。-UseRegions を呼び出さない場合、-Country は必須で、残りは必須ではありません。

パラメータセットで遊んでいますが、解決できません。また、-UseCountry という追加のパラメーターを使用したくありません。-Region と -Country の両方を制御するために -UseRegions が必要です。

誰かがそれのようなものを持っていましたか?

事前にどうもありがとう!!!!

4

1 に答える 1