You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell脚本集成Get-NetConnectionProfile获取网卡别名异常求助

问题根因

  • 直接调用Get-NetConnectionProfile得到的是当前设备所有已配置网络连接的对象数组,未做匹配直接读取$NICInformation.InterfaceAlias会默认返回数组第一个对象的属性值,因此所有网卡都输出了同一个别名。
  • Win32_NetworkAdapterConfiguration返回的网卡对象与Get-NetConnectionProfile返回的网络连接对象未做关联映射,无法直接全局取值对应到单块网卡。

修复方案

步骤1:提前构建网卡别名映射表

通过两个对象公共的网卡索引字段建立映射,方便后续快速匹配对应网卡的自定义连接标签:

# 建立索引映射表,key为网卡索引,value为对应的自定义连接标签
$nicAliasMap = @{}
Get-NetConnectionProfile | ForEach-Object {
    $nicAliasMap[$_.InterfaceIndex] = $_.InterfaceAlias
}

步骤2:遍历网卡时匹配对应标签

遍历Win32_NetworkAdapterConfiguration返回的网卡对象时,用网卡的Index字段匹配映射表中的值,匹配不到的场景可以回退显示硬件描述避免空值:

# 原有网卡遍历逻辑调整示例,仅需替换标签取值部分即可
Get-WmiObject Win32_NetworkAdapterConfiguration | Where-Object { $_.IPEnabled -eq $true } | ForEach-Object {
    # 匹配当前网卡的连接标签
    $currentNicLabel = if ($nicAliasMap.ContainsKey($_.Index)) {
        $nicAliasMap[$_.Index]
    } else {
        $_.Description
    }
    # 后续逻辑直接输出$currentNicLabel即可
    Write-Output $currentNicLabel
}

内容的提问来源于stack exchange,提问作者Charles Waters

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 16:54:03