PowerShell如何添加自定义通用参数?

Jos*_*itt 4 powershell

我想使自定义-Force开关成为一个通用参数.

我有三个函数,每个函数都接受参数.

function A调用函数B,函数B调用函数C.

我想用自定义-Force参数调用函数A并将其作为公共参数传播,而不必执行以下操作:

function B() {

    [cmdletbinding()]

    param([switch] $Force)   

    # NOTE: THIS CHECK IS THE PART I WANT TO ELIMINATE
    # I WANT -Force TO BE PASSED ALONG AS A COMMON PARAMETER
    if ($Force) {
        C -Force
    }
    else {
        C
    }

}
Run Code Online (Sandbox Code Playgroud)

bri*_*ist 5

我不认为你可以它作为一个常见的参数,但你可以这样做:

Function B() {

    [cmdletbinding()]

    param([switch] $Force)   

    C -Force:$Force

    }

}
Run Code Online (Sandbox Code Playgroud)

  • 是的,这适用于任何switch参数,你可以使用`:`并明确指定`$ true`或`$ false`(或使用变量). (2认同)