【问题标题】:Get only value, powerShell without key只获取值,powerShell 没有key
【发布时间】:2018-09-11 09:19:15
【问题描述】:

我使用 PowerShell 来确定以太网和 WiFi 的 MAC 地址...该 MAC 地址将用于验证目的..

每个命令我只想检索值而不是键和值...... 我可以使用已知字符串存储和验证检索到的字符串。

例子:

Get-NetAdapter -Name "Wi-fi" | Format-List -Property MacAddress

将返回MacAddress : XX-XX-XX-XX-XX-XX

我想要的只是XX-XX-XX-XX-XX-XX

有没有我可以在没有代码的情况下应用的文件管理器..workarounds....

【问题讨论】:

    标签: powershell mac-address


    【解决方案1】:

    Format-List 不需要,直接访问属性即可。像这样,

    (Get-NetAdapter -name "wi-fi").macaddress
    01-23-45-67-89-AB
    

    有时需要一个中间变量来代替上面的简写。像这样,

    $wifi = Get-NetAdapter -name "wi-fi"
    $wifi.MacAddress
    01-23-45-67-89-AB
    

    如果您有多个适配器,Select-Object 可用于扩展所需的属性。像这样,

    Get-NetAdapter | ? { $_.status -eq "up" } | Select-Object -ExpandProperty macaddress
    01-23-45-67-89-AB
    01-23-45-67-89-CD
    

    【讨论】:

    • 我试图验证您的解决方案,但它没有回答 OP 的整个问题。 the mac-addresses for Ethernet as well as the WiFi。 Wi-Fi 效果很好,但以太网不适用于此解决方案。
    • 第一个快捷方式同样适用于最后一个示例(Get-NetAdapter |? Status -eq 'Up').MacAddress (+1)
    【解决方案2】:

    不要破坏 vonPryz 部分可接受的答案,但是:

    (get-wmiobject win32_networkadapter -Filter "AdapterType LIKE 'Ethernet 802.3'") | select -expand macaddress
    

    这将为您提供计算机上的所有 mac 地址。

    或以逗号分隔的列表:

    (Get-WmiObject win32_networkadapterconfiguration -ComputerName $env:COMPUTERNAME | Where{$_.IpEnabled -Match "True"} | Select-Object -Expand macaddress) -join ","
    

    或者在换行列表中:

    (Get-WmiObject win32_networkadapterconfiguration -ComputerName $env:COMPUTERNAME | Where{$_.IpEnabled -Match "True"} | Select-Object -Expand macaddress) -join "`r`n"
    

    【讨论】:

      猜你喜欢
      • 2015-07-19
      • 2019-04-25
      • 1970-01-01
      • 2020-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-26
      相关资源
      最近更新 更多