DirectorySearcher.Filter,它查询活动目录以返回当前周的即将发生的事件

时间:2012-09-14 17:04:48

标签: c#-4.0 sharepoint-2010 ldap ldap-query

我正试图获得本周所有生日和周年纪念日。我正在使用Directory SearcherLDAP。我是LDAP的新用户,我正在使用以下代码:

            string _path = "LDAP:";
            System.DirectoryServices.DirectoryEntry entry = new System.DirectoryServices.DirectoryEntry(_path);
            DirectorySearcher ds = new DirectorySearcher(entry);

            string month = DateTime.Now.Month.ToString();

            string day = DateTime.Today.Day + numDays.ToString();

             ds.Filter = "(&(objectClass=user)(description=" + month + "\\" + day +"))";
             SortOption option = new SortOption("description", System.DirectoryServices.SortDirection.Ascending);
             ds.Sort = option;
             DataSet dSet = new DataSet();
             DataTable dTable = new DataTable("Events");
             dTable.Columns.Add("birthday");
             foreach (System.DirectoryServices.SearchResult resEvent in ds.FindAll())
             {
                 System.DirectoryServices.DirectoryEntry de1 = resEvent.GetDirectoryEntry();
                 DataRow dRow = dTable.NewRow();
                 if (de1.Properties["description"].Value != null)
                 {
                     dRow["birthday"] = de1.Properties["description"].Value.ToString();

                     dTable.Rows.Add(dRow);

                 }
             }

             dSet.Tables.Add(dTable);
             return dSet;

1 个答案:

答案 0 :(得分:1)

您的活动是否存储在用户的描述属性下?

您的属性值看起来没什么特别之处。

您正在尝试使用我无权访问的c#,但是从LDAP查询中,这可以: (及(objectClass的=用户)(描述= 9月15日*))

-Jim