Как получить все группы на локальном компьютере с управляемым кодом (без P / Invoke) - PullRequest
0 голосов
/ 26 апреля 2018

Итак, я искал ответ на этот вопрос на SO, и казалось, что все, с чем я сталкивался, было для Active Directory или чего-то подобного. Для локальной машины не было примеров для этого.

По сути, цель состоит в том, чтобы получить все группы пользователей в системе. Те же, что вы увидите, если запустите Управление компьютером, перейдите к Системные инструменты> Локальные пользователи и группы> Группы

1 Ответ

0 голосов
/ 26 апреля 2018
using (PrincipalContext context = new PrincipalContext(ContextType.Machine))
{
    using (GroupPrincipal groupPrincipal = new GroupPrincipal(context))
    {
        groupPrincipal.Name = "*";

        PrincipalSearcher principalSearcher = new PrincipalSearcher();
        principalSearcher.QueryFilter = groupPrincipal;
        PrincipalSearchResult<Principal> groupList = principalSearcher.FindAll();

        foreach (Principal group in groupList)
        {
            // Do something with info
        }
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...