【问题标题】:Windows logged user informationsWindows 记录的用户信息
【发布时间】:2017-08-28 20:30:12
【问题描述】:

我想在 java 中创建一个应用程序来监控记录的用户活动(创建、删除、更新文件夹/文件)。 问题是我没有找到如何获取登录用户的操作系统(java应用程序在windows服务器上运行,用户在他们的机器上有windows,我想知道是否有办法获取windows版本登录的用户)。

BR, 米海

【问题讨论】:

    标签: java windows windows-10 windows-server-2012


    【解决方案1】:
    System.getProperty("os.version")
    

    如果它是一个 Web 应用程序,您可以使用用户代理标头。它可以很容易地改变,但值得一试。检查https://stackoverflow.com/a/1328393/5684110

    【讨论】:

    • 不是网页应用,是服务器端的独立应用
    【解决方案2】:

    您将使用 JNI 并调用本机(特定于 Windows 的 DLL)方法来获取信息。您必须自己创建这个 DLL(可能在 C/C++ 中)

    【讨论】:

      【解决方案3】:

      您要求的是特定于 Windows 的功能。我怀疑 Java 会支持这一点,因此您将需要一个本机模块(用 C/C++ 或其他东西编写)来读取该信息并通过 JNI 或本地套接字连接将其传递到您的 Java 应用程序中。也许您可以从 Active Directory 轮询这些数据。

      另一个想法是,您可以在启动时通过客户端 PC 上运行的另一个 Java 应用程序获取信息。这样你就可以监控文件系统的变化和一些基本的系统属性,比如操作系统名称和版本(见 Mustafa 的回答)。该应用程序将被静默下载到工作站并通过 Active Directory 自动运行,通过套接字、Web 或 Web 服务将数据发送到您的服务器应用程序。

      希望对你有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-07-30
        • 2018-09-07
        • 2020-07-07
        • 1970-01-01
        • 2023-03-10
        • 2021-03-11
        • 2023-03-18
        • 2010-12-17
        相关资源
        最近更新 更多