2016-07-03 6 views
-1

Я пытаюсь перечислить все существующие группы на моем локальном компьютере.WMI Enumerate Win32_GroupUser с дружественным выходом

Вот что я попытался с помощью WMI:

string _class = "Win32_GroupUser"; 
string namespace = "\\\\.\\ROOT\\cimv2"; 

ManagementClass _class = new ManagementClass(namespace + ":" + class);  

foreach (ManagementObject _object in _class.GetInstances()) 
{ 
    richTextBox1.AppendText((_object["GroupComponent"].ToString())); 
} 

Выходной пример:

\ DESKTOP-2MSGC9J \ корень \ cimv2: Win32_Group.Domain = "DESKTOP-2MSGC9J", Name = "Utilisateurs дю Журналь де спектаклей»

в этом выводе только название группы Name="Utilisateurs du journal de performances" важна для меня.

Это способ сделать запрос wmi, который возвращает этот элемент только в этом _object?

Другое foreach с _object возможно.

ответ

0

Я нашел грязный способ, используя substring после получения моего объекта из wmi.

foreach (ManagementObject _object in _class.GetInstances()) 
{ 
    string groups = _object["GroupComponent"].ToString(); 
    int i = groups.LastIndexOf('=') + 1; 
    string groupsName = groups.Substring(i); 
    richTextBox1.AppendText(groupsName + "\r\n\r\n"); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^