function - Powershell Cmdlet.ShouldProcess 方法默认答案

标签 function powershell scripting 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"):

有没有办法将默认响应更改为“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/

相关文章:

php - 如何从数组键创建变量

c - 一个函数 "remember"怎么可能是它下次使用的结果?

javascript - 在 Javascript/Jquery 中删除 URL 的最后部分

每个数学问题的 Powershell。总和是累积的,而不是针对轮询的每个服务器

xcode - 使用脚本将文件添加到 Xcode 目标

c - 需要帮助在 C 中创建给出特定数量\n 的函数

powershell - 将联系人导入Exchange个人联系人文件夹

sql - 如何使用 Powershell Restore-SqlDatabase cmdlet 可靠地覆盖现有数据库

shell - 从干净的人性化输入生成 crontab 语法的脚本?

shell - 从子 shell 运行 shell 命令