当前位置: 首页 > 知识库问答 >
问题:

获取一个对象的名称通过LDAP解析其GUID在ActiveDirectry中Java

马正初
2023-03-14

nxlog生成的日志中有一个具有此格式的打印机设备GUID:

119d0d80-699d-4e81-8e4e-5477e22ac1b3

我想通过LDAP解析设备的GUID来获取设备名称。然而,我遇到的最近的字段是ldapsearch响应中的objectGUID,它显然是一个Base64编码值:

对象GUID::fuAW6fefLke30d46TDTUWA==

这两个GUID在任何方面都是相对的吗?(换句话说,我应该在格式转换后在AD中的对象GUID字段中搜索第一个GUID吗?

如何在java中使用LDAP查询来获取对象名称?

无法通过方法和下面的代码实现这一点:

        //Create the initial directory context
        LdapContext ctx = new InitialLdapContext(env,null);

        //Bind directly using the string form of the GUID
        String strGUID = "<GUID="+guid+">";

        //Specify the attributes to return
        String returnedAtts[]={"distinguishedName"};

        Attributes attr = ctx.getAttributes(strGUID,returnedAtts);

        //print out the retrieved attributes
        if(attr!=null)
            distinguishedName = attr.get("distinguishedName").get().toString();
        System.out.println("distinguishedName: " + distinguishedName);

        ctx.close();

我得到了NameNotFoundException:

javax.naming.NameNotFoundException: [LDAP: error code 32 - 0000208D: NameErr: DSID-0310021B, problem 2001 (NO_OBJECT), data 0, best match of:
    ''

是名称的格式(<代码>

共有1个答案

冷吉星
2023-03-14

与必须的GUID相比,Microsoft Active Directory中使用的ObjectGuid有点奇怪。

你必须应对包括持久性在内的几个方面

我确实找到了一些Java代码的引用。

 类似资料:
  • 问题内容: 像这样,A a = new A(),如何获得a的名称?(从a中获得字符串“ a”)? 有一个JPanel包含一些JTextField,一个映射包含所有JTextField的名称(变量的名称)。我想将地图的值设置为JTextFields的文本。 跨过getName()方法,我得到了null -_-我知道getName()方法不用于获取变量名。我正在使用netbeans进行Java swi

  • 问题内容: 我有一个非常简单的JavaScript对象,用作关联数组。是否有一个简单的函数可以让我获取值的键,还是必须迭代该对象并手动找到它? 问题答案: 使用Underscore.js库:

  • 问题内容: 有什么解决方案来获取对象的函数名称? -没有有关或的信息。有可能得到其中之一吗? 问题答案: 获取对象的构造函数,然后检查其name属性。 返回“ myClass”。

  • 问题内容: 我想知道JavaScript中是否有任何方法可以像这样遍历对象。 但是这样获取每个属性的名称。 我似乎在Google上找不到类似的东西。他们说与他们一起传递变量的名称,但这不是我要实现的选择。 谢谢你的尽心帮助。 问题答案: 使用Object.keys(): 给您一个属于输入对象的属性名称数组。

  • 问题内容: 是否有一个JavaScript的等效的Java的? 问题答案: 是否有与Java等效的JavaScript ? 没有 。 名称为。不论类别如何,的类别名称均为。ES2015环境中的内置构造函数具有正确的属性;例如是。 但是,这里有各种各样的骇客,它们都以一种或另一种方式下降: 这是一种可以满足您需要的技巧-请注意,它会修改Object的原型,而人们对此并不满意(通常是出于充分的理由)

  • 本文向大家介绍JavaScript 获取函数对象的名称,包括了JavaScript 获取函数对象的名称的使用技巧和注意事项,需要的朋友参考一下 示例 6 ES6: 关于MDN的说明。自2015年起,可以在nodejs和除IE之外的所有主要浏览器中使用。 5 ES5: 如果您有对该功能的引用,则可以执行以下操作: