-4

我必须获取系统(windows)用户名,系统(windows)当前密码,并使用 SERVLET 代码用新密码更改当前密码。

4

1 回答 1

3

无法获取当前的 Windows 密码。但是,如果您的 JVM 在具有管理员权限的用户帐户下运行,您可以使用ProcessBuilderclass 和 windowsnet user命令重置用户密码。

ProcessBuilder pb = new ProcessBuilder("net", "user", "someUsername", "somePassword");
Process pro = pb.start();

Process要检查命令的结果,请从方法返回的对象的错误流和输入流中读取exec

BufferedReader bre = null;
BufferedReader bri = null;
try{
    bre = new BufferedReader(new InputStreamReader(pro.getErrorStream()));
    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(line);
    while((line = bri.readLine()) != null)
        System.out.println(line);
} finally {
    if(bre != null)
        bre.close();
    if(bri != null)
        bri.close();
}
于 2013-07-31T17:18:12.267 回答