如何从 Active Directory 服务器下载头像图像?

Joh*_*n O 7 active-directory bash ldap lync

我正在使用与 Oracle 客户端一起安装的 ldapsearch.exe 二进制文件。梳理出它想要的参数花了一些时间,但我能够成功连接到 AD 并解析出文本属性(给定用户名、查找电子邮件等)。但我也想获取 Exchange/Lync 使用的头像图像。根据我挖出的一些 Microsoft 文档,属性名称是thumbPhoto。一开始我想不通,但这个命令不会产生愤怒的错误信息:

ldapsearch -v -h xxx.yyy.edu -Z -b cn=USERNAME,ou=Computers,ou=yyy,dc=yyy,dc=edu cn=USERNAME thumbnailPhoto
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我得到以下输出:

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
Run Code Online (Sandbox Code Playgroud)

当前目录中没有文件,%TEMP% 中没有文件。如果我使用带或不带参数的 -t,则不会下载任何文件。没有二进制垃圾填满控制台窗口。无论我是否从 bash (msys) 或 cmd.exe 运行命令,我都会得到相同的行为。

是什么赋予了?看起来我做的一切都是正确的。但是我已经没有办法调试了。我什至没有使用正确的工具吗?

小智 3

如果您可以使用 powershell 而不是 ldapsearch,请尝试以下操作:

$user = Get-ADUser John -Properties thumbnailPhoto
$user.thumbnailPhoto | Set-Content c:\temp\1.jpg -Encoding byte
Run Code Online (Sandbox Code Playgroud)