私はこのパラメータを持つ関数を持っています:
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 が必要です。
誰かがそれのようなものを持っていましたか?
事前にどうもありがとう!!!!