2015-08-03 129 views
2

我在遠程Windows 2012服務器上運行Java代碼。服務器將有多個Windows用戶帳戶,如用戶X,用戶N,用戶W等。如何使用Java登錄到本地Windows用戶帳戶

我想在登錄到管理員帳戶的同時在每個帳戶上執行特定的代碼部分。

是否可以在另一個Windows用戶帳戶上執行一部分代碼(即登錄到帳戶然後自動註銷)?

注:這是不一樣的:

How to get Windows username in Java? - 因爲我已經知道每個賬戶或Creating a Windows user account with java的名字 - 因爲我知道如何創建一個新帳戶,但我不知道如何自動登錄考慮到並執行代碼..

感謝

回答

0

馬克,使用Java應用程序的內部psexec.exe要執行的操作

IBM Java社區。 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);