在PowerShell中批量卸载设备

目录

介绍

使用代码

兴趣点


此提示详细介绍了在PowerShell中从Windows系统批量删除即插即用设备所需的步骤。该脚本旨在删除安装了多个副本的设备,但可以进行调整以适应其他条件。它需要PowerShell ISEpnputil.exe才能工作。

介绍

最近在对Windows设备进行故障排除时,我发现在我的一些系统上安装了数百个多媒体设备副本。我想摆脱所有这些重复项,但GUI一次只允许卸载一个设备。手动执行此操作将是一个非常耗时的过程。在互联网上搜索了一种一次性删除它们的方法并且只是反复看到它无法完成(或其他无用的建议)后,我在Powershell中提出了这个解决方案,效果很好。

我想我应该把它贴在这里,以帮助其他试图删除大量设备的人,但无法找到一个解决方案。这适用于Windows 10Windows 7Windows 8,尽管我还没有在这些平台上尝试过。

使用代码

该脚本可以在单个命令中执行,但为了清楚起见,我将其分解为几个脚本行。它不必作为.PS1脚本运行,但它似乎只适用于PowerShell ISE

要卸载具有给定名称的所有设备,请使用以下脚本:

$deviceName="Name of the device(s) you want to remove"
foreach ($dev in (Get-PnpDevice | Where-Object{$_.Name -eq $deviceName})) {
  &"pnputil" /remove-device $dev.InstanceId 
}

或者作为单个命令:

foreach ($dev in (Get-PnpDevice | Where-Object{$_.Name -eq "Name of device to remove")) 
{ &"pnputil" /remove-device $dev.InstanceId }

就是这样!

兴趣点

还有其他方法可以枚举和过滤设备(例如Get-WmiObject),但这是我发现也适用于隐藏设备的唯一方法。

https://www.codeproject.com/Tips/5313040/Batch-Uninstall-Devices-in-PowerShell

评论 3 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:酷酷鲨 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值