Convert XML string of bytes to MAC address

Welcome Forums General PowerShell Q&A Convert XML string of bytes to MAC address

This topic contains 3 replies, has 2 voices, and was last updated by

 
Member
4 years, 2 months ago.

  • Author
    Posts
  • #20565

    Participant
    Points: 0
    Rank: Member

    Hi All

    I have the following xml element:

    class XmlElement
    {
    type = bytes
    #text = ABVdZBRW

    }

    I've been trying to convert the #text value to a MAC address, without much success. The closest I got was:

    $mac = "ABVdZBRW"
    $bytes = [System.Text.Encoding]::UTF8.GetBytes[$mac]
    [System.BitConverter]::ToString[$bytes]
    41-42-56-64-5A-42-52-57

    which is obviously wrong!

    The value should convert to 00-15-5D-64-14-56... If it helps – the element is from a Legacy Network Adapter section in a Hyper-V virtual machine config file!

    Thanks!

    Mark

  • #20567

    Member
    Points: 0
    Rank: Member

    The problem is that you're treating that string as though it is UTF8. It's actually the MAC address in base64-encoded form:

    $base64 = "ABVdZBRW"
    $bytes = [System.Convert]::FromBase64String($base64)
    [System.BitConverter]::ToString($bytes)
    
  • #20568

    Participant
    Points: 0
    Rank: Member

    Well – that is my ignorance showing through, now immortalized for all time on this message board! 🙂

    Your version works perfectly – thanks a lot!!!

    Mark

  • #20569

    Member
    Points: 0
    Rank: Member

    Showing ignorance isn't a bad thing. 🙂 (See: Apprenticeship Patterns )

The topic ‘Convert XML string of bytes to MAC address’ is closed to new replies.