根据网卡所在的硬件接口设置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"
          }
}        

}

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

设备标识字符串(Device Identification Strings)

The Plug and Play (PnP) manager and Setup use device identification strings to identify devices that...

Linux下一块网卡设置多个IP地址

                   在windows下给一块网卡设置多个IP,是比较容易的,今天我写的内容是关于在LINUX系统下,给一块网卡设置多个IP地址,在Linux系统下面,第...

Ubuntu 网卡ip地址设置参考

对于network-manager,可以彻底卸载之 代码: sudo apt-get remove network-manager --purge 注意:删除network-ma...

Linux下一块网卡设置多个IP地址

在windows下给一块网卡设置多个IP,是比较容易的,今天我写的内容是关于在LINUX系统下,给一块网卡设置多个IP地址,在Linux系统下面,第一块网卡就叫eth0,第二块网卡就叫eth1,这里我...

Ubuntu server 9.10更改网卡配置设置IP地址

转载▼ 标签:  杂谈 分类: linux_ubuntu (转自百度贴吧) Ubuntu系统装完了后,在图形界面设置网卡的IP,可...

不能获取IP地址而且可以重启网卡设置的修复方式

其中之一的方法,操作环境:虚拟机,桥接模式 操作步骤      vi /etc/sysconfig/network-scripts/ifcfg-eno16777736       systemc...

硬件网卡地址修改软件

  • 2010年04月01日 10:41
  • 545KB
  • 下载

C++ 硬件信息 获取网卡MAC地址

获取计算机网卡MAC地址的方法很多,这里采用的是命令行的形式获取,可以获取有线网卡与无线网卡的MAC地址,很简单,直接 上代码。 【1】头文件 #if !defined(AFX_95644697_...

通过WMI获得网卡MAC地址,硬盘序号,主板序号等硬件信息

开发语言:C/C++ 支持平台:Windows 实现功能: 通过WMI获取网卡MAC地址、硬盘序列号、主板序列号、CPU ID、BIOS序列号 下载地址: WMI_DeviceQuery....

C#获取CPU序列号代码、硬盘ID、网卡硬件地址等类文件

using System; using System.Management; namespace GetIDs { /// /// 计算机信息类 /// ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:根据网卡所在的硬件接口设置IP地址
举报原因:
原因补充:

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