我正在使用LDAP Administrator 2013.1而我正在寻找对象GUID。
ObjectGUID
是{824582FD-5728-4C54-B699-D701D9D48196}
可以选择执行LDAP SQL查询
看起来很简单,但我无法让它发挥作用。
我的查询是:
SELECT $name
FROM "OU=Workstations,OU=Vista,DC=lab,DC=local"
WHERE $currentValue = '{824582FD-5728-4C54-B699-D701D9D48196}' PAGESIZE 2
我正在尝试输出ObjectGUID
{824582FD-5728-4C54-B699-D701D9D48196}
我知道它就在那里,因为我手动查找了它......
提前感谢您的帮助。
答案 0 :(得分:6)
ObjectGUID是一种特殊的二进制类型,因此无法在尝试时直接使用字符串表示法查询。
以下是来自Joe Kaplan的a post在另一个介绍如何执行此操作的论坛:
...过滤字符串看起来像这样:
(objectGUID = \ BA \ EF \ 9F \ 88 \ DD \ E8 \ 5E \ 46 \ 9B \ F8 \ 0E \ 0C \ 4 1 \ 12 \ 9D \ 40)
对于此GUID:
889FEFBA-E8DD-465E-9BF8-0E0C41129D40
基本上,你需要获取你拥有的COM字符串GUID, 将其转换为二进制GUID,然后将该二进制数据转换为 八位字符串,每个二进制字节前缀为\,如上所示。
如果您需要帮助,可以发布一个小的.NET实用程序 在www.directoryprogramming.net的文件部分调用 GUIDConverter为您完成这些转换。
因此,您唯一缺少的部分是将GUID的字符串表示形式转换为二进制文件并正确格式化查询。字节数组序列是:
[3] [2] [1] [0] - [5] [4] - [7] [6] - [8] [9] - [10] [11] [12] [13] [14] [15]