清理非在线设备信息(自动删除隐藏的设备)
清理非在线设备信息(自动删除隐藏的设备).ps1,用来清除设备管理器里带(2)的后缀。
# 需要管理员权限运行此脚本
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
# 显示所有设备,包括非当前存在的设备
$devices = Get-PnpDevice -PresentOnly:$false
if ($devices.Count -eq 0) {
Write-Host "没有找到隐藏的设备。"
exit
}
Write-Host "找到以下隐藏设备,将尝试删除:"
$devices | Format-Table -Property InstanceId, FriendlyName, Status
foreach ($device in $devices) {
try {
Write-Host "正在删除设备:$($device.FriendlyName) ($($device.InstanceId))"
# Remove-PnpDevice 需要 -Confirm:$false 以避免交互提示
#Remove-PnpDevice -InstanceId $device.InstanceId -Confirm:$false -ErrorAction Stop
pnputil /remove-device $device.InstanceId
Write-Host "删除成功。"
}
catch {
Write-Warning "删除设备失败:$($_.Exception.Message)"
}
}
Write-Host "操作完成。"
附件下载:自动删除隐藏的设备.zip

