Я люблю примеры на http://www.computerperformance.co.uk/Logon/DSquery_user.htm, но некоторые дополнительные должны быть полезны:

  • Сп с пробелом в имени
  • Ou с пространством в нем
  • Так далее…

Я пробовал несколько раз и всегда получаю без ошибок, но также без результатов, например:

dsquery * -attr "cn" -filter "(&(operatingSystem=*server*)(member='cn=Monday 10AM',ou=Server Security Groups,ou=MITS Servers,dc=ad,dc=xxxxxxx,dc=xxxx,dc=edu))" >> 

C:\ Test \ test.txt

или же

C:\Users\rmppqx>dsquery * -attr "cn" -filter "(&(operatingSystem=*server*)(member=cn=Monday*,ou=Server Security Groups,ou=MITS Servers,dc=ad,dc=xxxxxxr,dc=xxxx,dc=edu))" >> c:\test\test.txt

Любая идея, почему файл результатов всегда пуст !!!

Спасибо дом

1 ответ1

1

Ваш первый пример не сработал, потому что пробелы не нужно специально заключать в кавычки в фильтрах LDAP (фактически у вас уже есть OU с пробелами в его имени), поэтому он пытался найти атрибут 'cn со значением Monday 10AM' .

Например:

-filter "(&(operatingSystem=…)(member=cn=Monday 10AM,ou=Server Security Groups,…))"

Единственные символы, которые должны заключаться в кавычки внутри фильтра:

( → \28
) → \29
* → \2a
\ → \5c

Например, чтобы найти cn=Monday (10AM),ou=… вы должны использовать ou =… (member=cn=Monday \2810AM\29,ou=…) .


Ваш второй пример не сработал, потому что атрибут member не поддерживает сопоставление с подстановочными знаками.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .