我想让自定义-Force开关成为一个通用参数。
我有三个函数,每个函数都接受参数。
函数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
}
}
答案 0 :(得分:5)
我认为你不能使成为一个常见参数,但你可以这样做:
Function B() {
[cmdletbinding()]
param([switch] $Force)
C -Force:$Force
}
}
答案 1 :(得分:1)
公共参数内置于PowerShell本身。您可能有兴趣知道-Force不是常见的参数,而是每个Cmdlet内置的开关。因此,如果要在所有Function / cmdlet中实现-Force,则可以通过为每个cmdlet定义switch参数来使用正确的路径。
供您参考,以下是常用参数列表。
-Debug (db)
-ErrorAction (ea)
-ErrorVariable (ev)
-OutVariable (ov)
-OutBuffer (ob)
-PipelineVariable (pv)
-Verbose (vb)
-WarningAction (wa)
-WarningVariable (wv
risk mitigation parameters
-WhatIf (wi)
-Confirm (cf)