2013-04-21 29 views
1

是否可以使用Java更改用戶密碼和/或組。Windows密碼和組

誰在運行Java代碼的用戶具有管理員權限。

能夠通過Java獲取Windows用戶列表。

回答

0

有一個控制檯命令net user,其可被用來改變用戶的口令。
該命令是net user userName newPassword
使用Desktop.getDesktop().open("file name"); //找到net命令的路徑。
如果可以的話,找一個更好的方法來執行。

4

更簡單的方法來更改用戶密碼使用Runtime類。

Runtime.getRuntime().exec("net user someUsername somePassword"); 

而且您可以使用net localgroup windows命令添加或刪除組。

Runtime.getRuntime().exec("net localgroup someGroup someUser /add"); 
Runtime.getRuntime().exec("net localgroup someGroup someUser /delete"); 

要檢查該命令是否成功與否,exec方法返回一個Process對象。您可以從它讀取錯誤和輸入流來獲取命令輸出。

Process pro = Runtime.getRuntime().exec("net user someUsername somePassword"); 
BufferedReader bre = new BufferedReader(new InputStreamReader(pro.getErrorStream())); 
BufferedReader bri = new BufferedReader(new InputStreamReader(pro.getInputStream())); 
pro.waitFor(); //wait for the command to finish 
String line; 
while((line = bre.readLine()) != null) 
    System.out.println(bre.readLine()); 
while((line = bri.readLine()) != null) 
    System.out.println(bri.readLine()); 
+0

你確定那是作者的意圖是什麼?僅限Windows的命令? – 2013-07-31 21:26:49

+0

@ D.R。問題用[tag:windows]標記,並在正文中提到了Windows,所以我會這樣認爲。 – Vulcan 2013-07-31 21:35:04

+0

儘管如此,我仍然不滿意使用官方API而不是使用幽靈cmd命令的解決方案。 – 2013-07-31 21:36:19