Soyez le premier à donner votre avis sur cette source.
Snippet vu 15 061 fois - Téléchargée 25 fois
using System.Management; namespace glcSystem { public class glcSystemUtil { /// <summary> /// Return the SID associated to a username /// </summary> /// <param name="_oUsername">SID of username to get.</param> /// <returns>Return a string like S-1-5-21-1844237615-73586283-725345543-1003</returns> public static string GetUserSID (string _oUsername) { ManagementObjectSearcher query; ManagementObjectCollection queryCollection; // local scope ConnectionOptions co = new ConnectionOptions(); co.Username = _oUsername; ManagementScope msc = new ManagementScope ("\\root\\cimv2",co); string queryString = "SELECT * FROM Win32_UserAccount where name='" +co.Username +"'"; SelectQuery q = new SelectQuery (queryString); query = new ManagementObjectSearcher(msc, q); queryCollection = query.Get(); string res = String.Empty; foreach(ManagementObject mo in queryCollection) { // there should be only one here! res+= mo["SID"].ToString(); } return res; } } }
Hashtable oUsername2SID = new Hashtable();
oUsername2SID.Add ("Vincent", "S-1-5");
oUsername2SID.Add ("Scoubidou", "S-1-5-11111");
string oResult;
oResult = (string)oUsername2SID["Scoubidou"];
// oResult vaudra "S-1-5-11111"
// ATTENTION A LA CASSE sinon ca renvoi null
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.