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

如何用PowerShell提取‘Ethernet 2’网卡的无特殊字符MAC地址字符串?

解决PowerShell获取干净MAC地址的问题

嘿,我懂你现在的麻烦——用out-string确实容易带出多余的换行或空白这类非法字符,其实有更简洁直接的方法,完全不用绕弯子处理子串就能拿到Ethernet 2适配器的纯净MAC地址字符串。

最直接的方案

Get-NetAdapter返回的网卡对象本身就有一个纯字符串格式的MacAddress属性,根本不需要用out-string转换。直接这样写就行:

# 直接获取目标网卡的MAC地址字符串
$currMacAddr = (Get-NetAdapter | Where-Object { $_.Name -match 'Ethernet 2' }).MacAddress

更严谨的版本(避免多匹配)

如果担心系统里有多个名字包含Ethernet 2的网卡(虽然概率很低),可以加上-First 1确保只取第一个匹配的结果,同时用-ExpandProperty直接提取属性值:

$currMacAddr = Get-NetAdapter | 
    Where-Object { $_.Name -match 'Ethernet 2' } | 
    Select-Object -ExpandProperty MacAddress -First 1

精确匹配网卡名称

如果要严格匹配网卡名字(而不是正则模糊匹配),把-match换成-eq会更准确:

$currMacAddr = (Get-NetAdapter | Where-Object { $_.Name -eq 'Ethernet 2' }).MacAddress

为什么你的原代码会有问题?

你原来用out-string的问题在于:这个命令会把输入对象转换成带格式的字符串,默认会在末尾加上换行符(就是你用Substring切掉的那个多余字符)。其实完全没必要走这个流程,直接访问网卡对象的MacAddress属性就能拿到干净的字符串。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:51:03