Как я могу получить список пользователей Active Directory (только те пользователи, которые отображаются на экране входа в Windows)

Как я могу получить список пользователей Active Directory (только те пользователи, которые отображаются на экране входа в Windows)

Я пробовал много методов, используя библиотеку принципов Windows и команды выбора WMI. Я продолжаю получать Admministrator, Гость и некоторые другие VUSRNEIL-DELL. Ни одна из этих трех учетных записей не отображается на экране входа в систему. Как я могу различить эти типы пользователей?

2 ответа

//Add a reference on System.DirectoryServices.dll
    using System.DirectoryServices;    
    //Connect to your LDAP
    DirectoryEntry Ldap = new DirectoryEntry("LDAP://ADName", "Login", "Password");
    DirectorySearcher searcher = new DirectorySearcher(Ldap);
    //specify that you search user only by filtering AD objects
    searcher.Filter = "(objectClass=user)";
    //Loop on each users
     foreach( SearchResult result in searcher.FindAll() )
        {
           // On récupère l'entrée trouvée lors de la recherche
           DirectoryEntry DirEntry = result.GetDirectoryEntry();

           //On peut maintenant afficher les informations désirées
           Console.WriteLine("Login : " + DirEntry.Properties["SAMAccountName"].Value);
           Console.WriteLine("FirstName: " + DirEntry.Properties["sn"].Value);
           Console.WriteLine("LastName: " + DirEntry.Properties["givenName"].Value);
           Console.WriteLine("Email : " + DirEntry.Properties["mail"].Value);
           Console.WriteLine("Phone: " + DirEntry.Properties["TelephoneNumber"].Value);
           Console.WriteLine("Description : " + DirEntry.Properties["description"].Value);

           Console.WriteLine("-------------------");
        }

Проверьте классы Win32_LogonSession и Win32_LoggedOnUser (где Win32_LogonSession.LogonType='2') для текущего вошедшего в систему пользователя, который можно затем вернуть обратно в класс Win32_Account;)

Другие вопросы по тегам