В настоящее время я пишу Java-приложение, которое будет использоваться с Windows-машиной, авторизованной с ActiveDirectory. В основном приложение должно знать только имя пользователя и имя хоста. Я знаю, что есть
System.getProperty("user.name")
и
java.net.InetAddress.getLocalHost().getHostName()
Но я не уверен, что System.getProperty ("user.name") будет правильно работать с виртуальной машиной, работающей в Windows (я искал в Google и обнаружил множество потоков, сообщающих, что может не работать с окна, поскольку это может вернуть что-то другое, в зависимости от переменных среды
(и я в настоящее время не могу проверить это [я использую ubuntu и archLinux]).
Итак, я подумал, есть ли лучший и более безопасный способ справиться с этим, и наткнулся на NTSystem .
Но NTSystem, по-видимому, недоступна в Linux (которую я использую для разработки), что, как мне кажется, связано с вызовом собственного кода Windows.
Следовательно, мой вопрос будет звучать так: «Есть ли безопасный способ восстановить имя пользователя, вошедшего в систему, в Windows, и если да - как бы вы этого достигли?»