Windows - Hent FQDN i Java

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at få FQDN til en Windows-maskine på mit domæne ved hjælp af Java-kode.


Jeg har prøvet InetAddress.getByName("machine-1").getCanonicalHostName(), men returnerer kun maskinens navn.


På den anden side, hvis jeg ping 'machine-1', får jeg det fulde domænenavn.


Ved du hvordan man gør det?

Bedste reference


Det enkle svar er, at det, du foreslår, fungerer, hvis det kan.


API'en angiver, at det vil returnere FQDN, hvis det kan. Dette afhænger af systemkonfigurationen.


Koden, du sender, fungerer for mig på en Windows Domain-maskine, men jeg kan ikke sige, hvorfor det ikke ville være for dig.


Hvis du ikke kan ændre maskine/domæne konfigurationen sådan at java kan hente den op, og det er vigtigt for din kode at bruge det FQDN, kan du ty til at udføre ping-kommandoen fra java og analysere resultaterne som en midlertidig måle.

Andre referencer 1


Super sent svar, måske vil det hjælpe den næste rejsende.


InetAddress.getLocalHost().getCanonicalHostName() 


Dette vil returnere FQDN - Min JVM version er 1.8.0\_144


Jeg fandt denne JDK fejlrapport http://bugs.java.com/view\_bug.do?bug\_id=7166687 som kan forklare, hvorfor der er så meget forvirring. [4]


InetAddress.getLocalHost().getHostName()


Dette returnerer bare værtsnavnet nu.