如何通过PowerShell脚本远程触发Dell Command/Support Assist更新?
如何通过PowerShell脚本远程触发Dell Command/Support Assist更新?
Hi Tim, 针对你提到的165台设备需要通过PowerShell远程触发Dell Command或Support Assist固件更新的需求,我整理了经过验证的脚本方案,结合Intune部署的场景给你一些调整建议:
一、Dell Support Assist 4.8.0 脚本方案
你提供的脚本路径存在一个潜在问题:WindowsApps目录下的应用版本号(比如3.13.7.0)会随更新变化,硬编码路径可能导致脚本失效。可以通过更灵活的方式定位到SupportAssist的执行文件,或者直接使用官方推荐的静默触发参数:
修正后的脚本
# 尝试自动定位SupportAssistAppWire.exe路径(适配版本更新) $supportAssistPath = Get-ChildItem -Path "C:\Program Files\WindowsApps" -Filter "SupportAssistAppWire.exe" -Recurse -ErrorAction SilentlyContinue | Select-Object -First 1 -ExpandProperty FullName if ($supportAssistPath) { # 静默启动更新扫描并等待完成 Start-Process -FilePath $supportAssistPath -ArgumentList "/UpdateServiceStart", "/StartScan", "/Quiet" -Wait -NoNewWindow Write-Host "Support Assist更新扫描已启动并完成" } else { Write-Error "未找到Dell Support Assist的执行文件,请确认已安装对应版本" }
关键说明
/Quiet参数确保全程无弹窗,适合远程静默执行-Wait让脚本等待更新扫描/执行完成后再结束,便于Intune追踪执行状态- 自动路径定位避免了版本号变更导致的脚本失效问题
二、Dell Command | Update 脚本方案
你原脚本的路径存在语法错误(引号嵌套问题),同时补充官方推荐的更新参数,优化后脚本如下:
修正后的脚本
# 定位Dell Command | Update的安装目录(通常为固定路径) $dcuPath = "C:\Program Files\Dell\CommandUpdate\dcu-cli.exe" if (Test-Path $dcuPath) { # 先扫描可用更新,再静默应用所有更新 Start-Process -FilePath $dcuPath -ArgumentList "/scan", "/apply", "/silent", "/log=`"C:\Temp\DellUpdateLog.log`"" -Wait -NoNewWindow Write-Host "Dell Command更新已启动,日志已保存到C:\Temp\DellUpdateLog.log" } else { Write-Error "未找到Dell Command | Update的CLI工具,请确认已安装" }
常用参数说明
/scan:触发可用更新扫描/apply:自动应用所有扫描到的更新/silent:完全静默执行,无任何用户交互/log:指定日志路径,方便后续排查更新失败原因
三、Intune部署注意事项
- 执行权限:在Intune脚本部署中,务必设置脚本以系统上下文运行,确保有足够权限访问Dell工具和执行更新操作
- 前置检查:可以在脚本开头添加检查逻辑,确认Dell工具已安装后再执行更新命令,避免无效执行
- 分批推送:针对165台设备,建议分批次推送脚本,避免同时更新导致的网络带宽压力
- 错误处理:可以添加Try-Catch块捕获异常,并将错误信息写入事件查看器或本地日志,方便后续排查
备注:内容来源于stack exchange,提问作者tim.watsoncci
相关产品推荐
相关产品推荐

