不,很遗憾没有
在 的当前实现中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