Есть ли способ добавить шаблоны отпечатков пальцев в активный каталог? Если да, то предложите несколько возможных способов .... и есть ли какой-либо SDK или API, с помощью которого мы можем добиться сохранения изображения отпечатка пальца на сервере (Windows Active Directory)?
Конечно ... это немного жутко, ИМО, но вы можете это сделать.
Сначала вам нужно определить хороший атрибут, который может хранить данные того типа, который вам нужен, и расширение схемы AD обычно является последним средством. По возможности предпочитайте использовать существующий атрибут.
Итак, изображение отпечатка пальца ... как в формате JPEG, верно?
Так уж случилось, что для каждой учетной записи пользователя в каталоге есть удобный атрибут jpegPhoto.
http://msdn.microsoft.com/en-us/library/ms676813(v=vs.85).aspx
Существует несколько способов программного взаимодействия с Active Directory с использованием сценариев. Но давайте использовать для этого Powershell, потому что Powershell великолепен.
Сначала вы захотите установить модуль Active Directory Powershell, если у вас его еще нет. Например, контроллер домена Windows 2008 R2 уже должен был быть установлен при установке AD DS. Но вы также можете установить его через RSAT (инструменты удаленного администрирования сервера) на любой рабочей станции и нацелить его на удаленный контроллер домена. Чем новее версия Powershell, тем лучше.
В более старых версиях PS вам нужно было явно загрузить модуль AD Powershell:
Import-Module ActiveDirectory
В более новых версиях PS модуль загружается автоматически, когда вы его используете.
Затем вы хотите превратить ваше изображение в массив байтов:
$Fingerprint = [byte[]](Get-Content C:\fingerprint.jpg -Encoding byte)
Затем сохраните недавно закодированное изображение отпечатка пальца в атрибуте jpegPhoto учетной записи пользователя:
Set-ADUser jdoe -Replace @{jpegPhoto=$Fingerprint}
Вы можете убедиться, что операция прошла успешно, посмотрев на атрибут jpegPhoto пользователя:
Get-ADUser jdoe -Properties jpegPhoto
Если операция прошла успешно, вы увидите много байтов. Вашему гипотетическому приложению для считывания отпечатков пальцев необходимо знать, как запрашивать Active Directory и преобразовывать поток байтов обратно в JPEG, который распознает человек. (Powershell может сделать это легко.)
Теперь вам нужно обернуть эту концепцию в сценарий, который перебирает группу пользователей и загружает изображение отпечатка пальца для каждого из них.
Предупреждение. Хранение больших двоичных объектов данных в Active Directory приводит к увеличению размера базы данных и увеличению трафика репликации. Используйте маленькие изображения.