Java Windows密码和组

Java Windows密码和组,java,windows,Java,Windows,是否可以使用Java更改用户密码和/或组 运行java代码的用户具有管理员权限 并且可以使用java获取windows用户列表。有一个控制台命令net user,可用于更改用户密码。 该命令是net user userName newPassword。 使用Desktop.getDesktop.openfile name;//找到该net命令的路径。 如果可以,请找到更好的执行方法。有一个控制台命令net user,可用于更改用户密码。 该命令是net user userName newPass

是否可以使用Java更改用户密码和/或组

运行java代码的用户具有管理员权限


并且可以使用java获取windows用户列表。

有一个控制台命令net user,可用于更改用户密码。 该命令是net user userName newPassword。 使用Desktop.getDesktop.openfile name;//找到该net命令的路径。
如果可以,请找到更好的执行方法。

有一个控制台命令net user,可用于更改用户密码。 该命令是net user userName newPassword。 使用Desktop.getDesktop.openfile name;//找到该net命令的路径。
如果可以,请找到更好的执行方法。

更改用户密码的更简单方法是使用Runtime类

您可以使用netlocalgroupwindows命令添加或删除组

Runtime.getRuntime().exec("net localgroup someGroup someUser /add");
Runtime.getRuntime().exec("net localgroup someGroup someUser /delete");
要检查命令是否成功,exec方法将返回一个进程对象。您可以读取它的错误和输入流以获得命令输出

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());

更改用户密码的更简单方法是使用运行时类

您可以使用netlocalgroupwindows命令添加或删除组

Runtime.getRuntime().exec("net localgroup someGroup someUser /add");
Runtime.getRuntime().exec("net localgroup someGroup someUser /delete");
要检查命令是否成功,exec方法将返回一个进程对象。您可以读取它的错误和输入流以获得命令输出

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());

你确定这是作者的意图吗?Windows only commands?@D.R.这个问题在正文中被标记并提到了Windows,所以我假设是这样。不过,我总是不满意一个解决方案,它不是使用官方API,而是依赖幽灵般的cmd命令。无论如何,没有官方API来执行这些命令,而不是通过Windows。唯一的另一种方法是,如果作者使用的是Active Directory服务器,而您要通过JNDI修改用户和组,但在我看来,考虑到问题的陈述方式,这不太可能是作者真正想要的。我同意这不是一个理想的解决方案,但对于更改本机windows用户的密码,它确实是唯一的解决方案。你确定这是作者的意图吗?Windows only commands?@D.R.这个问题在正文中被标记并提到了Windows,所以我假设是这样。不过,我总是不满意一个解决方案,它不是使用官方API,而是依赖幽灵般的cmd命令。无论如何,没有官方API来执行这些命令,而不是通过Windows。唯一的另一种方法是,如果作者使用的是Active Directory服务器,而您要通过JNDI修改用户和组,但在我看来,考虑到问题的陈述方式,这不太可能是作者真正想要的。我同意这不是一个理想的解决方案,但对于更改本机windows用户的密码,它确实是唯一的解决方案。