本文介绍如何将字符串格式的 GUID(例如 {XXXXXXXX-XXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX})转换为其十六进制字符串形式,以便在 Active Directory 中的 GUID 绑定字符串中使用。
原始 KB 数: 325648
若要将格式化的字符串 GUID 转换为其十六进制字符串形式,请执行以下步骤:
-
将以下代码粘贴到 .vbs 文件中。
'================================================================ ' Replace the value of strGUID with an actual GUID '================================================================ strGUID = "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}" Set obj = GetObject("LDAP://<GUID=" & ConvertStringGUIDToHexStringGUID(strGUID) & ">") MsgBox "The octet guid for " & obj.Get("displayname") & " is " & obj.GUID '================================================================ ' ConvertGUIDtoOCTET function '================================================================ Function ConvertStringGUIDToHexStringGUID(strGUID) Dim octetStr, tmpGUID For i = 0 To Len(strGUID) t = Mid(strGUID, i + 1, 1) Select Case t Case "{" Case "}" Case "-" Case Else tmpGUID = tmpGUID + t End Select Next octetStr = Mid(tmpGUID, 7, 2)' 0 octetStr = octetStr + Mid(tmpGUID, 5, 2)' 1 octetStr = octetStr + Mid(tmpGUID, 3, 2)' 2 octetStr = octetStr + Mid(tmpGUID, 1, 2)' 3 octetStr = octetStr + Mid(tmpGUID, 11, 2)' 4 octetStr = octetStr + Mid(tmpGUID, 9, 2)' 5 octetStr = octetStr + Mid(tmpGUID, 15, 2)' 6 octetStr = octetStr + Mid(tmpGUID, 13, 2)' 7 octetStr = octetStr + Mid(tmpGUID, 17, Len(tmpGUID)) ConvertGUIDtoOCTET = octetStr End Function -
运行该脚本。