Java 确定active directory用户是否启动了应用程序

Java 确定active directory用户是否启动了应用程序,java,windows,dns,Java,Windows,Dns,我想知道是否以及哪个active directory用户启动了我的windows java应用程序 由于安全原因,我无法使用System.getProperty(“user.name”)/System.getenv(“USERDOMAIN”) Advapi32Util.getUserName()和NTSystem.getName()似乎只返回本地用户,而不是启动应用程序的active directory用户 提前感谢您可以执行cmd命令并获得输出(如果您的安全允许的话) 然后,executeCm

我想知道是否以及哪个active directory用户启动了我的windows java应用程序

由于安全原因,我无法使用
System.getProperty(“user.name”)
/
System.getenv(“USERDOMAIN”)

Advapi32Util.getUserName()
NTSystem.getName()
似乎只返回本地用户,而不是启动应用程序的active directory用户


提前感谢

您可以执行cmd命令并获得输出(如果您的安全允许的话)


然后,executeCmdCommand(“whoami”)将返回“域/用户名”

,但这不只是返回当前登录的用户吗?但不是启动程序的active directory用户?
public static String executeCmdCommand(String command) 
{
    String result = null;
    try (var inputStream = Runtime.getRuntime().exec(command).getInputStream();
            var s = new Scanner(inputStream)) 
    {
        result = s.hasNext() ? s.next() : null;
    } 
    catch (IOException e) 
    {
        e.printStackTrace();
    }
    return Objects.requireNonNullElse(result, "").trim();
}