如何在java中获取活动目录域名

时间:2016-06-10 20:39:29

标签: java

请告诉我 如何从java获取活动目录域名 我试过这个     的System.out.println(System.getenv( “USERDOMAIN”)); 但我只得到电脑的名字

======================

我这样做了 InetAddress inet = InetAddress.getLocalHost(); InetAddress[] ips = InetAddress.getAllByName(inet.getCanonicalHostName()); usernameId.setText(System.getProperty("user.name")); if (ips != null) { for (int i = 0; i < ips.length; i++) { String[] str = ips[i].toString().split("/"); if (!(str[1].startsWith("169") || str[1].contains(":"))) System.out.println("Computer name: " + str[0] + "\nIp address: " + str[1]); computernameId.setText(str[0]);

我得到ip地址和computername.domainname

2 个答案:

答案 0 :(得分:2)

尝试使用

System.out.println(System.getenv("USERDNSDOMAIN"));

如果这不起作用,你可以(正如James Tanner所说)尝试解析你的系统变量来找到你想要的那个:

    Map<String, String> envMap = System.getenv();

    Iterator iter = envMap.entrySet().iterator();

    while (iter.hasNext()) {
        Map.Entry<String, String> pair = (Map.Entry<String, String>)iter.next();
        System.out.println(pair.getKey() + " = " + pair.getValue());
    }

答案 1 :(得分:1)

this article开始,尝试检查DomainName环境变量。

或者,从this question开始,尝试LOGONSERVER变量。

如果这不起作用,我建议您直接查看您的环境变量(方向因您运行的Windows版本而异),以找到实际包含该版本的Windows您正在寻找的信息,然后使用该信息。