You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写重启后可恢复、结果写入CSV的Win10更新PowerShell脚本

问题1:CSV生成失败修复

原有代码问题

  • 变量未定义:判断条件中使用的$WUTitle不存在,应该使用遍历更新历史的项属性$T.Title
  • 数据结构错误:你将$RecentUpdatesString定义为哈希表,却直接写入普通字符串到文件,不符合CSV结构化格式要求
  • 索引逻辑错误:外层循环计数$UpdateCount和更新历史列表的索引不匹配,无法取到对应更新记录
  • 操作冗余:不需要手动判断文件是否存在、删除重建,PowerShell内置的Export-Csv命令可以直接生成合法CSV文件

修正后代码

# 可自定义更新查询的时间范围,单位天
$checkRangeDays = 14
$WUHistory = Get-WUHistory -MaxDate (Get-Date).AddDays(-$checkRangeDays) | Sort-Object -Property ComputerName,OperationName,Result,Date,Title

$RecentUpdatesList = @()
# 匹配待安装KB和更新历史记录
foreach ($kbId in $NeedUpdate) {
    $matched = $WUHistory | Where-Object {$_.Title -like "*$kbId*"} | Select-Object -First 1
    if ($matched) {
        Write-Host "匹配到更新记录:$kbId"
        $RecentUpdatesList += $matched
    }
}

# 直接导出为CSV,Force参数自动覆盖已存在的旧文件
$csvPath = "C:\Users\$env:USERNAME\Documents\RecentUpdates.csv"
$RecentUpdatesList | Export-Csv -Path $csvPath -NoTypeInformation -Encoding UTF8 -Force

# 读取验证生成的CSV
$RecentUpdatesCSV = Import-Csv -Path $csvPath
问题2:重启后继续运行更新的方案

优先选择计划任务方案,完全不需要修改注册表,是微软官方推荐的开机/重启后执行指定任务的实现方式,比修改注册表更安全、可控性更高,配置要点如下:

  • 触发条件:选择「计算机启动时」,可设置延迟30秒执行,避免系统刚启动时更新服务未就绪
  • 运行账户:选择SYSTEM账户,勾选「使用最高权限运行」,保证更新操作有足够权限
  • 操作配置:操作为「启动程序」,程序路径填powershell.exe,参数填-ExecutionPolicy Bypass -NoProfile -File "你的脚本完整绝对路径.ps1"
  • 附加设置:勾选「任务失败后按以下频率重新启动」,设置间隔1分钟、重启3次,可根据需求勾选「唤醒计算机运行此任务」

脚本配套逻辑

可以在脚本中添加任务标记逻辑,避免不需要执行时重复跑脚本:

$pendingTagPath = "C:\temp\update_pending.tag"
if (-not (Test-Path $pendingTagPath)) {
    # 首次执行:筛选发布超过2周的待安装更新,写入标记文件
    $NeedUpdate = 你原有筛选待安装KB的逻辑
    $NeedUpdate | Out-File $pendingTagPath -Encoding UTF8
} else {
    # 重启后执行:读取标记文件中待安装的KB列表
    $NeedUpdate = Get-Content $pendingTagPath
}

# 此处放置你安装更新的原有逻辑

# 所有更新安装完成后清理标记和任务
if ($NeedUpdate.Count -eq 0) {
    Remove-Item $pendingTagPath -Force -ErrorAction SilentlyContinue
    # 自动删除对应计划任务,避免后续开机重复执行
    Unregister-ScheduledTask -TaskName "你的计划任务名称" -Confirm:$false -ErrorAction SilentlyContinue
}

内容的提问来源于stack exchange,提问作者Ryan_DT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 06:27:04