我在远程Windows 2012服务器上运行Java代码。服务器将具有多个Windows用户帐户,例如用户X,用户N,用户W等。
我想在登录管理员帐户时在每个帐户上执行特定的代码段。
是否可以在另一个Windows用户帐户上执行一部分代码(即登录帐户然后自动注销)?
注意:这与:
不同How to get Windows username in Java? - 因为我已经知道每个帐户的名称或Creating a Windows user account with java - 因为我知道如何创建新帐户但我不知道如何自动登录帐户并执行代码..
由于
答案 0 :(得分:0)
马克,
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是希望这有助于
的网址 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);