|
HUNRYBECKY
银牌会员
积分 1179
发帖 442
注册 2006-9-9
状态 离线
|
『楼 主』:
多网卡如何通过MAC获取本地连接的名称,在线等待....
最近在写一个管理方面的批处理,遇到一个急手的问题,请高手们为我解决下这个难题,我目前假设电脑有多张网卡,使用IPCONFIG /ALL获取的参数如下
Windows IP Configuration
Host Name . . . . . . . . . . . . : IBM_T60_HGX
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Unknown
IP Routing Enabled. . . . . . . . : Yes
WINS Proxy Enabled. . . . . . . . : No
Ethernet adapter 无线网络连接:
Media State . . . . . . . . . . . : Media disconnected
Description . . . . . . . . . . . : Intel(R) PRO/Wireless 3945ABG Network Connection
Physical Address. . . . . . . . . : 00-13-02-A3-F9-18
Ethernet adapter 本地连接:
Media State . . . . . . . . . . . : Media disconnected
Description . . . . . . . . . . . : Intel(R) PRO/1000 PL Network Connection
Physical Address. . . . . . . . . : 02-80-41-59-C7-2C
Ethernet adapter 本地连接 2:
Media State . . . . . . . . . . . : Media disconnected
Description . . . . . . . . . . . : VPN Virtual Network Adapter
Physical Address. . . . . . . . . : 00-00-00-14-35-22 现在的问题是我知道我的MAC是00-00-00-14-35-22,如何查出Ethernet adapter的值并赋给变量ELOC?
Quote: | Originally posted by tireless at 2009-7-31 01:37:
[code]@echo off
for /f "eol=M tokens=1,2 delims=:" %%a in ('IPCONFIG /ALL') do (
if "%%b"=="" (
set var=%%a
) else if "%%b"==" 00-00-00-14-3 ... |
|
谢谢兄的回复。不知道兄测试没有,结果显示的是DNS。兄弟还是没有明白我的意思,看来是我的没有表达清楚。也就是说在存在多个物理网卡的情况下如果知道MAC地址,那么如何查出该MAC的地址对应的本地连接名称,为什么要这样做,是因为我在服务器上放了一个MAC地址表,客户端根据MAC自动修改IP地址等,如果是单网卡还好办,如果是多网卡,那么要修改IP等地址必须先确定对应的是哪个本地连接。
[ Last edited by HUNRYBECKY on 2009-7-31 at 03:44 ]
|
|
2009-7-31 00:54 |
|
|
tireless
银牌会员
积分 2025
发帖 1122
注册 2007-9-5
状态 离线
|
『第
2 楼』:
@echo off
for /f "eol=M tokens=1,2 delims=:" %%a in ('IPCONFIG /ALL') do (
if "%%b"=="" (
set var=%%a
) else if "%%b"==" 00-00-00-14-35-22" goto out
)
:out
echo %var:*r =%
pause
|
|
2009-7-31 01:37 |
|
|
HUNRYBECKY
银牌会员
积分 1179
发帖 442
注册 2006-9-9
状态 离线
|
『第
3 楼』:
Quote: | Originally posted by tireless at 2009-7-31 01:37:
[code]@echo off
for /f "eol=M tokens=1,2 delims=:" %%a in ('IPCONFIG /ALL') do (
if "%%b"=="" (
set var=%%a
) else if "%%b"==" 00-00-00-14-3 ... |
|
谢谢兄的回复。不知道兄测试没有,结果显示的是DNS。兄弟还是没有明白我的意思,看来是我的没有表达清楚。我的意思是在存在多个物理网卡的情况下如果知道MAC地址,那么如何查出该MAC的地址对应的本地连接名称,为什么要这样做,是因为我在服务器上放了一个MAC地址表,客户端根据MAC自动修改IP地址等,如果是单网卡还好办,如果是多网卡,那么要修改IP等地址必须先确定对应的是哪个本地连接。
[ Last edited by HUNRYBECKY on 2009-7-31 at 03:43 ]
|
|
2009-7-31 03:13 |
|
|
tireless
银牌会员
积分 2025
发帖 1122
注册 2007-9-5
状态 离线
|
『第
4 楼』:
执行 IPCONFIG /ALL,是输出了以下信息吗?
Quote: | Windows IP Configuration
Host Name . . . . . . . . . . . . : IBM_T60_HGX
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Unknown
IP Routing Enabled. . . . . . . . : Yes
WINS Proxy Enabled. . . . . . . . : No
Ethernet adapter 无线网络连接:
Media State . . . . . . . . . . . : Media disconnected
Description . . . . . . . . . . . : Intel(R) PRO/Wireless 3945ABG Network Connection
Physical Address. . . . . . . . . : 00-13-02-A3-F9-18
Ethernet adapter 本地连接:
Media State . . . . . . . . . . . : Media disconnected
Description . . . . . . . . . . . : Intel(R) PRO/1000 PL Network Connection
Physical Address. . . . . . . . . : 02-80-41-59-C7-2C
Ethernet adapter 本地连接 2:
Media State . . . . . . . . . . . : Media disconnected
Description . . . . . . . . . . . : VPN Virtual Network Adapter
Physical Address. . . . . . . . . : 00-00-00-14-35-22 |
|
|
|
2009-7-31 04:15 |
|
|
HUNRYBECKY
银牌会员
积分 1179
发帖 442
注册 2006-9-9
状态 离线
|
『第
5 楼』:
Quote: | Originally posted by tireless at 2009-7-31 04:15:
执行 IPCONFIG /ALL,是输出了以下信息吗?
|
|
这个是别人的IP信息,我的是如下:
[code]
Windows IP Configuration
Host Name . . . . . . . . . . . . : CAD4
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Unknown
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
Ethernet adapter 本地连接:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Intel(R) 82562V-2 10/100 Network Connection
Physical Address. . . . . . . . . : 00-1D-09-76-61-9B
Dhcp Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 192.168.1.188
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.1.3
DNS Servers . . . . . . . . . . . : 202.96.128.86
202.96.128.166
PPP adapter CC VPN Connection:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : WAN (PPP/SLIP) Interface
Physical Address. . . . . . . . . : 00-53-45-00-00-00
Dhcp Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 192.168.110.15
Subnet Mask . . . . . . . . . . . : 255.255.255.255
Default Gateway . . . . . . . . . : 192.168.110.15
DNS Servers . . . . . . . . . . . : 202.96.128.86
202.96.128.166
[code]
|
|
2009-7-31 04:33 |
|
|
tireless
银牌会员
积分 2025
发帖 1122
注册 2007-9-5
状态 离线
|
『第
6 楼』:
re 5 楼
你的 IPCONFIG /ALL 里并没有 00-00-00-14-35-22 啊
|
|
2009-7-31 04:48 |
|
|
HUNRYBECKY
银牌会员
积分 1179
发帖 442
注册 2006-9-9
状态 离线
|
『第
7 楼』:
具体问题是这样的,我在服务器里放里一个MAC.INI文本,内容是保存了电脑的配置信息,依次为MAC,电脑名称,电脑描述,工作组,IP地址,网关,DNS1,DNS2.
00-1D-09-76-61-9B,CAD4,张三,LW-CAD,192.168.1.188,192.168.1.3,192.168.1.200,192.168.1.3
00-1D-09-76-61-18,CAD5,李四,LW-CAD,192.168.1.188,192.168.1.3,192.168.1.200,192.168.1.3
客户端假设的MAC为00-1D-09-76-61-9B,但是我安装了多个网卡,或是安装了其他虚拟网卡,那么如何获取真实网卡00-1D-09-76-61-9B对应的连接名称,以便使用netsh interface ip set address name="本地连接" 来修改IP等,如果不能获取指定MAC的"address name",那么就不能修改成功,可以看出我是要修改张三这个网卡的IP,因为张三的MAC地址00-1D-09-76-61-9B出现在MAC.INI中.下面是我电脑的多块网卡
Windows IP Configuration
Host Name . . . . . . . . . . . . : CAD4
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Unknown
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
Ethernet adapter 本地连接:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Intel(R) 82562V-2 10/100 Network Connection
Physical Address. . . . . . . . . : 00-1D-09-76-61-9B
Dhcp Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 192.168.1.188
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.1.3
DNS Servers . . . . . . . . . . . : 202.96.128.86
202.96.128.166
PPP adapter CC VPN Connection:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : WAN (PPP/SLIP) Interface
Physical Address. . . . . . . . . : 00-53-45-00-00-00
Dhcp Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 192.168.110.15
Subnet Mask . . . . . . . . . . . : 255.255.255.255
Default Gateway . . . . . . . . . : 192.168.110.15
DNS Servers . . . . . . . . . . . : 202.96.128.86
202.96.128.166
下面是没有完成的代码
@ECHO OFF
set path=%cd%;%cd%\gtools\;%cd%\SPKiller;%path%
SET MACFP=\\192.168.1.201\web\pomfile\MAC.INI
FOR /F "TOKENS=11* DELIMS= " %%I IN ('IPCONFIG /ALL^|FIND /I "Physical"') DO SET MYMAC=%%J
IF EXIST "%MACFP%" (
FOR /F "USEBACKQ EOL=; TOKENS=1-15 DELIMS=," %%A IN ("%MACFP%") DO (
IF "%MYMAC%"=="%%A" (
SET MAC=%%A&SET CNAME=%%B&SET CCMD=%%C&SET WORKGROUP=%%D&SET IP=%%E
)
)
)
PAUSE [ Last edited by HUNRYBECKY on 2009-7-31 at 05:04 ]
|
|
2009-7-31 04:59 |
|
|
HUNRYBECKY
银牌会员
积分 1179
发帖 442
注册 2006-9-9
状态 离线
|
『第
8 楼』:
经过一番测试,终于搞定,不知道在其他电脑上测试是否能通过.
@ECHO OFF
set path=%cd%;%cd%\gtools\;%cd%\SPKiller;%path%
SET MACFP=\\192.168.1.201\web\pomfile\MAC.INI
IF EXIST "%MACFP%" (
FOR /F "TOKENS=1-3 DELIMS=:" %%A IN ('IPCONFIG /ALL^|FINDSTR /N /I "Physical"') DO (
SET MYMAC=%%C
TYPE %MACFP%|FINDSTR /IC:"%%C"
IF "%ERRORLEVEL%"=="0" SET NUM=%%A&&GOTO:MACOUT
)
:MACOUT
SET/A NUM-=4
SET MYMAC=%MYMAC:~1%
setlocal enabledelayedexpansion
FOR /F "TOKENS=1,2,3* DELIMS=: " %%A in ('IPCONFIG /ALL') do (
SET/A N+=1
IF !N! EQU %NUM% SET ADDNAME=%%C
)
)
ECHO %MYMAC%
ECHO %ADDNAME%
PAUSE
|
|
2009-7-31 06:20 |
|