C#里如何使用secur32.dll取得整个域的用户和权限 情况是这样的:打开一个WinForm的登陆窗口后,要用secur32.dll来判断输入的用户名是域中的用户,而且有继续操作的权限。请问,怎样才能取得整个域的所有用户和他们各自的权限? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.pinvoke.net/default.aspx/secur32.LsaLogonUser 建议你阅读这个MSDN的文章: System.DirectoryServices命名空间用来方便地从托管代码中访问Active Directory域服务。 网上找了下,没经过测试System.DirectoryServices.DirectoryEntry entry = new System.DirectoryServices.DirectoryEntry("LDAP://" + domainName); System.DirectoryServices.DirectorySearcher mySearcher = new System.DirectoryServices.DirectorySearcher(entry); mySearcher.Filter = ("(objectClass=user)"); //这儿很关键,user表示用户,group表示组 richTextBox1.AppendText("Listing of users in the Active Directory"); richTextBox1.AppendText("========================================"); foreach (System.DirectoryServices.SearchResult resEnt in mySearcher.FindAll()) { try { System.DirectoryServices.DirectoryEntry de = resEnt.GetDirectoryEntry(); //用户名 richTextBox1.AppendText("Display Name : " + de.Properties["DisplayName"].Value.ToString() + "\r\n"); //隶属于 richTextBox1.AppendText("memberof : " + de.Properties["memberof"].Value.ToString() + "\r\n"); //其他信息 richTextBox1.AppendText("Email : " + de.Properties["Mail"].Value.ToString() + "\r\n"); richTextBox1.AppendText("Title : " + de.Properties["Title"].Value.ToString() + "\r\n"); richTextBox1.AppendText("User Name : " + de.Properties["sAMAccountName"].Value.ToString() + "\r\n"); richTextBox1.AppendText("First Name : " + de.Properties["GivenName"].Value.ToString() + "\r\n"); richTextBox1.AppendText("Last Name : " + de.Properties["sn"].Value.ToString() + "\r\n"); richTextBox1.AppendText("Initials : " + de.Properties["Initials"].Value.ToString() + "\r\n"); richTextBox1.AppendText("Company : " + de.Properties["Company"].Value.ToString() + "\r\n"); richTextBox1.AppendText("Department : " + de.Properties["Department"].Value.ToString() + "\r\n"); richTextBox1.AppendText("Telephone No. : " + de.Properties["TelephoneNumber"].Value.ToString() + "\r\n"); } catch { } richTextBox1.AppendText("=========== End of user =============\r\n\r\n"); } richTextBox1.AppendText("===========End of Listing =============\r\n\r\n\r\n"); C# 监控windows窗口的打开 用post的方式实现csdn的登陆? DropDownList怎么实现网站友情连接的跳转?(asp.net(C#))? 请教高手ASPxGridView与aspnetpager 结合使用的有代码例子最好!! 关于 combobox 数据绑定 csc:目标类型无效 程序启动问题。 C#网络开发中遇到的问题 希望各位大虾帮助 我的datagrid始终不能显示数据库第一条数据!在线等! 如何使Image对象的某一种颜色为透明? datalist 点击事件取值,再传值问题,高手们帮忙看看代码 sql问题
用来方便地从托管代码中访问Active Directory域服务。
System.DirectoryServices.DirectoryEntry entry = new System.DirectoryServices.DirectoryEntry("LDAP://" + domainName);
System.DirectoryServices.DirectorySearcher mySearcher = new System.DirectoryServices.DirectorySearcher(entry);
mySearcher.Filter = ("(objectClass=user)"); //这儿很关键,user表示用户,group表示组
richTextBox1.AppendText("Listing of users in the Active Directory");
richTextBox1.AppendText("========================================"); foreach (System.DirectoryServices.SearchResult resEnt in mySearcher.FindAll())
{
try
{
System.DirectoryServices.DirectoryEntry de = resEnt.GetDirectoryEntry();
//用户名
richTextBox1.AppendText("Display Name : " + de.Properties["DisplayName"].Value.ToString() + "\r\n");
//隶属于
richTextBox1.AppendText("memberof : " + de.Properties["memberof"].Value.ToString() + "\r\n"); //其他信息
richTextBox1.AppendText("Email : " + de.Properties["Mail"].Value.ToString() + "\r\n");
richTextBox1.AppendText("Title : " + de.Properties["Title"].Value.ToString() + "\r\n");
richTextBox1.AppendText("User Name : " + de.Properties["sAMAccountName"].Value.ToString() + "\r\n");
richTextBox1.AppendText("First Name : " + de.Properties["GivenName"].Value.ToString() + "\r\n");
richTextBox1.AppendText("Last Name : " + de.Properties["sn"].Value.ToString() + "\r\n");
richTextBox1.AppendText("Initials : " + de.Properties["Initials"].Value.ToString() + "\r\n");
richTextBox1.AppendText("Company : " + de.Properties["Company"].Value.ToString() + "\r\n");
richTextBox1.AppendText("Department : " + de.Properties["Department"].Value.ToString() + "\r\n");
richTextBox1.AppendText("Telephone No. : " + de.Properties["TelephoneNumber"].Value.ToString() + "\r\n");
}
catch
{
}
richTextBox1.AppendText("=========== End of user =============\r\n\r\n");
}
richTextBox1.AppendText("===========End of Listing =============\r\n\r\n\r\n");