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

如何在PowerShell中列出所有带名称、IP和MAC地址的网卡?

PowerShell查询网卡信息(名称、MAC、IP)解决方案

1. 最简实现方式

直接使用Get-NetIPConfiguration配合计算属性即可,无需组合多个命令,命令如下:

Get-NetIPConfiguration | Select-Object `
  InterfaceAlias, `
  @{Name = 'MAC地址'; Expression = { $_.NetAdapter.LinkLayerAddress }}, `
  @{Name = 'IPv4地址'; Expression = { $_.IPv4Address.IPAddress }}

如果是高频使用,可以将逻辑封装为自定义函数存入PowerShell配置文件($PROFILE),后续直接调用即可:

  • 运行notepad $PROFILE打开配置文件
  • 写入以下内容后保存:
function Get-NetCardInfo {
  Get-NetIPConfiguration | Select-Object `
    @{Name = '网卡名称'; Expression = { $_.InterfaceAlias }}, `
    @{Name = 'MAC地址'; Expression = { $_.NetAdapter.LinkLayerAddress }}, `
    @{Name = 'IPv4地址'; Expression = { $_.IPv4Address.IPAddress }}
}
  • 重启PowerShell后,直接执行Get-NetCardInfo即可输出所需信息。

2. 原命令MAC地址为空的原因

你执行的Get-NetIPConfiguration -Detailed | select InterfaceAlias,NetAdapter.LinkLayerAddress,IPv4Address返回空MAC地址,是因为Select-Object不支持直接通过父对象.子属性的格式读取嵌套属性,它会将NetAdapter.LinkLayerAddress作为一个完整的根级属性名查询,而Get-NetIPConfiguration返回的根级对象不存在该属性,因此返回空值。

如果需要过滤仅显示已启用的网卡,也可以使用Get-NetAdapter为主的命令实现:

Get-NetAdapter | Where-Object Status -eq 'Up' | Select-Object `
  @{Name = '网卡名称'; Expression = { $_.Name }}, `
  @{Name = 'MAC地址'; Expression = { $_.MacAddress }}, `
  @{Name = 'IPv4地址'; Expression = { (Get-NetIPAddress -InterfaceIndex $_.InterfaceIndex -AddressFamily IPv4).IPAddress }}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 22:54:03