可使用powershell脚本批量重命名物理网卡,通过interfacedescription匹配硬件厂商或pci标识、排除虚拟关键字,并结合mediaconnectionstate筛选,再用rename-netadapter按序改为lan1、lan2等;需管理员权限,重命名不影响ip等配置。
可以使用 powershell 脚本批量重命名物理网卡的显示名称,关键在于准确识别“物理”网卡(排除虚拟、回环、隧道等),再调用 rename-netadapter 命令更新名称。
区分物理网卡与虚拟/伪设备
Windows 中并非所有网络适配器都是物理网卡。可通过以下属性组合可靠识别:
- InterfaceDescription:通常包含硬件厂商名(如 “Intel”, “Realtek”, “Qualcomm Atheros”)或 PCI 总线标识(含 “PCI”)
- MediaConnectionState:为 “Connected” 或 “Disconnected”(排除 “Unknown”、“Not Present”)
- InterfaceDescription 不包含常见虚拟关键字,如 “Hyper-V”, “VMware”, “Virtual”, “NDIS Light-Weight Filter”, “Wintun”, “TAP-Windows”
- ifIndex > 0 且 Status ≠ “Disconnected”(辅助过滤)
执行重命名操作(带安全确认)
建议先预览将被重命名的网卡,再执行操作。示例脚本如下:
# 获取所有疑似物理网卡(排除已知虚拟设备)$PhysicalAdapters = Get-NetAdapter | Where-Object { ($_.MediaConnectionState -ne 'Unknown') -and ($_.InterfaceDescription -notmatch 'Hyper-V|VMware|Virtual|NDIS|Wintun|TAP|Microsoft Kernel|Pangp|Fortinet') -and ($_.InterfaceDescription -match 'PCI\|Intel|Realtek|Qualcomm|Broadcom|Atheros|Marvell|Synopsys|NVIDIA|AMD|Apple|Dell|HP|Lenovo')}
# 预览(不执行)$PhysicalAdapters | Select-Object Name, InterfaceDescription, Status, MediaConnectionState
# 按顺序重命名为 “LAN1”, “LAN2”, …(可自定义规则)$i = 1foreach ($adapter in $PhysicalAdapters) { $newName = "LAN$i" if ($adapter.Name -ne $newName) { Write-Host "Renaming '$($adapter.Name)' → '$newName'" -ForegroundColor Green Rename-NetAdapter -Name $adapter.Name -NewName $newName -ErrorAction SilentlyContinue } $i++}
注意事项与补充建议
- 必须以管理员身份运行 PowerShell,否则
Rename-NetAdapter会失败 - 重命名后原名称(如 “以太网”)不再可用;若需恢复,可再次运行脚本并改用原始命名逻辑
- 部分设备(如 Thunderbolt 以太网坞站)可能无稳定厂商字符串,建议先手动运行
Get-NetAdapter | Format-List Name,InterfaceDescription,Status观察特征 - 如需保留原有连接配置(IP/DNS),重命名不影响,因系统底层通过
ifIndex和 GUID 关联设置
进阶:按位置或类型智能命名
若主机有多个物理接口(如主板 + PCIe 卡 + USB-C 基座),可结合 Get-NetAdapterHardwareInfo(Win10 1809+)或 WMI 查询 PCI 插槽信息,实现更精准命名,例如:
- 主板板载 → “LAN-Onboard”
- PCIe x1 卡 → “LAN-PCIe1”
- USB-C 基座 → “LAN-USBC”
实际中建议先固化命名规则,再批量执行,避免混淆。










