Powershell:所有 MAC 地址作为字符串组合

Powershell: All MAC Address as string combined

提问人:beli3ver 提问时间:1/7/2022 更新时间:1/7/2022 访问量:1337

问:

目前,我使用此命令从 PowerShell 获取所有 mac 地址:

getmac /s $computer /FO TABLE /NH

它看起来像这样:

PS C:\Users\User> getmac /s $computer /FO TABLE /NH

F8-5E-A0-2B-C4-5B   Nicht zutreffend
94-8D-95-41-5F-57   Medien ausgeworfen
F8-5E-A0-2B-C4-5F   Medien ausgeworfen
08-3A-88-5C-03-28   Medien ausgeworfen

现在,我想将所有地址合并到一个字符串中,如下所示:

F8-5E-A0-2B-C4-5B / 94-8D-95-41-5F-57 / F8-5E-A0-2B-C4-5F / 08-3A-88-5C-03-28

我知道我必须使用,但我不知道怎么用。 有人可以帮我吗?join

Windows PowerShell的

评论

4赞 Olaf 1/7/2022
(Get-CimInstance -ClassName win32_networkadapterconfiguration | Where-Object macaddress ).macaddress -join ' / '
0赞 beli3ver 1/7/2022
太棒了,非常感谢
1赞 AdminOfThings 1/7/2022
您还可以使用$output -replace '\s.*$' -join ' / '

答:

0赞 AdminOfThings 1/7/2022 #1

用:getmac

(getmac /FO TABLE /NH) -ne '' -replace '\s.*$' -join ' / '

该程序被视为外部程序,其输出将转换为 PowerShell 中的字符串数组。因此,您需要解析字符串以获得所需的结果。getmac.exe

由于使用正则表达式,因此匹配空格并匹配所有字符,直到(每个字符串的末尾)。-replace\s.*$


用:Get-NetAdapter

(Get-NetAdapter).MacAddress -join ' / '

使用 PowerShell cmdlet,可以返回一个丰富的对象,该对象具有可根据需要引用、筛选和分析的属性。