日期:2014-05-17  浏览次数:20763 次

利用VBS修改IP(只修改有线网络的IP,无线不修改)
这是现在用的代码.
strIP = "10.2.20.148"
strMask = "255.255.255.0"
strGW = "10.2.20.254"
strDNS1 = "172.20.1.1"  
strDNS2 = "172.21.1.13"     

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
strIPAddress = Array(strIP)
strSubnetMask = Array(strMask)
strGateway = Array(strGW)
strGatewayMetric = Array(1)
For Each objNetAdapter in colNetAdapters
 errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
 errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
     arrDNSServers = Array(strDNS1,strDNS2)
    errDNS = objNetAdapter.SetDNSServerSearchOrder(arrDNSServers)
If errEnable = 0 Then
WScript.Echo "您的IP地址已成功更改!"
Else
WScript.Echo "如仍无法访问网络,多谢您的配合!"
End If
Next


现在的问题是,笔记本通常有两个网卡,使用该批处理后,(有线/无线)网卡均改成预设的IP。
优化后只修改有线网卡IP地址,对无线网卡不作任何修改
很急,希望各位帮帮忙谢谢....

------解决方案--------------------
使用Win32_NetworkAdapter 得到 AdapterTypeId 和 MACAddress,如果 AdapterTypeId=9 那么就核对MAC地址来判断该不该修改
 
我好像记得AdapterTypeId=9 是无线设备,具体你可以查询一下Win32_NetworkAdapter ,看看无线网卡的ID到底是多少。