aardio 文档
aardio 范例: Windows 自动更新接口
// Windows 自动更新接口
// Windows Update Agent (WUA) COM API
import com;
import sys.qfe;
import console;
//快速查看指定补丁是否安装
console.dump(sys.qfe("KB5132061"));
// 1. 创建 UpdateSession 实例
var session = com.CreateObject("Microsoft.Update.Session");
// 2. 创建搜索器并检索未安装的软件更新
var searcher = session.CreateUpdateSearcher();
console.showLoading("正在搜索可用更新...");
var searchResult = searcher.Search("IsInstalled=0 and Type='Software'");
var updatesToInstall = com.CreateObject("Microsoft.Update.UpdateColl");
// 3. 过滤出指定的 KB 补丁
for index,update in com.each(searchResult.Updates) {
for(i,kb in com.each(update.KBArticleIDs)){
if(kb==="KB......"){
console.log("找到未安装的补丁:",kb)
if (!update.EulaAccepted) update.AcceptEula();
updatesToInstall.Add(update);
}
}
}
// 4. 自动下载补丁
if(updatesToInstall.Count){
console.showLoading("正在下载补丁...");
var downloader = session.CreateUpdateDownloader();
downloader.Updates = updatesToInstall;
var downloadResult = downloader.Download();
console.log("下载状态码:",downloadResult.ResultCode);
// 5. 静默安装补丁
console.showLoading("正在安装补丁...");
var installer = session.CreateUpdateInstaller();
installer.Updates = updatesToInstall;
var installResult = installer.Install();
console.log("安装结果代码: ",installResult.ResultCode);
console.log("是否需要重启: ",installResult.RebootRequired);
}
console.pause();
Markdown 格式