Déterminer le nom de l'utilisateur

Soyez le premier à donner votre avis sur cette source.

Snippet vu 14 153 fois - Téléchargée 29 fois

Contenu du snippet

Ce bout de code permet de déterminer les informations sur l'utilisateur qui c'est identifié lors du login sous Windows (NT, 2000, XP).

Source / Exemple :


using System.Management;

ManagementScope ms = new ManagementScope(ManagementPath.DefaultPath);
System.Management.ManagementObject o;
SelectQuery q = new SelectQuery("Win32_NTLogEventUser");
ManagementObjectSearcher query = new ManagementObjectSearcher(ms, q);

ManagementObjectCollection queryCollection = query.Get();
Console.WriteLine("Interactive logons");
foreach( ManagementObject mo in queryCollection )
{
	o = new ManagementObject(mo["User"].ToString());
	Console.WriteLine("Fullname \t{0}", o["FullName"].ToString());
	Console.WriteLine("Name \t{0}", o["Name"].ToString());
	Console.WriteLine("Description \t{0}", o["Description"].ToString());

	mo.Dispose();
	o.Dispose();
}

Conclusion :


C'est une question que j'ai vue souvent sur les newsgroups et je n'ai jamais vu de réponse.
Visiter mon site <a href="http://perso.wanadoo.fr/laurent.kempe">Tech Head</a>.

A voir également

Ajouter un commentaire

Commentaires

Jean_Marc_1968
Messages postés
21
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
17 avril 2019
-
En effet Environnement a l'air plus simple de prime abord, mais comment en sortie le user fullname, par exemple ?
Je me dis que ça doit se faire, que je cherche peut-être mal, mais je ne trouve pas.
Le code de lkempe m'est donc bien utile.
Partant de son code je me fais une liste de tous les users, mais comment extraire les administrateurs et les users ?
Où trouver la liste des "champs" disponibles pour useraccount ?

Merci,
Jean-Marc
CSharpJSharp
Messages postés
98
Date d'inscription
samedi 17 septembre 2005
Statut
Membre
Dernière intervention
24 mai 2010
1 -
ça m'interesserais vivement ça mais c'est pas ce que je cherche exactement.
Mon problème est de récupérer le User (Session Windows) appartenant à un Domaine. Quand je codais mon site, il me récupère le nom de ma session Windows, mais quand je l'ai publié (localhost oubien une autre machine) il me récupère l'information à partir de IIS et il me retourne ASPNET.

Y'a-t-il une autre solution pour récupérer la bonne information (nom de la session Windows)?

Mes remerciements à tous.
ToblerOWNED
Messages postés
18
Date d'inscription
lundi 8 septembre 2003
Statut
Membre
Dernière intervention
8 novembre 2004
-
Ca ya pas a dire... Environment est bien plus simple à utiliser... dommage c'est du bon boulot
HolyDev
Messages postés
40
Date d'inscription
jeudi 27 mars 2003
Statut
Membre
Dernière intervention
5 février 2008
-
Sinon ya plus simple :

string NomUtilisateur = Environment.UserName;

Mais allez voir toutes les méthodes et les propriétés de Environment, c'est formidable !
cs_Pekka
Messages postés
12
Date d'inscription
lundi 13 mai 2002
Statut
Membre
Dernière intervention
30 octobre 2009
-
Qd ca arrive sur "ManagementObjectCollection queryCollection = query.Get();"
Il me dit : Acces refusé.
Que faire?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.