如果我与计算机管理进行比较,使用下面的代码并不会返回所有组名。我做错了吗?
更新:如果我重新启动我的应用程序,它会更新
C#代码
try
{
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("root\\CIMV2",
"SELECT * FROM Win32_GroupUser");
foreach (ManagementObject queryObj in searcher.Get())
{
String sGroupName = queryObj["GroupComponent"].ToString().Split(new[] { "Name=" }, StringSplitOptions.None).Last().Trim('"');
String sUsername = queryObj["PartComponent"].ToString().Split(new[] { "Name=" }, StringSplitOptions.None).Last().Trim('"');
}
}
catch (ManagementException exception)
{
MessageBox.Show("An error occurred while querying for WMI data: " + exception.Message);
}
答案 0 :(得分:2)
我相信Win32_GroupUser是用户和群组之间的关系。
如果某个群组没有用户,则不会包含该用户。
尝试查询Win32_Group。
答案 1 :(得分:1)
我将结果绑定到网格,你必须先将数据源设置为null - 这是我的问题。