如果系统经常拔插或安装一些硬件,设备管理器中显示隐藏设备时能看到很多灰色的设备信息,使用devcon配合poweshell可以轻松的自动批量删除它们:
$env:DEVMGR_SHOW_NONPRESENT_DEVICES=1
$ghostDevices = Get-PnpDevice | Where-Object { $_.Status -eq 'Unknown' }
foreach ($device in $ghostDevices) {
Write-Output "Removing device: $($device.Name) with InstanceId: $($device.InstanceId)"
& '.\devcon.exe' remove "@$($device.InstanceId)"
}
Write-Output "Removal process completed."
将代码保存为一个ps1文件,例如remove_ghost_devices.ps1,将它与devcon.exe存放在同一目录下,在powershell中(需要管理员模式)运行该.ps1脚本即可