我必須使用SERVLET代碼獲取系統(Windows)用戶名,系統(Windows)當前密碼並使用新密碼更改當前密碼。如何使用servlet獲取和更改系統密碼?
回答
獲取當前的Windows密碼是不可能的。但是,如果您的JVM在具有管理員權限的用戶帳戶下運行,則可以使用ProcessBuilder
類和windows net user
命令來重置用戶密碼。
ProcessBuilder pb = new ProcessBuilder("net", "user", "someUsername", "somePassword");
Process pro = pb.start();
要檢查該命令,從中讀取的結果是錯誤流和由exec
方法返回的Process
對象的輸入流。
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();
}
[不要使用Runtime#exec](http://www.javaworld.com/jw-12-2000/jw-1229-traps.html?page=1),使用[ProcessBuilder](http ://docs.oracle.com/javase/1.5.0/docs/api/java/lang/ProcessBuilder.html)。另外,您不要閱讀正確的過程輸出,參見[字符流的基本I/O教程](http://docs.oracle.com/javase/tutorial/essential/io/charstreams.html)。你這樣做的方式可能會使進程輸出在緩衝區中未讀。 – linski
已更新。 BufferedReader上的有效點,寫得很快,不知道我在想什麼。並感謝關於Runtime#exec的信息。 – Syon
np,很高興幫助。 upovted。 – linski
- 1. 如何獲取和更改Windows憑據用戶名和密碼
- 2. 使用系統密碼更新保存的密碼
- 3. 更改密碼獲取請求不更改密碼
- 4. 我們如何獲得使用java的系統密碼?
- 5. 如何從Windows操作系統獲取當前用戶名和密碼。
- 6. 用PHP腳本更改用戶系統密碼
- 7. 如何使用Java獲取系統IP?
- 8. 如何使用Java獲取系統IP?
- 9. 如何使用Perl更改mysql密碼
- 10. 如何使用zend更改ldap密碼
- 11. 如何更改android系統
- 12. 更改子系統上的用戶密碼SAP
- 13. 如果您更改密碼,如何使用密碼?
- 14. 如何爲用戶更新密碼系統?
- 15. 需要改進的密碼系統catagorization
- 16. 如何獲取系統ioWait
- 17. 使用系統密碼充當應用程序的密碼
- 18. 如何從系統調用號碼獲取Linux系統調用名稱?
- 19. 使用JPasswordField更改密碼
- 20. 使用AWS.CognitoIdentityServiceProvider更改密碼
- 21. 如何使用python獲取系統代理設置(包括用戶名和密碼)?
- 22. 如何使用NSXMLParser獲取DTD的公共和系統ID
- 23. 如何更改LAMP密碼?
- 24. 如何更改ActiveAdmin密碼?
- 25. 如何更改密碼
- 26. 如何更改Tomcat密碼?
- 27. Softlayer API:如何更新CCI的操作系統用戶名和密碼
- 28. 安全問題:通過python更改系統密碼
- 29. 將密碼字段更改爲實時系統上的文本
- 30. 不能在我的本地系統中更改Drupal 7密碼?
有沒有辦法做到這一點。 – George
你的「系統」是什麼? – Behe
任何桌面安裝與窗口 –