2016-07-03 24 views
-1

Ich versuche, alle vorhandenen Gruppen auf meinem lokalen Computer aufzuzählen.WMI Enumerate Win32_GroupUser mit freundlicher Ausgabe

Das ist, was ich mit wmi versucht:

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())); 
} 

Ausgabebeispiel:

\ DESKTOP-2MSGC9J \ root \ cimv2: Win32_Group.Domain = "DESKTOP-2MSGC9J" Name = "Utilisateurs du journal de Performances“

In dieser Ausgabe nur der Gruppenname Name="Utilisateurs du journal de performances" ist mir wichtig.

Ist eine Möglichkeit, eine WMI-Abfrage, die nur dieses Element in diesem _object zurückgeben?

Andere foreach mit _object vielleicht.

Antwort

0

Ich finde einen schmutzigen Weg mit substring nach dem Erhalt meines Objekts von 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"); 
}