C#操作域

百变猪娃娃 2014-10-29 03:15:42
我在网上COPY了一段代码,可以读到域用户名,但是有几个地方看不懂,麻烦大家讲解下。


using System;
using System.Collections.Generic;
using System.DirectoryServices;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
DirectoryEntry entry = new DirectoryEntry("LDAP://XYAMC", "fax-gl", "Xyjj2014", AuthenticationTypes.Secure);
DirectorySearcher mySearcher = new DirectorySearcher(entry);
mySearcher.Filter = ("(objectClass=user)"); //这行的 objectClass=user 看不懂,我猜这行代码是获取域用户名。Filter属性还可以等于其他什么条件吗?


System.IO.StreamWriter sw = new System.IO.StreamWriter(@"d:\1.txt");
foreach (SearchResult resEnt in mySearcher.FindAll())
{
string s = resEnt.GetDirectoryEntry().Properties["sAMAccountName"].Value.ToString(); //这行代码看不懂
sw.WriteLine(s);
}
sw.WriteLine("=====我是分割线=====");
sw.WriteLine("总数量: " + mySearcher.FindAll().Count);
sw.Flush();
sw.Close();
sw.Dispose();

}
}
}


我现在除了要获得域用户名以外,还要获得域用户的其他信息,域除了有域用户名以外,还有其他的吧,比如描述或者什么的。应该怎么获得。

另外,下面的问题,我要结贴了,但是没人回答,大家随便回答什么,我就结贴了。
http://bbs.csdn.net/topics/390898854
...全文
246 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
mySearcher.Filter = ("(objectClass=user)"); 是个查询条件,不是你说的"获取域用户名" 最好找个LADP工具,看一眼,里面可以设置查询条件~~
by_封爱 版主 2014-12-03
  • 打赏
  • 举报
回复
LZ问的问题是不是很偏门啊 一个人都没有....
_Monkey_King 2014-12-03
  • 打赏
  • 举报
回复
private static SearchResultCollection _ADHelper(string domainADsPath, string username, string password, string schemaClassNameToSearch) { DirectorySearcher searcher = new DirectorySearcher(); searcher.SearchRoot = new DirectoryEntry(domainADsPath, username, password); searcher.Filter = "(objectClass=" + schemaClassNameToSearch + ")"; searcher.SearchScope = SearchScope.Subtree; searcher.Sort = new SortOption("name", SortDirection.Ascending); // If there is a large set to be return ser page size for a paged search searcher.PageSize = 512; searcher.PropertiesToLoad.AddRange(new string[] { "name", "Path", "displayname", "samaccountname", "mail" }); SearchResultCollection results = searcher.FindAll(); return results; //参数domainADsPath是活动目录的域名,使用类似"LDAP://域名"的形式 参数schemaClassNameToSearch是过滤条件, // objectClass=user 查询条件是所有的用户(USER) } 复制来的 没试过
百变猪娃娃 2014-11-06
  • 打赏
  • 举报
回复
来个人,随便回答点什么,然后接分吧。
百变猪娃娃 2014-10-29
  • 打赏
  • 举报
回复
我需要读取 XYAMC这个域下面的 域用户名、所属部门、该计算机使用者的名字。 不知道怎么弄?

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧