不,很遗憾没有
在 的当前实现中ShouldProcess()
,默认选项始终是首选
是否ShouldProcess()
提示用户确认操作取决于$ConfirmPreference
自动变量的值是否高于ConfirmImpact
被调用的 cmdlet 的属性。
$ConfirmPreference
默认为High
,可用的最高严重性影响级别。
要始终使 的确认提示无效ShouldProcess()
,请设置$ConfirmPreference
为None
:
# Define a function with ConfirmImpact Medium or higher
function f {
[CmdletBinding(SupportsShouldProcess=$true,ConfirmImpact='Medium')]
param()
if($PSCmdlet.ShouldProcess("Dangerous operation")) {
Write-Host 'Welcome to the Danger Zone' -ForegroundColor Red
}
}
# Set $ConfirmPreference to `Medium` to prompt for confirmation
$ConfirmPreference = 'Medium'
# Call our function - you'll be prompted for confirmation
f
# Set $ConfirmPreference to `None` to suppress confirmation prompts
$ConfirmPreference = 'None'
# Call our function - you won't be prompted for confirmation
f