刚写出了获取自己计算机上名字为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 对象,但是根本不能像获取自己计算机上的方法那样。求高手出手呀!

解决方案 »

  1.   

    补充一下,我的连接字符串可能不对, 比如 那台机器的名字是 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+" ");
       }
    不知道我写的对不对,这样绑定到的是这个机器还是啥。