Board logo

标题: [网络连接] 批处理可以获取被禁用的网卡的信息吗? [打印本页]

作者: 深蓝幻灭    时间: 2022-4-24 10:07     标题: 批处理可以获取被禁用的网卡的信息吗?

求教:批处理可以获取被禁用的网卡的信息吗?
比如MAC和网卡名。
netsh interface ip dump这条命令可以获取到IP,有类似的命令可以获取MAC和网卡名吗
作者: Batcher    时间: 2022-4-24 13:33

回复 1# 深蓝幻灭


看看这个命令生成的txt文件里面是否有你需要的内容
  1. wmic nicconfig get * /value > 1.txt
复制代码

作者: yakeyun    时间: 2022-4-24 15:10

本帖最后由 yakeyun 于 2022-4-25 19:37 编辑

回复 1# 深蓝幻灭
记得保存为ANSI格式执行
  1. @echo off
  2. %1 %2
  3. ver|find "5.">nul&&goto :Admin
  4. mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :Admin","","runas",1)(window.close)&goto :eof
  5. :Admin
  6. setlocal enabledelayedexpansion
  7. title 主板禁用网卡设备信息获取中请稍等...
  8. cd /d "%~dp0
  9. for /f "tokens=1 delims=:" %%a in ('echo ^|pnputil /enum-devices /class net ^|findstr /n "已禁用"') do (
  10.    set op=%%a
  11.    set /a op5=!op!-6
  12.    set /a op4=!op!-5
  13. )
  14. if not defined op (echo 未找到禁用网卡设备,5秒后窗口自动关闭!& timeout -t 5 >nul & exit)
  15. for /f "skip=%op5% tokens=3" %%e in ('echo ^|pnputil /enum-devices /class net') do (
  16.    set /a m+=1
  17.    if !m! equ 1 (
  18.    set id=%%e
  19. )
  20. )
  21. for /f "skip=%op4% tokens=2,*" %%i in ('echo ^|pnputil /enum-devices /class net') do (
  22.    set /a n+=1
  23.    if !n! equ 1 (
  24.    set name=%%i %%j
  25. )
  26. )
  27. pnputil /enable-device  "!id!"
  28. cls
  29. for /f "tokens=*" %%n in ('wmic nic get  macaddress ^,Name  ^|find /i "!name!"') do (
  30. set MACname=%%n
  31. pnputil /disable-device "!id!"
  32. )
  33. cls
  34. for /f "tokens=1,*" %%s in ('echo !MACname!') do (
  35. echo 当前禁用网卡信息如下:
  36. echo.
  37. echo 网卡设备名称:%%t
  38. echo 网卡   MAC值:%%s
  39. echo.
  40. )
  41. title 主板禁用网卡设备信息获取工具 By.sanli
  42. pause>nul
  43. exit
复制代码

作者: 深蓝幻灭    时间: 2022-4-24 15:42

本帖最后由 深蓝幻灭 于 2022-4-24 15:45 编辑
回复  深蓝幻灭


看看这个命令生成的txt文件里面是否有你需要的内容
Batcher 发表于 2022-4-24 13:33



   

    没有,我主要是想获取网卡mac。希望在禁用的情况下也能获取到
作者: 深蓝幻灭    时间: 2022-4-24 15:43

回复  深蓝幻灭
记得保存为ANSI格式执行
yakeyun 发表于 2022-4-24 15:10



    这个可以获取到某块网卡被禁用了。但是没有被禁用的网卡的mac,名称之类的信息
作者: Batcher    时间: 2022-4-24 15:52

回复 4# 深蓝幻灭


请把2楼代码执行生成的txt文件上传到网盘,并打开网络连接截个图,我看下。
如果需要上传文件,可以用阿里云盘或百度网盘。

如果需要上传截图,可以找个图床,例如:
http://bbs.bathome.net/thread-60985-1-1.html
作者: 深蓝幻灭    时间: 2022-4-24 16:07

本帖最后由 深蓝幻灭 于 2022-4-24 16:10 编辑
回复  深蓝幻灭


请把2楼代码执行生成的txt文件上传到网盘,并打开网络连接截个图,我看下。
如果需要 ...
Batcher 发表于 2022-4-24 15:52



    链接:https://pan.baidu.com/s/1WX9seesgH6r8fftALDi7jA
提取码:1122

百度网盘可以吗?
创建了两个文件,一个是禁用状态,一个是启用状态。
启用状态能看见那块网卡mac80:FA:5B:3E6:58,禁用状态看不到。
作者: Batcher    时间: 2022-4-24 16:12

回复 7# 深蓝幻灭


    禁用状态能看到那块网卡的名字吗?
作者: 深蓝幻灭    时间: 2022-4-24 16:15

回复  深蓝幻灭


    禁用状态能看到那块网卡的名字吗?
Batcher 发表于 2022-4-24 16:12



    启用和禁用都看不到网卡名,但都能看到这个Realtek PCIe GbE Family Controller
不过启用能看到mac,禁用看不到。
作者: yakeyun    时间: 2022-4-24 16:37

本帖最后由 yakeyun 于 2022-4-24 16:41 编辑

回复 9# 深蓝幻灭


禁用状态下是无法获取到MAC的,除非加一个启用设备动作,获取完MAC后再次禁用设备。不过这个过程会有一个联网过程,如果使用环境不在意这几秒的连接过程,可以用代码实现。

网卡启用状态下,用下面命令获取名称和MAC,然后匹配之前代码获取的禁用名称,就可以对应MAC值。
  1. wmic nic get  macaddress ^,Name
复制代码

作者: idwma    时间: 2022-4-24 16:44

试试从注册表获取
作者: yakeyun    时间: 2022-4-24 18:54

回复 5# 深蓝幻灭

已修改看下是不是想要的结果
作者: 深蓝幻灭    时间: 2022-4-24 20:12

本帖最后由 深蓝幻灭 于 2022-4-24 20:44 编辑
回复  深蓝幻灭

已修改看下是不是想要的结果
yakeyun 发表于 2022-4-24 18:54
  1. 当前禁用网卡信息如下:
  2. 网卡设备名称:PCIe GbE Family Controller
  3. 网卡   MAC值:Realtek
复制代码
最终反馈的结果是这个


查了下,Realtek是Manufacturer反馈的信息,但是看大佬你写的wmic nic get里,没有搜索这个值,不知道为什么会给出它的反馈。
作者: yakeyun    时间: 2022-4-24 20:54

本帖最后由 yakeyun 于 2022-4-24 21:07 编辑

回复 13# 深蓝幻灭


这边测试一切正常,你的应该是你自己修改了代码,把名称一个空格前的字符给到MAC了。
wmic命令获取设备名称是用name,MAC值是用macaddress获取


作者: 深蓝幻灭    时间: 2022-4-25 15:53

回复  深蓝幻灭


这边测试一切正常,你的应该是你自己修改了代码,把名称一个空格前的字符给到MAC了。 ...
yakeyun 发表于 2022-4-24 20:54
  1. Microsoft PnP 工具
  2. 无法启用设备:  PCI\VEN_10EC&DEV_8168&SUBSYS_65041558&REV_12\4&2b26895e&0&01E3
  3. 拒绝访问。
  4. Microsoft PnP 工具
  5. 无法禁用设备:  PCI\VEN_10EC&DEV_8168&SUBSYS_65041558&REV_12\4&2b26895e&0&01E3
  6. 拒绝访问。
  7. 当前禁用网卡信息如下:
  8. 网卡设备名称:PCIe GbE Family Controller
  9. 网卡   MAC值:Realtek
复制代码
没有改过。
不过删掉清屏后是这样的,是我这边有什么问题吗?
作者: yakeyun    时间: 2022-4-25 19:31

回复 15# 深蓝幻灭


可能是系统不是管理员用户,需要提权。
再试下看看,如果还是不行,就右击以管理员权限运行。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2