ログに記録されたユーザーのアクティビティを監視しているアプリケーションを作成したい(フォルダ/ファイルの作成、削除、更新)。 問題は、ログされたユーザーのOSを取得する方法が見つからなかったことです(JavaアプリケーションはWindowsサーバー上で実行されており、ユーザーは自分のマシン上にWindowsを持っており、Windowsバージョンを取得する方法があるかどうかを知りたい)ログインしたユーザーの数)。Windowsでログオンしたユーザー情報
のBR、 ミハイ
ログに記録されたユーザーのアクティビティを監視しているアプリケーションを作成したい(フォルダ/ファイルの作成、削除、更新)。 問題は、ログされたユーザーのOSを取得する方法が見つからなかったことです(JavaアプリケーションはWindowsサーバー上で実行されており、ユーザーは自分のマシン上にWindowsを持っており、Windowsバージョンを取得する方法があるかどうかを知りたい)ログインしたユーザーの数)。Windowsでログオンしたユーザー情報
のBR、 ミハイ
System.getProperty("os.version")
それはあなたがUser-Agentヘッダを使用することができるWebアプリケーションの場合。簡単に変更できますが、試してみる価値があります。 https://stackoverflow.com/a/1328393/5684110を確認してください。
JNIを使用し、ネイティブ(ウィンドウ固有のDLL)メソッドを呼び出して情報を取得します。このDLLをC/C++で作成する必要があります。
Windows固有の機能を求めています。私はJavaがそれをサポートしているかどうか疑問に思うので、その情報を読み込んでJNIまたはローカルソケット接続を介してJavaアプリケーションに渡すためにネイティブモジュール(C/C++などで書かれている)が必要になります。 Active Directoryからそのデータをポーリングできる可能性があります。
もう1つのアイデアは、起動時にクライアントPC上で実行されている別のJavaアプリケーションを通じて情報を取得できるということです。そうすれば、ファイルシステムの変更やOS名やバージョンなどの基本的なシステムプロパティを監視することができます(Mustafaの答えを参照)。アプリケーションは静かにワークステーションにダウンロードされ、自動的にActive Directory経由で実行され、ソケット、Web、またはWebサービス経由でサーバーアプリケーションにデータが送信されます。
希望すると、これが役立ちます。
はウェブアプリケーションではなく、サーバー側のスタンドアロンアプリケーションです –