如何远程静默卸载Microsoft Visio 2016/2019
批量远程静默卸载Visio 2016/2019解决方案
核心结论
通过注册表获取卸载字符串是完全可行的,且是针对Office系列产品卸载的可靠方案——你之前的Uninstall-Package和wmic命令失效,大概率是因为未适配Office的卸载逻辑,而直接调用注册表中的卸载命令并添加静默参数,能解决这个问题。
步骤1:远程获取目标机器的Visio卸载字符串
Office产品的卸载信息会存储在指定注册表路径中,可通过PowerShell远程提取。以下是适配批量场景的命令:
# 替换为你的目标机器名/IP列表 $computers = @("PC-01", "PC-02", "PC-03") foreach ($pc in $computers) { Write-Host "正在获取 $pc 的Visio卸载信息..." $uninstallStrings = PsExec.exe \\$pc powershell -Command " 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*', 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*', 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*' | ForEach-Object { Get-ItemProperty $_ -ErrorAction SilentlyContinue } | Where-Object { $_.DisplayName -match 'Visio (2016|2019)' } | Select-Object -ExpandProperty UninstallString " 2>&1 | Where-Object { $_ -match '^(MsiExec|".*setup.exe")' } # 临时保存当前机器的卸载命令,后续执行 $uninstallStrings | Out-File -Path ".\$pc-visio-uninstall.txt" -Encoding utf8 }
步骤2:修改卸载字符串为静默模式
提取到的原始卸载命令需要添加静默参数,确保无交互执行:
两种卸载命令的调整方式
setup.exe开头的命令(适用于Click-to-Run版本)
原命令示例:"C:\Program Files\Common Files\Microsoft Shared\OFFICE16\Office Setup Controller\setup.exe" /uninstall VISPRO /dll OSETUP.DLL添加静默参数后:
"C:\Program Files\Common Files\Microsoft Shared\OFFICE16\Office Setup Controller\setup.exe" /uninstall VISPRO /dll OSETUP.DLL /quiet /norestart参数说明:
/quiet静默执行,/norestart卸载完成后不自动重启MsiExec.exe开头的命令(适用于MSI安装版本)
原命令示例:MsiExec.exe /X{90150000-0051-0000-1000-0000000FF1CE}添加静默参数后:
MsiExec.exe /X{90150000-0051-0000-1000-0000000FF1CE} /qn /norestart参数说明:
/qn完全静默无界面,/norestart禁止自动重启
步骤3:批量远程执行静默卸载
结合PsExec以系统权限执行调整后的卸载命令:
$computers = @("PC-01", "PC-02", "PC-03") foreach ($pc in $computers) { $commands = Get-Content -Path ".\$pc-visio-uninstall.txt" foreach ($cmd in $commands) { # 自动添加静默参数 $silentCmd = if ($cmd -match 'setup.exe') { "$cmd /quiet /norestart" } else { "$cmd /qn /norestart" } Write-Host "正在卸载 $pc 的Visio..." # -s参数以系统权限执行,确保卸载权限足够 PsExec.exe \\$pc -s cmd /c "$silentCmd" } }
特殊情况处理
如果上述方法仍残留Visio文件,可使用微软官方卸载工具远程执行:
# 1. 先将官方卸载工具复制到远程机器 PsExec.exe \\PC-01 -s cmd /c "copy \\你的共享路径\SetupProd_OffScrub.exe C:\Temp\" # 2. 静默卸载Visio PsExec.exe \\PC-01 -s cmd /c "C:\Temp\SetupProd_OffScrub.exe /quiet /product visio"
内容的提问来源于stack exchange,提问作者Ercüment
相关产品推荐
相关产品推荐

