我有一个 powershell 脚本,我在其中实现了具有高 ConfirmImpact 的 should process 方法,以确保出现提示。
提示按预期工作,但未输入任何内容时的默认响应为“Y”
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"):
有没有办法将默认响应更改为“N”?如果用户想要应用脚本,我希望用户必须明确输入 Y。我已经编写了一个非常笨拙的脚本,我想要的最后一件事是让脚本用户只需按 Enter 键,而无需验证他们将其应用于什么。
我已阅读 documentation关于它,并且在任何地方都没有提到这一点。
最佳答案
经过进一步研究,我找到了一种方法来做到这一点。为了将默认响应设置为 NO,应该使用 ShouldContinue 方法而不是 ShouldProcess。
阅读documentation对于 ShouldContinue 有一个格式的部分
ShouldContinue(String, String, Boolean, Boolean, Boolean)
第一个 bool 值是引用安全影响。如果正在确认的操作具有安全影响,则为 True。如果指定,则在选择菜单中选择的默认选项为“否”。
关于function - Powershell Cmdlet.ShouldProcess 方法默认答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54789502/