如何在ASP.NET中列出Windows用户和组?

我有一个ASP.NET网站项目,我需要列出我的Windows系统上的所有用户和他们的组。 我已将身份模拟设置为true,并在web.config中提供了admin的用户名和密码。 我从哪说起呢?

提前致谢。

更新:

我目前有以下代码 –

var machine = new DirectoryEntry("WinNT://<IP ADDRESS>"); foreach (DirectoryEntry child in machine.Children) { // get the child's group(s). } 

当我debugging时,我可以看到machine.Children中的用户列表。 我如何find这个用户所属的组?

本文介绍了如何与Active Directory进行交谈,并且可以帮助您找到想要的地方: http : //www.codeproject.com/KB/system/everythingInAD.aspx

要获得用户,你可以这样做:

 public List<string> GetUserList() { string DomainName=""; string ADUsername=""; string ADPassword=""; List<string> list=new List<string>(); DirectoryEntry entry=new DirectoryEntry(LDAPConnectionString, ADUsername, ADPassword); DirectorySearcher dSearch=new DirectorySearcher(entry); dSearch.Filter="(&(objectClass=user))"; foreach(SearchResult sResultSet in dSearch.FindAll()) { string str=GetProperty(sResultSet, "userPrincipalName"); if(str!="") list.Add(str); } return list; } 

您可能需要从.net中的DirectoryEntry和Active Directory支持开始。

这是一个很好的资源: http : //www.codeproject.com/KB/system/everythingInAD.aspx

即使您不在域中,本地访问也是类似的:

 DirectoryEntry localMachine = new DirectoryEntry("WinNT://" + Environment.MachineName); DirectoryEntry admGroup = localMachine.Children.Find("administrators", "group"); object members = admGroup.Invoke("members", null); foreach (object groupMember in (IEnumerable)members) { DirectoryEntry member = new DirectoryEntry(groupMember); //... }