java - 如何使用 Java 登录本地 Windows 用户帐户

标签 java windows

我在远程 Windows 2012 服务器上运行 Java 代码。服务器会有多个windows用户账号,比如用户X、用户N、用户W等。

我想在登录到管理员帐户时在每个帐户上执行一段特定的代码。

是否可以在另一个 Windows 用户帐户上执行部分代码(即登录帐户然后自动注销)?

注意:这与:

How to get Windows username in Java? - 因为我已经知道每个帐户的名称或 Creating a Windows user account with java - 因为我知道如何创建一个新帐户,但我不知道如何自动登录帐户并执行代码..

谢谢

最佳答案

马克,

IBM java 社区在 java 应用程序中使用 psexec.exe 来执行操作。 https://www.ibm.com/developerworks/community/blogs/738b7897-cd38-4f24-9f05-48dd69116837/entry/programmatically_connecting_to_remote_systems2?lang=en是希望这有帮助的 URL

    String psCommand = "<path_of_psexec>/psexec.exe \\\\"+currentServerHostname + " -u " + currentServerUser + " -p " + currentServerPass;
  psCommand = psCommand + " " + commandToRunOnRemoteMachine + " " + parameters;
  String[] cmd = new String[5];
  cmd[0]="cmd.exe";
  cmd[1]="/C";
  cmd[2]=psCommand;
  cmd[3]="";
  cmd[4]="";
  // Run remote command
  File f = new File(getCurrentWorkingDirectory() + "\\lib");
  Process p = Runtime.getRuntime().exec(cmd,null,f);

关于java - 如何使用 Java 登录本地 Windows 用户帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31784589/

相关文章:

java - 整数数组是如何在 JVM 内部存储的?

Java:正则表达式 - 一般组

c - WskSocketConnect——可能的内存损坏问题?

.net - 如何判断连接是否按流量计费?

windows - Windows 桌面应用程序和 Windows 应用商店应用程序有什么区别

java - JGraphX - 想要整个图表不可编辑

java - 小程序大小(15 兆字节)太重而无法加载?

java - 在 Jsoup 中使用 execute() 时出现 SocketTimeoutException

c++ - 使用 C++ 和 CryptoApi/SChannel 从 SChannel 中提取证书链

linux - DataTables bower 更新错误(多平台)