清理非在线设备信息(自动删除隐藏的设备).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

标签: 旧设备, 离线, 非在线, 删除设备

添加新评论