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

如何通过卸载字符串在PowerShell中实现NVIDIA显卡驱动的静默卸载?

解决NVIDIA显卡驱动PowerShell静默卸载问题

我来帮你搞定这个静默卸载的问题——你之前的参数加错位置了,NVIDIA的卸载器需要把静默参数传递给NVI2.DLL里的UninstallPackage函数,而不是直接附加给RunDll32.EXE。

问题根源

你的卸载字符串本质是通过RunDll32调用NVI2.DLL的UninstallPackage命令,目标是卸载Display.Driver包。常规的/S或/quiet参数不能直接给RunDll32,而是要作为UninstallPackage的附加参数传递。

正确的静默卸载脚本

以下是完整的PowerShell代码,包含正确的参数构造和静默卸载逻辑:

# 1. 从注册表获取NVIDIA显卡驱动的卸载信息(取第一个匹配项)
$nvidiaUninstallInfo = Get-ChildItem -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" -ErrorAction SilentlyContinue |
    Get-ItemProperty |
    Where-Object {$_.DisplayName -like "*NVIDIA Graphics Driver*"} |
    Select-Object -First 1 DisplayName, UninstallString

if (-not $nvidiaUninstallInfo) {
    Write-Error "未找到NVIDIA显卡驱动的卸载条目"
    exit 1
}

# 2. 拆分卸载字符串,提取核心执行路径和参数
$splitParts = $nvidiaUninstallInfo.UninstallString -split '"', 3
$runDllPath = $splitParts[1]  # 对应 C:\Windows\SysWOW64\RunDll32.EXE
$baseUninstallArgs = $splitParts[2].Trim()  # 对应 "C:\Program Files\NVIDIA Corporation\Installer2\InstallerCore\NVI2.DLL",UninstallPackage Display.Driver

# 3. 添加静默卸载参数:/silent(或/quiet)实现无交互,/noreboot可选(避免自动重启)
$silentUninstallArgs = "$baseUninstallArgs /silent /noreboot"

# 4. 启动静默卸载进程(必须以管理员身份运行PowerShell!)
Start-Process -FilePath $runDllPath -ArgumentList $silentUninstallArgs -Wait -NoNewWindow

关键说明

  • 参数位置:/silent或/quiet必须跟在Display.Driver后面,作为UninstallPackage的参数,而不是单独附加给RunDll32。
  • 权限要求:必须以管理员身份运行PowerShell,否则会因权限不足导致卸载失败。
  • 重启控制:如果希望卸载完成后自动重启,去掉/noreboot参数即可;保留则需要手动重启系统以完成驱动清理。

为什么你之前的尝试失败?

  • 你把/quiet或/S直接加在$argList后面,这些参数被当成了RunDll32的参数,而不是传递给NVI2.DLL的卸载命令。
  • NVIDIA的卸载器不识别/S参数,需要使用官方支持的/silent或/quiet。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 18:27:32