如何通过PowerShell远程执行USB盘中的Windows更新命令?
自动识别USB盘符并执行Windows更新的PowerShell脚本
核心逻辑
通过筛选系统中的可移动磁盘驱动器,检查目标更新文件夹Win20H2update是否存在,自动匹配USB盘符后执行预设的更新命令。
完整PowerShell代码
# 获取所有带驱动器号的可移动磁盘 $usbDrives = Get-Volume | Where-Object { $_.DriveType -eq 'Removable' -and $_.DriveLetter } | Select-Object -ExpandProperty DriveLetter # 遍历可移动磁盘,查找目标更新文件夹 foreach ($drive in $usbDrives) { $updateFolderPath = "$($drive):\Win20H2update" if (Test-Path -Path $updateFolderPath -PathType Container) { # 拼接命令并调用CMD执行更新 $setupCmd = "$updateFolderPath\setup.exe /auto upgrade /quiet /Compat IgnoreWarning /ShowOOBE none /DynamicUpdate disable" Start-Process cmd.exe -ArgumentList "/c $setupCmd" -Wait Write-Host "已从驱动器 $($drive): 启动更新程序" exit 0 } } # 未找到目标文件夹时输出提示 Write-Host "未检测到包含Win20H2update文件夹的USB驱动器" exit 1
代码说明
Get-Volume筛选出所有可移动磁盘,排除未分配驱动器号的设备Test-Path验证目标更新文件夹是否存在于当前USB驱动器中Start-Process调用CMD执行更新命令,-Wait参数确保更新进程执行完成后再结束脚本- 找到匹配驱动器后立即执行并退出,避免无效遍历
PDQ Deploy部署步骤
- 新建PDQ Deploy包,添加「PowerShell」执行步骤
- 将上述代码粘贴至PowerShell脚本输入框
- 确认目标计算机已连接含更新文件的USB介质
- 部署该包至目标计算机,即可自动触发更新流程
内容的提问来源于stack exchange,提问作者Tom
相关产品推荐
相关产品推荐

