2012-08-25 93 views
0

Windows 로그온 화면에 나타나는 사용자 만 Active Directory 사용자 목록을 얻을 수 있습니다.Active Directory 사용자 목록 (Windows 로그온 화면에 나타나는 사용자 만 해당)

나는 Windows Principle 라이브러리 & WMI Select 명령을 사용하여 여러 가지 방법을 시도해 보았습니다. Admministrator, Guest & 다른 VUSRNEIL-DELL이 계속 나타납니다. 이 3 개의 사용자 계정 중 어느 것도 로그온 화면에 나타나지 않습니다. 이 사용자 유형을 어떻게 Deferferiate 할 수 있습니까?

+1

AD 사용자는 일반적으로 로그온 화면에 나타나지 않습니까? 로컬 사용자가 수행합니다. – PhilMasterG

답변

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("-------------------"); 
     } 
+0

그것은 전체 도메인의 ** 모든 ** 사용자를 제공 할 것입니다. 단지 이들을 열거해도 꽤 오랜 시간이 걸릴 수 있습니다. –

+0

도메인에서 사용자를 원하지 않습니다. 나는 로컬 머신에 사용자를두고 싶다. 제 경우에는 시작시 로그온 화면에 나타나는 2 명의 사용자 (도메인이 아님)가 있습니다. 난 단지 내 2 개의 계정을 내 방법 (관리자, 손님 등 ...없이 반환 된) –

0

확인 Win32_LogonSessionWin32_LoggedOnUser 클래스 (여기서 Win32_LogonSession.LogonType = '2')는 다음 다시 Win32_Account 클래스에 관련 수 로그온 한 사용자의 현재에 대한)