我想在java中创建一个监视已记录用户活动的应用程序(创建,删除,更新文件夹/文件)。 问题是我没有找到如何获取已登录用户的操作系统(java应用程序在Windows服务器上运行,用户在他们的机器上有Windows,我想知道是否有办法获得Windows版本的记录的用户)。
的BR, 米哈伊
答案 0 :(得分:0)
System.getProperty("os.version")
如果是Web应用程序,您可以使用用户代理标头。它可以轻松改变,但值得尝试。检查https://stackoverflow.com/a/1328393/5684110。
答案 1 :(得分:0)
您将使用JNI并调用本机(特定于Windows的DLL)方法来获取信息。您必须自己创建此DLL(可能在C / C ++中)
答案 2 :(得分:0)
您要求提供特定于Windows的功能。我怀疑Java会支持它,因此您需要一个本机模块(用C / C ++或其他东西编写)来读取该信息并通过JNI或本地套接字连接将其传递到Java应用程序中。也许您可以从Active Directory中轮询该数据。
另一个想法是,您可以通过启动时在客户端PC上运行的另一个Java应用程序获取信息。这样您就可以监视文件系统中的更改以及操作系统名称和版本等一些基本系统属性(请参阅Mustafa的回答)。该应用程序将静默下载到工作站并通过Active Directory自动运行,通过套接字,Web或Web服务将数据发送到您的服务器应用程序。
希望这会对你有所帮助。