如何使用ObjectQuery获取本地用户的所有组?

吉拉亚

我尝试显示一个特殊用户所在的所有组。我也知道,我可以这样做:

 public static List<Principal> getUsers(){
     PrincipalContext context = new PrincipalContext(ContextType.Machine, "computername");
        PrincipalSearcher search = new PrincipalSearcher(new UserPrincipal(context));
        return search.FindAll().ToList();

    }

但是我想在PrincipalContext周围工作,因为我需要在PC上远程使用它,而该域没有域。所以我尝试了这个:

 public static void findUsers()
    {
        ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_Group WHERE LocalAccount.Name =\'Test'");
        ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
        var result = searcher.Get();
         foreach (var envVar in result)
        {
            Console.WriteLine("GroupName: {0}", envVar["Name"]);
        }
        Console.ReadLine();
    }

它给了我一个异常,因为查询不正确。

非常感谢您的任何帮助。

吉拉亚

@Edper您的提示非常好,但是我使用了另一种方法来解决我的问题。

任务是只输入远程服务器的用户名和IP,然后获取该本地用户所在的所有组。

class Program
{
    static ManagementScope scope =
           new ManagementScope(
               "\\\\ServerIP\\root\\cimv2");
    static string username = "Test";


    static void Main(string[] args)
    {
        string partComponent = "Win32_UserAccount.Domain='Domain',Name='"+username+"'";
        ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_GroupUser WHERE PartComponent = \"" + partComponent + "\"");
        using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query))
        {
            var result = searcher.Get();
            foreach (var envVar in result)
            {
                ManagementObject groupComponent = new ManagementObject("\\\\ServerIP\\root\\cimv2", envVar["GroupComponent"].ToString(), null);
                Console.WriteLine(groupComponent["Name"]);
            }
        }
        Console.ReadLine(); 
    }
}

当然,这还没有完成jet(GUI正在进行中),但是现在我已经做了。

如果要测试它,则需要在远程PC上创建一个本地用户,该本地用户具有与运行该代码的用户相同的用户名和密码(并且该用户需要管理员权限)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

程序使用C编程中的Win32 API获取所有本地用户及其对给定文件的许可

来自分类Dev

WDF桌面应用程序带有MDF,所有本地用户都在本地使用

来自分类Dev

删除所有 UID 大于 1000 的本地用户

来自分类Dev

VB获取本地用户列表

来自分类Dev

如何使用Powershell或其他工具(递归)获取所有AD用户组?

来自分类Dev

如何使用 ActiveDirectory 库从 LDAP AD 组中获取所有用户?

来自分类Dev

Windows 7 Home上的本地用户和组管理?

来自分类Dev

XRDP:如何在没有本地用户登录的情况下获得远程终端服务?

来自分类Dev

如何在没有电子邮件请求的情况下创建本地用户

来自分类Dev

在没有本地用户的情况下使用OpenSSH Server

来自分类Dev

如何将本地用户迁移到域用户?

来自分类Dev

oracle 10g〜获取本地用户列表

来自分类Dev

未在后台获取时创建本地用户通知

来自分类Dev

如何在单个请求中使用 MS Graph 获取组织中的所有用户及其成员组

来自分类Dev

如何进行查询以获取用户的所有组,以显示每个组具有的用户(PostgreSQL)

来自分类Dev

我可以设置 samba 让它自动允许所有本地用户名和密码吗?

来自分类Dev

如何添加“系统”本地用户,如mysql或tomcat?

来自分类Dev

Docker:如何为本地用户授予root权限?

来自分类Dev

如何访问本地用户的Microsoft Graph API数据

来自分类Dev

如何添加“系统”本地用户,如mysql或tomcat?

来自分类Dev

如何在Windows 8.1中创建本地用户?

来自分类Dev

如何以本地用户身份运行btsync服务?

来自分类Dev

如何找到每个本地用户运行的作业

来自分类Dev

无需本地用户身份验证本地用户

来自分类Dev

在Windows上以本地用户的身份使用Node.js

来自分类Dev

JavaScript仅在本地用户上使用图像

来自分类Dev

FTP:以本地用户身份使用不同的密码连接

来自分类Dev

使用单个命令仅列出本地用户帐户

来自分类Dev

如何获取所有不在内置特权组中且具有Admincount = 1的用户?

Related 相关文章

  1. 1

    程序使用C编程中的Win32 API获取所有本地用户及其对给定文件的许可

  2. 2

    WDF桌面应用程序带有MDF,所有本地用户都在本地使用

  3. 3

    删除所有 UID 大于 1000 的本地用户

  4. 4

    VB获取本地用户列表

  5. 5

    如何使用Powershell或其他工具(递归)获取所有AD用户组?

  6. 6

    如何使用 ActiveDirectory 库从 LDAP AD 组中获取所有用户?

  7. 7

    Windows 7 Home上的本地用户和组管理?

  8. 8

    XRDP:如何在没有本地用户登录的情况下获得远程终端服务?

  9. 9

    如何在没有电子邮件请求的情况下创建本地用户

  10. 10

    在没有本地用户的情况下使用OpenSSH Server

  11. 11

    如何将本地用户迁移到域用户?

  12. 12

    oracle 10g〜获取本地用户列表

  13. 13

    未在后台获取时创建本地用户通知

  14. 14

    如何在单个请求中使用 MS Graph 获取组织中的所有用户及其成员组

  15. 15

    如何进行查询以获取用户的所有组,以显示每个组具有的用户(PostgreSQL)

  16. 16

    我可以设置 samba 让它自动允许所有本地用户名和密码吗?

  17. 17

    如何添加“系统”本地用户,如mysql或tomcat?

  18. 18

    Docker:如何为本地用户授予root权限?

  19. 19

    如何访问本地用户的Microsoft Graph API数据

  20. 20

    如何添加“系统”本地用户,如mysql或tomcat?

  21. 21

    如何在Windows 8.1中创建本地用户?

  22. 22

    如何以本地用户身份运行btsync服务?

  23. 23

    如何找到每个本地用户运行的作业

  24. 24

    无需本地用户身份验证本地用户

  25. 25

    在Windows上以本地用户的身份使用Node.js

  26. 26

    JavaScript仅在本地用户上使用图像

  27. 27

    FTP:以本地用户身份使用不同的密码连接

  28. 28

    使用单个命令仅列出本地用户帐户

  29. 29

    如何获取所有不在内置特权组中且具有Admincount = 1的用户?

热门标签

归档