Назад | Перейти на главную страницу

Как загрузить изображение аватара с сервера Active Directory?

Я использую двоичный файл ldapsearch.exe, который был установлен вместе с клиентом Oracle. Потребовалось некоторое время, чтобы выделить необходимые аргументы, но я могу успешно подключиться к AD и проанализировать текстовые атрибуты (учитывая имя пользователя, найти электронную почту и т. Д.). Но я также хотел бы получить изображения аватаров, которые использует Exchange / Lync. Согласно некоторой документации Microsoft, которую я откопал, имя атрибута thumbnailPhoto. Сначала я не мог понять, но эта команда не выдает гневных сообщений об ошибках:

ldapsearch -v -h xxx.yyy.edu -Z -b cn=USERNAME,ou=Computers,ou=yyy,dc=yyy,dc=edu cn=USERNAME thumbnailPhoto

Когда я запускаю это, я получаю следующий результат:

ldap_open( xxx.yyy.edu, 389 )
filter pattern: cn=USERNAME
returning: thumbnailPhoto
filter is (cn=USERNAME)
CN=USERNAME,OU=Computers,OU=yyy,DC=yyy,DC=edu
1 matches

В текущем каталоге нет файла, нет файла в% TEMP%. Если я использую -t с аргументами или без них, файлы не загружаются. Бинарный мусор не заполняет окно консоли. Я получаю идентичное поведение независимо от того, запускаю ли я команду из bash (msys) или cmd.exe.

Что дает? Похоже, я все делаю правильно. Но у меня заканчиваются способы отладки. Я даже не использую правильные инструменты?

Если вы можете использовать powershell вместо ldapsearch, попробуйте следующее:

$user = Get-ADUser John -Properties thumbnailPhoto
$user.thumbnailPhoto | Set-Content c:\temp\1.jpg -Encoding byte