How to retrieve the GUID of an object from the Active Directory

Applies to: Windows Servers

Summary


This article demonstrates how to convert the hexadecimal string form of an object's GUID into its string form:

  1. Paste the following code in a .vbs file.
    '================================================================
    'Set the next line to reflect a DN for an object in the directory
    '================================================================
    Set obj = GetObject("LDAP://CN=Username,CN=Users,DC=DOMAIN,DC=COM")
    MsgBox "The GUID string Value for user " & obj.Get("DisplayName") & _
    " is " & ConvertHexStringGUIDToStringGUID(obj.GUID)

    '================================================================
    ' ConvertHexStringGUIDToStringGUID function
    '================================================================
    Function ConvertHexStringGUIDToStringGUID(strOctet)
    Dim tmpGUID, GUIDStr
    'Convert the string by flipping the bits around.
    GUIDStr = Mid(strOctet, 7, 2)
    GUIDStr = GUIDStr + Mid(strOctet, 5, 2)
    GUIDStr = GUIDStr + Mid(strOctet, 3, 2)
    GUIDStr = GUIDStr + Mid(strOctet, 1, 2)
    GUIDStr = GUIDStr + Mid(strOctet, 11, 2)
    GUIDStr = GUIDStr + Mid(strOctet, 9, 2)
    GUIDStr = GUIDStr + Mid(strOctet, 15, 2)
    GUIDStr = GUIDStr + Mid(strOctet, 13, 2)
    GUIDStr = GUIDStr + Mid(strOctet, 17, Len(strOctet))

    tmpGUID = "{" & Mid(GUIDStr, 1, 8) & "-" & Mid(GUIDStr, 9, 4) & _
    "-" & Mid(GUIDStr, 13, 4) & "-" & Mid(GUIDStr, 17, 4) & _
    "-" & Mid(GUIDStr, 21, 15) & "}"

    ConvertHexStringGUIDToStringGUID = tmpGUID
    End Function

  2. Run the script.