根据网卡所在的硬件接口设置IP地址

原创 2016年05月31日 00:42:02

最近一直受到镜像恢复操作系统后,网络连接名变化问题的困扰。

当一台主机上有超过两个网口的时候,经常会出现windows操作系统在自适应时,网络连接名不固定的问题。而网上诸多根据网络连接名来修改IP地址的方法就因此不是很可靠。

经过一段时间的搜索找到了用Powershell可以获得网卡硬件地址的代码,据此可以准确的找到对应的网络接口,然后设置IP地址等。

具体的代码如下:

Function Get-NicBusFunctionID {
$adapters = get-wmiobject win32_networkadapter -filter "netenabled=true"

foreach ($adapter in $adapters) {
      
        $deviceId = $adapter.PnPDeviceID
        $locationInfo = (get-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Enum\$deviceID" `
                                          -name locationinformation).locationINformation
       
        $businfo = Resolve-PCIBusInfo -locationInfo $locationinfo
       
        new-object psobject -property @{
            "Name"        = $adapter.NetConnectionID;
            "MacAddress"  = $adapter.MacAddress
            "Index"       = $adapter.Index;
            "PCIBusID"      = $businfo.BusID;
            "PCIDeviceID"   = $businfo.DeviceID;
            "PCIFunctionID" = $businfo.FunctionID
        }
}

}

Function Resolve-PCIBusInfo {

param (
[parameter(ValueFromPipeline=$true,Mandatory=$true)]
[string]
$locationInfo
)
PROCESS {
[void]($locationInfo -match  "\d,\d,\d")
$busId,$deviceID,$functionID = $matches[0] -split ","

new-object psobject -property @{
          "BusID" = $busID;
          "DeviceID" = "$deviceID"
          "FunctionID" = "$functionID"
          }
}        

}

具体怎样使用这个脚本后续再更新吧。

根据网卡名称编号获取指定网卡的IP地址

getIPByIfName(const char *ifNmae){int s;struct ifreq ifr;static char *none_ip="0.0.0.0";if(NULL==ifN...
  • bical
  • bical
  • 2008年07月04日 22:13
  • 782

一张网卡上设置多个IP

http://tech.sina.com.cn/s/2005-08-29/0917705474.shtml  每台电脑网卡只有一块,如何才能让它们既能上ADSL,又能访问校园网呢?在查阅了相关网络方面...
  • cca306
  • cca306
  • 2015年06月15日 10:31
  • 631

通过IP找到城市的API接口

淘宝的IP接口地址:http://ip.taobao.com/instructions.php  腾讯的IP地址API接口地址:http://fw.qq.com/ipaddress        ...
  • CNYYGJ
  • CNYYGJ
  • 2016年07月09日 19:36
  • 5845

计算机网络结构与协议

第一章1.1三网:电信网络、有线电视网络、计算机网络计算机网络:用户能够迅速传送数据文件,以及从网络中查找并获取各种有用的资料,包括图像和视频文件。计算机网络向用户提供的最重要的功能有两个:1、连通性...
  • weixin_40360970
  • weixin_40360970
  • 2018年01月12日 12:14
  • 42

根据IP获取所在的国家城市

根据IP地址获取所在城市//这里是调用新浪的API;其实还有很多比如:新浪的IP地址查询接口:http://int.dpool.sina.com.cn/iplookup/iplookup.php?fo...
  • qq_34897745
  • qq_34897745
  • 2017年09月14日 21:30
  • 272

调用腾讯接口,获取电脑ip,所在省份城市[PHP实现]

  之前测试过一个javascript的,在网上看到一个PHP的,代码如下:
  • a7758521haha
  • a7758521haha
  • 2011年05月11日 12:36
  • 7377

根据IP地址获取地理位置(利用腾讯提供接口)

  • zouhao619
  • zouhao619
  • 2011年10月22日 11:35
  • 4570

配置Linux的eth0网卡设置IP地址以及启动方式

// 进入网卡设置配置目录 [root@otaku ~]# cd/etc/sysconfig/network-scripts/ // 选择需要配置的网卡,用vi编辑器打开 [root@otaku...
  • otaku_den
  • otaku_den
  • 2017年04月03日 12:57
  • 1625

调用淘宝接口查询IP所在地

#!/usr/bin/python # -*- coding: UTF-8 -*- import requests IP = raw_input("请输入:"); def checkip(ip...
  • my_bai
  • my_bai
  • 2017年03月31日 14:37
  • 626

java根据ip地址从第三方接口获取详细的地理位置地域信息

java根据ip地址从第三方接口获取详细的地理位置地域信息,但有时获取的地域信息不准确。...
  • QQ578473688
  • QQ578473688
  • 2017年06月25日 15:55
  • 9926
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:根据网卡所在的硬件接口设置IP地址
举报原因:
原因补充:

(最多只允许输入30个字)