2016-07-03 13 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())); 
} 

出力例:Win32_Group.Domain = "デスクトップ2MSGC9J"、名前= "Utilisateurs:

デスクトップ2MSGC9J \ルートの\ CIMV2 \ デュジャーナル・デ公演」この出力で

グループ名のみName="Utilisateurs du journal de performances"は私にとって重要です。

_objectの要素のみを返すwmiクエリを実行する方法はありますか?

もう1つの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"); 
} 
関連する問題