卸载 Lenovo Vantage 后,联想笔记本不一定就干净了。Fn Hotkey、Process Management、SmartSense、UDC、LISF 等组件可能仍以服务或计划任务形式存在,部分文件位于 DriverStore,设置中的应用列表里没有卸载入口。如果目标只是阻止它们在后台运行,没有必要删除驱动和系统文件;更稳妥的做法是先用 PowerShell 停止并禁用服务,必要时再处理计划任务,后续也方便恢复。
一、查找 Lenovo 后台服务
使用管理员 PowerShell:
- Get-CimInstance Win32_Service |
- Where-Object {
- $_.Name -match 'Lenovo|LNV|UDC|LISF|SmartSense|ImController' -or
- $_.DisplayName -match 'Lenovo|Universal Device Client'
- } |
- Select-Object Name, DisplayName, State, StartMode, PathName
复制代码
我这台机器找到 LenovoFnAndFunctionKeys、LenovoProcessManagement、LISFService、SmartSense、UDCService。部分程序并不在 Program Files,而是来自 C:\Windows\System32\DriverStore\FileRepository 或 C:\Windows\System32\drivers\Lenovo,所以“设置 → 应用”里找不到卸载入口并不奇怪。
二、停止并禁用全部 Lenovo 服务
管理员 PowerShell:
- $services = @(
- 'LenovoFnAndFunctionKeys',
- 'LenovoProcessManagement',
- 'LISFService',
- 'SmartSense',
- 'UDCService'
- )
- foreach ($name in $services) {
- Stop-Service -Name $name -Force -ErrorAction SilentlyContinue
- Set-Service -Name $name -StartupType Disabled -ErrorAction SilentlyContinue
- }
复制代码
这里没有删除任何驱动和程序,只做两件事:停止服务,把启动类型改成 Disabled。完成后检查:
- Get-CimInstance Win32_Service |
- Where-Object {
- $_.Name -match 'Lenovo|LNV|UDC|LISF|SmartSense|ImController' -or
- $_.DisplayName -match 'Lenovo|Universal Device Client'
- } |
- Select-Object Name, State, StartMode
复制代码
目标状态应为:
LenovoFnAndFunctionKeys Stopped Disabled
LenovoProcessManagement Stopped Disabled
LISFService Stopped Disabled
SmartSense Stopped Disabled
UDCService Stopped Disabled
三、检查 Lenovo 计划任务
继续执行:
- Get-ScheduledTask |
- Where-Object {
- $_.TaskName -match 'Lenovo' -or
- $_.TaskPath -match 'Lenovo'
- } |
- Select-Object TaskName, TaskPath, State
复制代码
常见残留包括:
\Lenovo\ImController
\Lenovo\UDC
\Lenovo\Vantage
\Lenovo\Vantage\Schedule
普通任务可以直接禁用:
- Get-ScheduledTask |
- Where-Object { $_.TaskPath -like '\Lenovo*' } |
- Disable-ScheduledTask
复制代码
但部分 Lenovo UDC 任务可能返回:
Disable-ScheduledTask : 拒绝访问。
HRESULT 0x80070005
即使管理员 PowerShell 也可能如此。不要为了几个任务直接修改 C:\Windows\System32\Tasks 的 ACL,更不要暴力删除 Task Scheduler 的注册表数据。
四、UDC 任务无法禁用怎么办
先看任务到底执行什么:
- Get-ScheduledTask |
- Where-Object { $_.TaskPath -eq '\Lenovo\UDC' } |
- ForEach-Object {
- [PSCustomObject]@{
- TaskName = $_.TaskName
- State = $_.State
- Execute = ($_.Actions.Execute -join '; ')
- Arguments = ($_.Actions.Arguments -join '; ')
- }
- } | Format-List
复制代码
我的机器上是:
Lenovo UDC Diagnostic Scan
sc.exe control udcservice 210
Lenovo UDC Lazy Deployment
sc.exe control udcservice 221
Lenovo UDC Maintainance Task
sc.exe control udcservice 220
Lenovo UDC Monitor
UdcInfInstaller.exe -checkremoval
前三个任务依赖 UDCService。只要 UDCService 处于 Stopped + Disabled,它们即使仍显示 Ready,核心 UDC 服务也不会正常启动。Ready 不代表任务正在运行,只代表任务处于启用、等待触发状态。
五、重启验证
完成后重启 Windows。重新打开 PowerShell:
- Get-CimInstance Win32_Service |
- Where-Object {
- $_.Name -match 'Lenovo|LNV|UDC|LISF|SmartSense|ImController' -or
- $_.DisplayName -match 'Lenovo|Universal Device Client'
- } |
- Select-Object Name, State, StartMode
复制代码
我这台机器重启后的结果是:
LenovoFnAndFunctionKeys Stopped Disabled
LenovoProcessManagement Stopped Disabled
LISFService Stopped Disabled
SmartSense Stopped Disabled
UDCService Stopped Disabled
说明开机后这些 Lenovo 服务没有重新启动。
最后还可以检查 Lenovo 进程:
- Get-CimInstance Win32_Process |
- Where-Object {
- $_.ExecutablePath -match 'Lenovo' -or
- $_.Name -match 'Lenovo|LNV|UDC|SmartSense|ImController'
- } |
- Select-Object Name, ProcessId, ExecutablePath
复制代码
没有结果,说明当前没有匹配到这些 Lenovo 后台进程。
六、为什么不直接删除 Lenovo 文件
系统里可能还有:
C:\ProgramData\Lenovo
C:\Program Files\Lenovo
C:\Program Files (x86)\Lenovo
C:\Windows\System32\drivers\Lenovo
C:\Windows\System32\DriverStore\FileRepository...
我选择保留。文件躺在磁盘上不会持续消耗 CPU 和内存;直接删除 DriverStore 或 System32\drivers 中的文件却可能破坏驱动注册状态。目标如果只是不让 Lenovo 自带组件在后台运行,Stopped + Disabled 已经解决核心问题,没有必要为了几十 MB 文件去破坏 Windows 驱动体系。
七、出现问题如何恢复
需要注意,LenovoFnAndFunctionKeys 与 Fn 功能键有关。禁用后,如果 Fn 特殊键、屏幕 OSD、麦克风键、摄像头键等出现异常,可以单独恢复:
- Set-Service LenovoFnAndFunctionKeys -StartupType Automatic
- Start-Service LenovoFnAndFunctionKeys
复制代码
其他服务同理,例如恢复 SmartSense:
- Set-Service SmartSense -StartupType Automatic
- Start-Service SmartSense
复制代码
整体思路是把服务作为控制点,而不是删文件;计划任务用于补充检查,UDC 任务遇到拒绝访问时不必硬改权限,禁用其依赖的 UDCService 即可达到抑制效果。 |