Сохранение фотографий пользователей в AD

Powershell Logo

Наткнулся на статью о сохранении фотографий пользователей в GAL.

Штука довольно удобная, например для территориально распределенных компаний появляется возможность посмотреть с кем именно вы ведете переписку.

Для Exchange 2010 существует коммандлет Import-RecipientDataProperty который предназначен для загрузки небольших фотографий до 10 кб с рекомендованным разрешением 96 на 96 точек (при большом желании фотография сжимается до 2-3 кб).

Если заглянуть поглубже в Active Directory то там существует атрибут Picture (по классификации ldapDisplayName: thumbnailPhoto) для размещения фотографий. Его мы и будем мучать в приведенном ниже скрипте.

При неимении установленного Exchange 2010, например есть Exchange 2007 и клиенты к нему Outlook 2010, вы можете автоматизировать процесс загрузки фотографий следующим скриптом.

$folder = "D:\ADPhotos\"

$domain = [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()
$root = $domain.GetDirectoryEntry()
$search = [System.DirectoryServices.DirectorySearcher]$root
$search.Filter = "(&(objectCategory=Person)(objectClass=User))"

$search.FindAll() | foreach {
$user = [adsi]$_.path
$accountName = $user.psbase.Properties["samaccountname"]
$jpgfile = "$folder$accountName.bmp"
if(!(test-path $jpgfile)){
write-host "User $($accountName) – image not found."
} else {
[byte[]]$jpg = Get-Content $jpgfile -encoding byte
$user.put("thumbnailPhoto",  $jpg)
$user.setinfo()
Write-Host "User $($accountName) – updated."
}
}

В переменной $folder задается папка откуда берутся фотографии заданные в формате
логин_пользователя.bmp

Если необходимо поменять фильтр для поиска, в данном примере поиск идет для всех учетных записей пользователей, поменяйте строку
$search.Filter = «(&(objectCategory=Person)(objectClass=User))»
на необходимую.

Буду благодарен, если поделитесь этой статьей:

Приглашаю присоединиться ко мне в следующих сервисах:
facebook Google Plus вКонтакте Twitter
Если Вам понравилась статья, то вы можете подписаться на RSS. А также бесплатно подписаться по E-mail и получать актуальную информацию в числе первых.
Получать обновления на email

Вы можете оставить комментарий.

Добавить комментарий

XHTML: Вы можете использовать тэги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>