dahiko
07-08-2023, 13:14
Всем привет!
Пытаюсь с помощью ldapquery выдернуть все учетные записи из ActiveDirectory с несколькими условиями:
1. Учетная запись включена
2. Дата из атрибута ExtensionAttribute7 должна быть позднее, чем дата в ExtensionAttribute15.
В Extension атрибутах даты в формате dd.mm.yyyy. Соответственно, если в ExtensionAttribute7 стоит дата позже, чем дата в ExtensionAttribute15, то эти учетные записи и должны вернуться.
Но если просто написать >=
(&(objectCategory=person)(objectClass=user) (ExtensionAttribute7>=ExtensionAttribute15) (!(userAccountControl:1.2.840.113556.1.4.803:=2)))
То воращается пустой список, хотя есть учетные записи, у которых есть ExtensionAttribute7 больше и меньше ExtensionAttribute15 (есть и такие и такие пользователи)
А если <=
(&(objectCategory=person)(objectClass=user) (ExtensionAttribute7<=ExtensionAttribute15) (!(userAccountControl:1.2.840.113556.1.4.803:=2)))
То возвращаются все включенные учетные записи, в которых атрибут Extesionattribute7 заполнен, то есть не пустой и не важно, что указано в ExtensionAttribute15 - больше дата или меньше.
Помогите, пожалуйста, понять логику ldapquery при работе с датами и написать правильный запрос. Запросы запускаю через оснастку "Пользователи и компьютеры". Может дата на самом деле - это просто строка, и нужно как-то перевести строку в дату? Если да, то как это сделать?
Пытаюсь с помощью ldapquery выдернуть все учетные записи из ActiveDirectory с несколькими условиями:
1. Учетная запись включена
2. Дата из атрибута ExtensionAttribute7 должна быть позднее, чем дата в ExtensionAttribute15.
В Extension атрибутах даты в формате dd.mm.yyyy. Соответственно, если в ExtensionAttribute7 стоит дата позже, чем дата в ExtensionAttribute15, то эти учетные записи и должны вернуться.
Но если просто написать >=
(&(objectCategory=person)(objectClass=user) (ExtensionAttribute7>=ExtensionAttribute15) (!(userAccountControl:1.2.840.113556.1.4.803:=2)))
То воращается пустой список, хотя есть учетные записи, у которых есть ExtensionAttribute7 больше и меньше ExtensionAttribute15 (есть и такие и такие пользователи)
А если <=
(&(objectCategory=person)(objectClass=user) (ExtensionAttribute7<=ExtensionAttribute15) (!(userAccountControl:1.2.840.113556.1.4.803:=2)))
То возвращаются все включенные учетные записи, в которых атрибут Extesionattribute7 заполнен, то есть не пустой и не важно, что указано в ExtensionAttribute15 - больше дата или меньше.
Помогите, пожалуйста, понять логику ldapquery при работе с датами и написать правильный запрос. Запросы запускаю через оснастку "Пользователи и компьютеры". Может дата на самом деле - это просто строка, и нужно как-то перевести строку в дату? Если да, то как это сделать?