使用PowerShell提取和打印MAC的前3个八位字节

时间:2016-05-26 15:38:30

标签: regex powershell mac-address

if($ping)
    {
        ( $mac | ? { $_ -match $ip } ) -match "([0-9A-F]{2}([:-][0-9A-F]{2}){5})" | out-null;
        if ( $matches ) {
            Select-String -Pattern '[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}' -Path $matches[0] |
            ForEach-Object {$_.Matches[0].Value}
        } else {
            "Not Found"
        }
    }

我目前正在使用的是什么。不确定我是否在PowerShell中这样做。

我正在尝试提取MAC的前3个XX:XX:XX,以便我可以将其用于比较。我只是不确定赛后如何拉。

1 个答案:

答案 0 :(得分:2)

您可以使用Remove裁剪前8个字符:

$mac ='00:0a:95:9d:68:16' 

$mac.Remove(8, ($mac.Length -8))

输出:

00:0a:95

您也可以使用正则表达式执行此操作:

[regex]::Match($mac, '^(.{8})').Groups[1].Value