如何使用servlet获取和更改系统密码?

时间:2013-07-31 16:24:51

标签: java

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

1 个答案:

答案 0 :(得分:3)

无法获取当前的Windows密码。但是,如果您的JVM在具有管理员权限的用户帐户下运行,则可以使用ProcessBuilder类和Windows net 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();
}