高分! 如何用 DirectoryEntry 获取 别的计算机的上 某个用户组下的 全部用户

hellodujiqiang 2012-10-12 10:57:00
刚写出了获取自己计算机上名字为groupname的组下的所有用户名字。如下:
oLocalMachine = new DirectoryEntry("WinNT://" + Environment.MachineName);
DirectoryEntry AD = oLocalMachine.Children.Find(groupname, "group");
object obUsers = AD.Invoke("Members");
foreach (object ob in (IEnumerable)obUsers)
{
DirectoryEntry obUserEntry = new DirectoryEntry(ob);
userList.Add(obUserEntry.Name);
}

但是现在是要获取其他计算机上的某个组下的所有用户名字!


研究了半天,不对,是好几天了。貌似我已经获得了一个那个计算机的DirectoryEntry 对象,但是根本不能像获取自己计算机上的方法那样。

求高手出手呀!
...全文
233 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hellodujiqiang 2012-10-12
  • 打赏
  • 举报
回复
谢谢了 再多来几个人顶顶!
永远的小鱼 2012-10-12
  • 打赏
  • 举报
回复
消灭0回复 这个问题我也不太明白 帮你顶一下吧。
hellodujiqiang 2012-10-12
  • 打赏
  • 举报
回复
补充一下,我的连接字符串可能不对, 比如 那台机器的名字是 jiqi ,它所在的域是 yu.
我写的是 LDAP://yu/cn=jiqi
当然我也写了帐号和密码。关键语句如下:
string strLink ="LDAP://yu/cn=jiqi";
oLocalMachine = new DirectoryEntry(strLink);
oLocalMachine.Username = "djq";
oLocalMachine.Password = "mima";
oLocalMachine.AuthenticationType = AuthenticationTypes.Secure;
directorySearch.Filter = "(&(objectClass=computer))";


SearchResultCollection results = directorySearch.FindAll();
foreach(SearchResult users in results)
{
DirectoryEntry de = users.GetDirectoryEntry();
MessageBox.Show(de.Name+" "+de.SchemaClassName+" ");
}
不知道我写的对不对,这样绑定到的是这个机器还是啥。

110,539

社区成员

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

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

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