【问题标题】:Run exe using Java as administrator以管理员身份使用 Java 运行 exe
【发布时间】:2013-09-06 10:13:19
【问题描述】:

如果知道管理员登录名和密码,如何以管理员身份运行exe文件?

我试过了

Runtime.getRuntime().exec("runas /profile /user:Administrator \"cmd.exe /c Powrprof.dll,SetSuspendState\"");

但它要求输入密码,我想用 Java 代码编写管理员登录名和密码。

【问题讨论】:

  • 作为一般建议。阅读(并实施)所有When Runtime.exec() won't 的建议。然后忽略它引用exec 并使用ProcessBuilder 构建Process。还要将String arg 分解为String[] args,以说明本身包含空格的参数。
  • 建议不要直接使用 Runtime#exec() 方法来调用进程。如果您不使用被调用进程创建的流,它可能会导致两个进程(JVM 和被调用进程)挂起。您可以使用具有实用方法的 apache commons exec 库来使用与进程关联的流。

标签: java windows exe runtime.exec administrator


【解决方案1】:

请阅读runas命令的帮助。

NOTE:  Enter user's password only when prompted.
NOTE:  /profile is not compatible with /netonly.
NOTE:  /savecred is not compatible with /smartcard.

【讨论】:

  • 谢谢!但是除了“runas”之外,java没有其他替代方法来完成这项工作吗?
  • 如果您想存储密码,最好使用批处理脚本来处理。但我更希望用户输入密码,因为我们不知道密码是否已更改。
猜你喜欢
  • 1970-01-01
  • 2010-11-26
  • 1970-01-01
  • 2012-03-21
  • 1970-01-01
  • 2016-12-18
  • 2012-11-22
  • 2016-09-20
  • 2012-05-28
相关资源
最近更新 更多