2016-03-02 21 views
0

我需要一個網絡用戶名,但我不知道如何!如何在java中獲取網絡用戶名?

我嘗試 "System.getenv("USERNAME")"

"System.getProperty("user.name")"

"new com.sun.security.auth.module.NTSystem().getName()"

,但沒有工作,他們得到本地的用戶名,在服務器上他們得到"server806"和可能的網絡用戶名是"pc8695"

如何在客戶端PC上獲取客戶端用戶名?

+0

如果沒有Java,你會怎麼做?也就是說,Windows中是否有一個命令行工具可以返回你想要的信息?或者,對於JNA,即使調用API也可能相當容易。 – erickson

+0

究竟是一個網絡用戶名?你在談論一個特定的網絡服務嗎?你的企圖只應該給你的Windows用戶... – f1sh

+0

我需要獲取用戶名登錄客戶端機器 – user3061516

回答

0

顯示所有的環境變量(名稱:值)這樣

Map<String, String> env = System.getenv(); 
    for (String envName : env.keySet()) { 
     System.out.format("%s=%s%n", 
          envName, 
          env.get(envName)); 
    } 

後來看到正是你所需要的關鍵。

+0

不要得到網絡用戶名登錄電腦客戶端 – user3061516

+0

你嘗試過嗎? 'System.getProperty(「user.name」);'http://stackoverflow.com/questions/473446/java-current-machine-name-and-logged-in-user – DayaMoon

相關問題