ユーザが所属するグループを列挙
投稿の使いまわし。(^^;
using System;
using System.Management;
class Program {
[STAThread]
static void Main(string[] args) {
// ドメインとユーザを指定して所属するグループを取得するクエリー
string s = String.Format("select * from Win32_GroupUser where "
+ "PartComponent=\"Win32_Account.Domain='{0}',Name='{1}'\"",
Environment.UserDomainName, Environment.UserName);
// クエリーの実行
SelectQuery query = new SelectQuery(s);
ManagementObjectSearcher ms = new ManagementObjectSearcher(query);
Console.WriteLine("{0}\\{1}が所属するのは、", Environment.UserDomainName, Environment.UserName);
foreach (ManagementObject mo in ms.Get()) {
// グループのパスを取得する
string path = mo["GroupComponent"].ToString();
// パスからグループオブジェクトを作成
ManagementObject go = new ManagementObject(path);
// グループの名前を取得
Console.WriteLine(go["Name"]);
}
}
}
/* 結果
PRIME64\meiが所属するのは、
Administrators
Debugger Users
*/