我在远程 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/