2016-07-03 64 views
-1

我想枚舉本地計算機上的所有現有組。WMI枚舉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())); 
} 

輸出例如:

\桌面2MSGC9J \ ROOT \ CIMV2:Win32_Group.Domain = 「桌面2MSGC9J」,名稱=「Utilisateurs du journal de performance「

在此輸出中,只有組名Name="Utilisateurs du journal de performances"對我很重要。

是一種做wmi查詢的方法,只返回這個元素在這個_object

另一個foreach_object也許。

回答

0

從wmi中獲取我的對象後,我找到一個使用substring的骯髒方法。

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