请告诉我 如何从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
答案 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您正在寻找的信息,然后使用该信息。