Powershell Cmdlet.ShouldProcess 方法默认答案

Jes*_*sie 5 powershell scripting function pscmdlet powershell-v5.1

我有一个 powershell 脚本,我在其中实现了具有高 ConfirmImpact 的 should process 方法,以确保出现提示。

提示按预期工作,但未输入任何内容时的默认响应为“Y”

[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"):
Run Code Online (Sandbox Code Playgroud)

有没有办法将默认响应更改为“N”?如果用户想要应用脚本,我希望用户必须明确输入 Y。我已经编写了一个非常笨拙的脚本,我想要的最后一件事是让脚本用户只需按 Enter 键,而无需验证他们将其应用于什么。

我已经阅读了关于它的文档,但在任何地方都没有提到这一点。

Jes*_*sie 3

经过进一步的研究,我找到了一种方法来做到这一点。为了将默认响应设置为“否”,应使用 ShouldContinue 方法而不是 ShouldProcess。

阅读ShouldContinue 的文档有一个格式部分

ShouldContinue(String, String, Boolean, Boolean, Boolean)
Run Code Online (Sandbox Code Playgroud)

第一个布尔值是引用安全影响。如果正在确认的操作具有安全影响,则为 true。如果指定,则在选择菜单中选择的默认选项为“否”。