0

如何获取 Active Directory 用户列表(仅显示在 Windows 登录屏幕中的用户)

我尝试了许多使用 Windows Principle 库和 WMI Select 命令的方法。我不断收到管理员、访客和其他一些 VUSRNEIL-DELL。这 3 个用户帐户都不会出现在登录屏幕上。如何区分这些用户类型?

4

2 回答 2

1
//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("-------------------");
        }
于 2012-08-25T18:40:22.247 回答
0

检查当前登录用户的Win32_LogonSessionWin32_LoggedOnUser类(其中 Win32_LogonSession.LogonType='2'),然后您可以将其关联回Win32_Account类;)

于 2012-08-31T23:28:10.447 回答