如何修改VB脚本实现Windows更新自动确认,无需用户交互?
修改Windows更新VB脚本实现自动确认操作
步骤1:添加自动模式参数检测
在脚本最开头插入以下代码,用于识别/Automate命令行参数:
Dim automateMode automateMode = False ' 检测是否传入/Automate参数 If WScript.Arguments.Named.Exists("Automate") Then automateMode = True End If ' 自动提升管理员权限(执行更新必须具备管理员权限) Set objShell = CreateObject("Shell.Application") If Not objShell.IsUserAdmin And automateMode Then ' 以管理员身份重新运行脚本并携带/Automate参数 objShell.ShellExecute "wscript.exe", Chr(34) & WScript.ScriptFullName & Chr(34) & " /Automate", "", "runas", 1 WScript.Quit End If
步骤2:替换所有用户询问逻辑
找到脚本中所有包含WScript.Echo "Do you want to... (Y/N)"和WScript.StdIn.ReadLine()的代码块,替换为自动模式判断逻辑:
示例1:下载更新的询问替换
原代码:
WScript.Echo "Do you want to download updates? (Y/N)" response = WScript.StdIn.ReadLine() If UCase(response) <> "Y" Then WScript.Quit End If
替换为:
If automateMode Then WScript.Echo "[自动模式] 开始下载更新..." Else WScript.Echo "Do you want to download updates? (Y/N)" response = WScript.StdIn.ReadLine() If UCase(response) <> "Y" Then WScript.Quit End If End If
示例2:安装更新的询问替换
原代码:
WScript.Echo "Do you want to install updates? (Y/N)" response = WScript.StdIn.ReadLine() If UCase(response) <> "Y" Then WScript.Quit End If
替换为:
If automateMode Then WScript.Echo "[自动模式] 开始安装更新..." Else WScript.Echo "Do you want to install updates? (Y/N)" response = WScript.StdIn.ReadLine() If UCase(response) <> "Y" Then WScript.Quit End If End If
示例3:重启系统的询问替换
原代码:
WScript.Echo "Updates installed. Do you want to restart now? (Y/N)" response = WScript.StdIn.ReadLine() If UCase(response) = "Y" Then Set objShell = CreateObject("WScript.Shell") objShell.Run "shutdown /r /t 0" End If
替换为(自动模式下设置30秒延迟重启,可自行调整/t后的数值):
If automateMode Then WScript.Echo "[自动模式] 安装完成,30秒后自动重启系统..." Set objShell = CreateObject("WScript.Shell") objShell.Run "shutdown /r /t 30" Else WScript.Echo "Updates installed. Do you want to restart now? (Y/N)" response = WScript.StdIn.ReadLine() If UCase(response) = "Y" Then Set objShell = CreateObject("WScript.Shell") objShell.Run "shutdown /r /t 0" End If End If
步骤3:运行脚本
保存修改后的脚本,以管理员身份打开命令提示符,执行以下命令启动自动模式:
wscript.exe 你的脚本文件名.vbs /Automate
内容的提问来源于stack exchange,提问作者rotem
相关产品推荐
相关产品推荐

