【发布时间】:2015-11-29 14:35:22
【问题描述】:
我有一个用于自动化 WSUS 进程的脚本,它的最后一个阶段继续删除所有旧的/不必要的文件/对象。
我想在清理阶段之前提示'按'输入'继续删除或任何其他键停止',让人们选择不运行它。
我目前在脚本末尾的代码在这里:
Get-WsusServer 10.1.1.25 -PortNumber 8530 | Get-WsusUpdate -Classification All -Approval Unapproved -Status FailedOrNeeded | Approve-WsusUpdate -Action Install -Target $ComputerTarget -Verbose
Write-Host "Updates have been approved!"
Write-Host "Preparing to clean WSUS Server of obsolete computers, updates, and content files."
#Part2 - WSUS Server Cleanup
##Run Cleanup Command
Get-WsusServer $WSUS_Server -PortNumber $PortNumber | Invoke-WsusServerCleanup -CleanupObsoleteComputers -CleanupObsoleteUpdates -CleanupUnneededContentFiles
就在#Part2 之前,我希望提示“按回车键继续或任何其他键中止”
我似乎找不到一个简单的方法来做到这一点?我所看到的一切似乎都涉及将整个脚本嵌套在我不想这样做的代码块中。 =/
谢谢!
【问题讨论】:
-
你不能只使用 Read-Host 吗?
-
我可以使用这样的东西: $x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") 等待按键被按下。我不知道如何过滤“输入”键(或任何其他键)以继续执行脚本,或者如果按下“n”或除“输入”以外的任何其他键,如何中止脚本。
-
个人而言,如果涉及到删除内容,我更喜欢弹出对话框进行确认。这对你有用吗?代码可能只是一种长的单行代码,并且可以替换至少一个
Write-Host行。 -
是的@TheMadTechnician,那就太好了。我希望以后能有类似“y 表示是,a 表示全部是,n 表示否,c 表示取消”的提示,但是对于这种特殊情况,弹出对话框也很棒。你有任何我可以阅读的参考链接吗?(脚本仍然是超级新手=/)
标签: powershell scripting