Java 确定active directory用户是否启动了应用程序
我想知道是否以及哪个active directory用户启动了我的windows java应用程序 由于安全原因,我无法使用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
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();
}