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

}

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

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

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

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 { /// /// 计算机信息类 /// ...

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

1.  开发语言:C/C++ 2.    3.  支持平台:Windows 4.    5.  实现功能: 6.    7.  通过WMI获取网卡MAC地址、硬盘序列号、主板序列号、...

硬件网卡地址修改软件

  • 2010-04-01 10:41
  • 545KB
  • 下载

C++ 中通过GetAdaptersInfo获取网卡配置和Ip地址信息

文章来源:http://www.cnblogs.com/L-hq815/archive/2012/08/04/2622829.html 一台机器上可能不只有一个网卡,但每一个网卡只有一个MAC地址,...

VS2012 C++ 中通过GetAdaptersInfo获取多网卡,多IP地址信息

#include "stdafx.h" #include "winsock.h" #include "stdio.h" #include #pragma comment(lib,"Iphlp...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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