如何在 PowerShell 会话中输入“是”作为交互式问题的答案?我知道,在 Bash 中,Yes
是在提示符下回答“是”的工具。在我的情况下,我无法抑制提示。
我正在运行的脚本停在
如果您想继续,请回复“是”:
powershell如何运行脚本并在提示时“回答”是?
如何在 PowerShell 会话中输入“是”作为交互式问题的答案?我知道,在 Bash 中,Yes
是在提示符下回答“是”的工具。在我的情况下,我无法抑制提示。
我正在运行的脚本停在
如果您想继续,请回复“是”:
powershell如何运行脚本并在提示时“回答”是?
使用 ECHO 对我有用。我在我的 Powershell 脚本中运行 RSKeyMgmt.exe,它提示 Yes(Y)/No(N)。所以当我这样做的时候
ECHO Y | RSKeyMgmt.exe...
它没有提示问题并且命令被正确执行。
所以我认为ECHO 'someoption'
也应该适用于其他情况。
我也有同样的问题。我尝试的解决方案包括:
然而,他们似乎都没有成功。
最终解决问题的是:
Powershell-Cmdlet -Confirm:$false
它会在命令执行期间抑制所有确认提示,并且该命令将在没有任何确认的情况下被处理。
受其他答案的启发,这是我的示例:
ECHO Y | powershell Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
您可以测试这些老式方式:
Cmd /c "GpUpdate.exe /FORCE <C:\temp\response.txt"
ECHO 'Y' | GpUpdate.exe /FORCE
Get-Content "C:\temp\response.txt" | GpUpdate.exe /FORCE
对于 Azure CLI 命令 --yes 通常是一个选项。
以下 Powershell 对我有用:
Write-Output 'Y' | .\plink.exe <ip_address> -l <username> -pw <password>
这会将“Y”字符输出到下一个管道对象。
我尝试使用时遇到了同样的问题:
net use * /delete
它总是提示我输入 Y/N 并尝试了这里的解决方案,但没有一个奏效,所以我报告了对我有用的方法:
net use * /delete /y
也许每个命令都有一个无声的确认。
从“不受信任的来源”安装某些东西时,这对我有用:
ECHO Y | powershell Install-Module -Name PSWindowsUpdate | ECHO Y
我试图以编程方式安装 Windows Update powershell 工具集:)
我试图杀死一个讨厌的启动程序,发现 Stop-Process 和/或程序不接受管道输入(没有 Echo Y | 对我来说!)但我改变了 JP 的答案:Stop-Process -name [program.name] -Force ; 以管理员身份运行,它就像一个魅力。