private static ManagementObjectSearcher query;
private static ManagementObjectCollection queryCollection;
private static DataTable usersData;
public static DataTable GetUsers(string domain)
{
if(usersData == null)
{
usersData = new DataTable();
usersData.Columns.Add("Users");
ManagementScope msc = new ManagementScope();
// WHERE Domain=\"" + domain + "\"
string queryString = "SELECT * FROM Win32_UserAccount ";
SelectQuery q = new SelectQuery(queryString);
query = new ManagementObjectSearcher(msc, q);
queryCollection = query.Get();
foreach (ManagementObject mo in queryCollection)
{
DataRow dr = usersData.NewRow();
dr["Users"] = mo["Name"] ;
usersData.Rows.Add(dr);
}
}
return usersData;
}