2013-04-21 51 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