C# 并非所有组都通过WMI返回

C# 并非所有组都通过WMI返回,c#,wmi,wmi-query,C#,Wmi,Wmi Query,使用下面的代码,如果与计算机管理进行比较,则不会返回所有组名。我做错什么了吗 更新:如果我重新启动应用程序,它会更新 C#代码 try { ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_GroupUser"); foreach (ManagementObject que

使用下面的代码,如果与计算机管理进行比较,则不会返回所有组名。我做错什么了吗

更新:如果我重新启动应用程序,它会更新

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

我相信Win32_GroupUser是用户和组之间的关系

如果组中没有用户,则不会包括该组


尝试查询Win32_组。

我将结果绑定到网格,您必须先将数据源设置为null-这是我的问题。

我添加了一个用户,但组没有添加-可能我必须重新启动?事实上,我刚发现在重新启动应用程序时它会更新,这很奇怪