Microsoft Developer Network > 포럼 홈 > Visual C# Language > Retrieving windows user accounts
질문하기질문하기
 

답변됨Retrieving windows user accounts

  • 2006년 2월 11일 토요일 오후 5:55A. Heuts 사용자 메달사용자 메달사용자 메달사용자 메달사용자 메달
     

    I'm trying to retrieve a list of all windows users, but all I can manage is the current user. I want to be able to connect software accounts to the windows accounts for automated login. How can I get a list of all windows users?

답변

  • 2006년 3월 23일 목요일 오전 4:31James KovacsMVP사용자 메달사용자 메달사용자 메달사용자 메달사용자 메달
     답변됨
    You can use the System.DirectoryServices.DirectoryEntry class to retrieve information on local users, groups, and services:

                using(DirectoryEntry root = new DirectoryEntry("WinNT://EDDINGS")) {
                    foreach(DirectoryEntry child in root.Children) {
                        if(child.SchemaClassName == "User") {
                            Console.WriteLine(child.Name);
                        }
                    }
                }

    SchemaClassName can also be Group or Service.

모든 응답

  • 2006년 2월 12일 일요일 오전 4:40James KovacsMVP사용자 메달사용자 메달사용자 메달사용자 메달사용자 메달
     
    What do you mean by "all Windows users"? All Windows Users currently logged onto a workstation? All local Windows user accounts? All Windows users in a domain? I would start looking at System.DirectoryServices to see if that can return the types of users you're looking for. A good article on this namespace is:
     
  • 2006년 2월 12일 일요일 오후 1:11A. Heuts 사용자 메달사용자 메달사용자 메달사용자 메달사용자 메달
     
    I meant all local windows user accounts.
  • 2006년 3월 2일 목요일 오전 6:45Bappi 사용자 메달사용자 메달사용자 메달사용자 메달사용자 메달
     
    use

    System.DirectoryServices.DirectorySearcher object to find all the User Account in your local system

  • 2006년 3월 23일 목요일 오전 4:31James KovacsMVP사용자 메달사용자 메달사용자 메달사용자 메달사용자 메달
     답변됨
    You can use the System.DirectoryServices.DirectoryEntry class to retrieve information on local users, groups, and services:

                using(DirectoryEntry root = new DirectoryEntry("WinNT://EDDINGS")) {
                    foreach(DirectoryEntry child in root.Children) {
                        if(child.SchemaClassName == "User") {
                            Console.WriteLine(child.Name);
                        }
                    }
                }

    SchemaClassName can also be Group or Service.
  • 2006년 3월 23일 목요일 오전 4:32James KovacsMVP사용자 메달사용자 메달사용자 메달사용자 메달사용자 메달
     
    Unfortunately System.DirectoryServices.DirectorySearcher doesn't work against the local security authority because it's not searchable. Use System.DirectoryServices.DirectoryEntry instead. (See code sample above.)