Поиск пользователей с помощью фильтрации с помощью whencreated в active directory
Привет, я пытаюсь получить пользователей из AD, запросив их с помощью Hired date, которая является свойством whenCreated.
Я ввожу дату в поле поиска, которое представляет собой текстовое поле в формате ММ/ДД/гггг (я перепробовал почти все форматы.)
Когда я ищу по имени или отображаемому имени, я получаю результаты, но это свойство не возвращает никакого значения.
Что я уже пробовал:
вопрос, который я передаю : dirsearch еще.Filter = " (whenCreated=*" +dtnew.ToString("yyyyMMddHHmmss. s")+ "*)";
Я использую звезды так, чтобы он возвращал даже поле, содержащее значение, которое я передаю. dtnew-это переменная datetime, используемая, как показано ниже.
Dtnew датавремя = Датавремя.Сейчас;
строка newDate = " 28.10.2014 3:21: 41 PM";
dtnew = преобразовать.ToDateTime(newDate);
dirsearch еще.Filter = " (whenCreated=*" +dtnew.ToString("yyyyMMddHHmmss. s")+ "*)";
спросил я пробовал : dirsearch еще.Filter = " (whenCreated=*"+ userName +*)";
имя пользователя - это строка, которая получает значение из текстового поля поиска.
Я тоже пытался дать жестко закодированное значение.
Karthik_Mahalingam
проверьте это https://msdn.microsoft.com/en-us/library/system.directoryservices.directorysearcher.filter(v=vs. 110).aspx
Если фильтр содержит атрибут типа ADS_UTC_TIME, его значение должно иметь формат yyyymmddhhmmssZ, где y, m, d, h, m и s означают год, месяц, день, час, минуту и секунду соответственно. Значение секунд (ss) является необязательным. Последняя буква Z означает, что разницы во времени нет. В этом формате "10: 20: 00 утра 13 мая 1999 года" становится "19990513102000Z". Обратите внимание, что доменные службы Active Directory хранят дату и время как координированное универсальное время (среднее время по Гринвичу). Если вы указываете время без разницы во времени, вы указываете время в GMT time.
Bevin wc
Картик - это не работает. У меня есть запись, для которой дата проката-8/3/2016 5: 32: 03 вечера. Поэтому я попробовал 20160803173203Z, а также 20160803173203.0+5300 (5300 для Индии) и 20160803173203.0 Z. Но ни один из этих запросов не вернул мне тот результат, который я получаю обычно .
Richard Deeming
Это 5: 23 вечера по UTC или в вашем местном часовом поясе?
Индия должна быть 0530
, нет 5300
И я не убежден в том, что ".0
- даже несмотря на то, что это есть в документации.
Попробуйте один из них:20160803173203+0530
20160803173203.0+0530
20160803120203Z