有多种工具可供我们来控制设备管理器的设备状态,根据情况自选即可。

1.选择之一:PnPUtil

该工具是win10自带,无需下载安装,也是我们的首选工具,其可以通过命令行对设备执行启用、禁用和重启(enable/disable/restart)等操作。

你可以用 Win+R 快捷键,输入 cmd ,然后在命令行里输入 pnputil ,如果正常的话会出现下面这些信息,代表你电脑已经有PnPUtil:
在这里插入图片描述
如果你不是Win10以上系统,你可以用devcon或DevmanView进行操作:

2.选择之一:Devcon

devcon也是较多教程用的方法,但是官网地devcon下载后文件大小很大,近1个G,感觉没必要,于是我在外网上找到了这样一篇教程:
https://stackoverflow.com/questions/47530182/enabling-disabling-a-device-in-windows-10-from-command-line
里面写了如何下载到 6mb 大小的devcon, 下载地址 如下:
https://superuser.com/questions/1002950/quick-method-to-install-devcon-exe

下载安装完后,你也可以用devcon直接进行enable/disable等操作了。

3.选择之一:DevmanView:

Win7可以使用 DevmanView 工具来用命令行控制设备管理器状态。
下面是外网写的比较详细的一篇教程:
https://superuser.com/questions/429016/enable-disable-windows-7-device-via-command-line/560454#560454

因为我的电脑是Win10,我就直接以系统自带的pnputil为例。

1.获取管理员权限

新建一个.bat文件,在文件开头写入以下两行代码:

%1 mshta vbscript:createobject("shell.application").shellexecute("%~s0","::","","runas",1)(window.close)&exit
cd /d %~dp0

该代码作用是让bat文件以管理员身份运行,不过运行的时候还需要自己手动点一下确定。

2.获取要进行操作的设备实例路径

设备管理器-属性-详细信息-设备实例路径-值。
该值用于脚本指明设备ID
在这里插入图片描述

2.用Win10自带工具pnputil进行设备重启

在bat文件后面继续加上这行代码:

pnputil /restart-device "HDAUDIO\FUNC_01&VEN_10EC&DEV_0256&SUBSYS_1B505809&REV_1000\4&375EFBD3&0&0001"

现在双击bat文件即可对设备进行重启。

3.代码总览

网上还有其他教程可以让该脚本开机自动启动,并且执行bat文件时不需要每次都点击确定授予管理员权限,根据需要自行添加。

DevCon (DevCon.exe) 是一个命令行工具,可以显示有关运行 Windows 的计算机上设备的详细信息。还可以使用 DevCon 启用禁用、安装、配置以及删除设备。 该工具提取自WDK套件(10.0.18362)对应 Windows 1903 版本,包含 x64 和 x86 版本,该工具向下兼容老版本操作系统。
devcon,官网如下http://support.microsoft.com/kb/311272/zh-cn 请注意,这个网站下的64位不能使用。按照微软进一步说明,需要在 “Windows驱动程序工具包(WDK)7.1.0”进一步提取。而这个包则600多M 你如果不想下载一个600多M的东西,提取一个几K的东西,那么这个就是你需要的 我提取后的,已在程序应用。
  DevCon 实用工具是一种命令行实用工具,可以替代设备管理器。使用 DevCon,您可以启用禁用、重新启动、更新、删除和查询单个设备或一组设备。DevCon 提供与开发人员有关但无法在设备管理器看到的信息。   您可以将 DevCon 用于 Windows 2000 、Windows XP和Windows vista。不能将 Devcon 用于 Microsoft Windows 95、Windows 98、或 Windows Millennium Edition。   下载:http://download.microsoft.com/download/1/1/f/11f7dd10-272d-4cd2-896f-9ce67f3e0240/devcon.exe 用法及参数说明:   devcon.exe [-r] [-m:\\] [...]   -r 如果指定它,在命令完成后若需要则重新启动计算机。    是目标计算机的名称。    是将要执行的命令(如下所示)。   ... 是命令需要的一个或多个参数。   要获取关于某一特定命令的帮助,请键入:devcon.exe help   classfilter 允许修改类别筛选程序。   classes 列出所有设备安装类别。   disable 禁用与指定的硬件或实例 ID 匹配的设备。   driverfiles 列出针对设备安装的驱动程序文件。   drivernodes 列出设备的所有驱动程序节点。   enable 启用与指定的硬件或 实例 ID 匹配的设备。   find 查找与指定的硬件或 实例 ID 匹配的设备。   findall 查找设备,包括那些未显示的设备。   help 显示此信息。   hwids 列出设备硬件 ID。   install 手动安装设备。   listclass 列出某一安装类别的所有设备。   reboot 重新启动本地计算机。   remove 删除与特定硬件或 实例 ID 匹配的设备。   rescan 扫描以发现新的硬件。   resources 列出设备硬件资源。   restart 重新启动与特定硬件或 实例 ID 匹配的设备。   stack 列出预期的设备驱动程序堆栈。   status 列出设备的运行状态。   update 手动更新设备。   UpdateNI 手动更新设备,无用户提示   SetHwID 添加、删除和更改根枚举设备硬件 ID 的顺序。   devcon -m:\\test find pci\* 列出计算机 test 上的所有已知 PCI 设备。(通过使用 -m,您可以指定一个目标计算机。您必须使用“进程间通信”(IPC) 访问此计算机。)   devcon -r install Windows directory\Inf\Netloop.inf *MSLOOP 安装一个新的 Microsoft 环回适配器实例。这将创建一个新的根枚举设备节点,使用此节点您可以安装“虚拟设备”,如环回适配器。如果需要重新启动计算机,此命令还将以安静模式重启计算机。   devcon classes 列出所有已知的安装类别。输出结果包含短的未本地化的名称(例如,“USB”)和描述性名称(例如,“通用串行总线控制器”)。 禁用启用网卡的步骤:   1.用devcon hwids PCI*命令得到所有以PCI开头的设备。这时会列出很多设备,那么哪个才是网卡对应的呢?   2.打开设备管理器,展开网络适配器,找到网卡的名称,然后记住到刚才得到的列表找对应的Name,然后你会在下面看到好几个ID,随便挑一个就行   3.用devcon disable "PCI\VEN_11AB&DEV_4380&SUBSYS_301B17AA&REV_10"禁用网卡(启用的话讲disable换成enable就行了)   4.其实用PCI开头得到的几组设备一般第一个就是网卡设备 sysdzw 16:01 2010-11-16
系统平台:win2003 情况描述:机器上装有两块网卡,8136和8139,网卡A使用静态IP,连接内部办公网,网卡B使用DHCP,连接互联网。切换两个网络时,需要先禁用一个网卡,启用另一个网卡。来回点鼠标太麻烦,所以想到用命令行。 操作目的:便捷切换内外网 操作方法: 尝试过的方法 (1)netsh interface,该命令下有enable和disable,但对LAN端口不起...
可以使用以下批处理脚本禁用/启用以太网:@echo offrem 以太网启用/禁用if "%1"=="-enable" ( netsh interface set interface "以太网" enabled ) else if "%1"=="-disable" ( netsh interface set interface "以太网" disabled )echo 以太网已%1 ### 回答2: 批处理脚本是一种用于自动化任务的脚本语言,可以在Windows操作系统执行。以下是一个用于一键禁用/启用以太网的批处理脚本示例: @echo off setlocal enabledelayedexpansion REM 获取当前以太网状态 for /f "tokens=2 delims=:" %%a in ('netsh interface show interface^|findstr /c:"以太网"') do ( set status=%%a REM 判断当前状态并进行相应操作 if "%status%"==" 已连接 " ( REM 禁用以太网 echo 禁用以太网... netsh interface set interface "以太网" admin=disable REM 延迟2秒等待操作生效 ping localhost -n 2 >nul REM 检查禁用状态 for /f "tokens=2 delims=:" %%a in ('netsh interface show interface^|findstr /c:"以太网"') do ( set new_status=%%a if "%new_status%"==" 已禁用 " ( echo 以太网已禁用。 ) else ( echo 无法禁用以太网。 ) else ( REM 启用以太网 echo 启用以太网... netsh interface set interface "以太网" admin=enable REM 延迟2秒等待操作生效 ping localhost -n 2 >nul REM 检查启用状态 for /f "tokens=2 delims=:" %%a in ('netsh interface show interface^|findstr /c:"以太网"') do ( set new_status=%%a if "%new_status%"==" 已连接 " ( echo 以太网已启用。 ) else ( echo 无法启用以太网。 endlocal 这段脚本首先通过netsh命令获取当前以太网的状态,然后根据状态进行相应的禁用启用操作。操作完成后,脚本会再次检查以太网的状态,以确保操作成功。脚本的延迟操作是为了等待禁用/启用操作生效。最后,脚本会输出相应的操作结果。 请注意,在运行此脚本前,请确保以管理员权限运行命令提示符窗口。此外,脚本的"以太网"是根据具体设备名称而定,可能需要根据实际情况进行调整。 ### 回答3: 以下是一个简单的批处理脚本,用于一键禁用/启用以太网: @echo off echo 请选择要执行的操作: echo [1] 禁用以太网 echo [2] 启用以太网 set /p option=请选择: if %option%==1 ( netsh interface set interface "以太网" admin=disable echo 以太网已禁用。 ) else if %option%==2 ( netsh interface set interface "以太网" admin=enable echo 以太网已启用。 ) else ( echo 无效的选项,请重新运行脚本。 上述脚本通过使用netsh命令来控制以太网的启用/禁用状态。用户可以选择1来禁用以太网,选择2来启用以太网。脚本会根据用户的选择执行相应的命令,并显示操作结果。 请注意,脚本的"以太网"可能需要根据您的系统进行适当的更改。您可以通过在cmd运行"netsh interface show interface"命令来查看以太网接口的名称,并将其作为脚本"netsh interface set interface"命令的参数进行替换。
[Hololens/MRTK/VS/VCLib]无法激活 Windows 应用商店应用“XXX“,MRTKHololens.exe 进程已启动,但激活请求失败,错误为“应用末启动“,找不到依赖dll [Unity VR报错解决]Unity.IL2CPP.Bee.BuildLogic.ToolchainNotFoundException: IL2CPP C++ code builder