Символ *
является подстановочным знаком.Поэтому, если вы хотите использовать его в качестве литерала (в качестве фактического *
символа в значении), вам следует избегать его:
extensionattribute1 >= \2ANoon\2A12
Подробнее здесь: https://social.technet.microsoft.com/wiki/contents/articles/5392.active-directory-ldap-syntax-filters.aspx#Special_Characters
Тем не менее, я не думаю, что это ваша проблема здесь.
Правила того, что означает "лексикографический" для нашей эры, не разъяснены ни в одной документации, которую я смог найти.В общем, это означает «алфавитный порядок».Это отлично подходит для текста, но что это означает для символов, совершенно неясно.Он определенно не всегда использует свою позицию в таблице Unicode .
Я провел некоторое собственное тестирование.Он оценивает период (.
) выше запятой (,
), как и следовало ожидать от их позиций в таблице Unicode.Но дефис, который находится между точкой и запятой в таблице, AD, кажется, оценивается очень, очень низко.Это всегда меньше, чем почти все.Я могу искать значения меньше пробела (<=\20
), и они будут соответствовать дефису.
Итак, короткий ответ: вы не можете делать то, что пытаетесь сделать.Использование >=
не даст вам ожидаемых результатов.
Однако вы можете использовать сравнение ИЛИ, чтобы найти все три из этих значений, если это единственные три значения, которые вы хотите найти:
(|(extensionattribute1=\2ANoon\2A12)(extensionattribute1=-1000)(extensionattribute1=-7))