2017-04-03 3 views
0

Je veux créer une application en Java qui surveille les activités des utilisateurs connectés (créer, supprimer, mettre à jour des dossiers/fichiers). Le problème est que je n'ai pas trouvé comment obtenir le système d'exploitation de l'utilisateur connecté (l'application Java s'exécute sur un serveur Windows et les utilisateurs ont des fenêtres sur leur machine, je veux savoir s'il existe un moyen d'obtenir la version Windows des utilisateurs connectés).Informations d'utilisateur Windows enregistrées

BRs, Mihai

Répondre

0
System.getProperty("os.version") 

Si c'est une application Web que vous pouvez utiliser en-tête de l'agent utilisateur. Cela peut changer facilement, mais vaut la peine d'essayer. Vérifiez https://stackoverflow.com/a/1328393/5684110.

+0

n'est pas une application Web, est une application autonome côté serveur –

0

Vous utiliseriez JNI et appelez une méthode native (DLL spécifique à Windows) pour obtenir les informations. Vous devrez créer cette DLL vous-même (probablement en C/C++)

0

Vous demandez une fonctionnalité spécifique à Windows. Je doute que Java supporte cela, donc vous aurez besoin d'un module natif (écrit en C/C++ ou autre) pour lire ces informations et les transmettre dans votre application Java via JNI ou une connexion socket locale. Peut-être pourriez-vous interroger ces données à partir d'Active Directory.

Une autre idée est, vous pourriez obtenir l'information grâce à une autre application Java fonctionnant sur le PC client au démarrage. De cette façon, vous serez capable de surveiller les changements dans le système de fichiers et certaines propriétés système de base comme le nom et la version du système d'exploitation (voir la réponse de Mustafa). L'application serait téléchargée silencieusement dans le poste de travail et exécutée automatiquement via Active Directory, envoyant les données à votre application serveur via socket, web ou un service web.

J'espère que cela vous aide.