дополнительный параметр функции, когда значение другого параметра равно значению - PullRequest
0 голосов
/ 01 ноября 2018

Я пытаюсь найти статью, которую я видел о параметрах функции, которые допускают динамический параметр, когда значение ранее определенного параметра равняется чему-либо. Так далеко от того, что я думаю о динамических параметрах или наборах параметров, это не то, что я ищу, или, может быть, мне нужен лучший пример.

Попытка сделать что-то подобное, где -DHCP - это параметр переключателя, который присутствует, только когда параметр -Section равен значению допустимого значения DEVICESETTINGS.

Get-VeloEdgeConfig -Name "ORMYEDGES*" -EdgeState CONNECTED -Section DEVICESETTINGS -DHCP

Любые ссылки или предложения будут великолепны.

Спасибо!

1 Ответ

0 голосов
/ 01 ноября 2018

Вот как я это сделал, с комбинацией ParameterSet и ValidateScript

function Get-VeloEdgeConfig() {

    [cmdletbinding(
        DefaultParameterSetName='Default'
    )]
    Param
    (
        [Parameter()]
        [String]$Section,

        [Parameter(ParameterSetName='Section')]
        [ValidateScript({ $Section -eq 'DEVICESETTINGS' })]
        [Switch]$DHCP
    )

    # Print out current ParameterSet Section
    $PSCmdlet.ParameterSetName
}

# Calling the function
Get-VeloEdgeConfig -Section DEVICESETTINGS -DHCP # Selection
Get-VeloEdgeConfig -Section SOMETHINGELSE -DHCP # throws an error
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...