Ułatwienia dostępu

Zdjęcie w zasobach AD DC

Podczas logowania w Windows jak i na poziomie startu oraz aplikacji Outlook, OWA, Skype widoczne jest zdjęcie użytkownika. Podczas gdy komputer podpięty pod konto Microsoft, zdjęcie jest pobierane prosto ze serwisów MS. W Active Directory za zdjęcie odpowiada atrybut thumbnailPhoto zawierający binarne dane zdjęcia.

Losowe zdjęcie widoczne na ekranie logowania

Główne ograniczenia zdjęcia to

  • Maksymalny rozmiar zdjęcia w thumbnailPhoto to 100kB ale zalecenia ze strony MS pod względem kompatybilności to 10kB i rozmiar 96×96
  • Zwiększony plik podczas wymiany danych z AD, gdyż rośnie plik NTDS.DIT (baza ad)
  • Konieczny jest najnowszy poziom domeny czyli Windows Server 2008 Active Directory SP2

Są dwie metody zmiany, z poziomu PowerShell oraz za pomocą małej DLL uruchamianej w ADUC (dsa.msc) czyli MMC z funkcją ad dc.

Obie metody wymają wersji systemu Pro lub Ent, i dodatku – moduł RAST administracji active directory. W zależności od systemu można dostać się tam przez Ustawienia, Aplikacje, Funkcje opcjonalne, wyświetl funkcje znaleźć narzędzia oznaczone jako Active Directory (wcześniej oznaczonego jako RAST).

PowerShell

Jeśli wykorzystujemy tylko PowerShell możemy zainstalować sam moduł PS.

W przypadku PowerShell Core 6.x, 7.x wymagany będzie moduł WindowsCompatibility

Install-Module -Name WindowsCompatibility
Import-Module -Name WindowsCompatibility
Import-WinModule -Name ActiveDirectory

Ponieważ z każdą wersją wszystko się zmienia, polecam artykuł: https://woshub.com/powershell-active-directory-module/

Import zdjęcia polega na konwersji do postaci bajtowej oraz podmianę wartości w domenie

Import-Module ActiveDirectory
$photo = [byte[]](Get-Content C:\PS\pracownik_a.jpg -Encoding byte)
Set-ADUser pracownika -Replace @{thumbnailPhoto=$photo}

lub w przypadku polecenia 1 liniowego

Set-ADUser pracownika -Replace @{thumbnailPhoto=([byte[]](Get-Content "C:\ps\pracownik_a.jpg" -Encoding byte))}

MMC

Tutaj przyda się mały DLL umożliwiający całą operację AdExt-dll-ADUC.zip

Wewnątrz znajduje się mały plik AdExt.dll który umożliwia dodanie nowej karty w edycji użytkownika i ładowanie obrazów bezpośrednio z GUI. Narzędzie można zainstalować posługując się narzędziem uruchamianym z katalogu Netframework.

Należy uruchomić CMD z uprawnieniami administracyjnymi, a następnie przejść do katalogu i wykonać instalację:

Dla systemu x86:

cd %WinDir%\Microsoft.NET\Framework\v2.0.50727
InstallUtil.exe c:\katalog_z_plikiem\AdExt.dll

Dla systemu x64:

cd %WinDir%\Microsoft.NET\Framework64\v4.0.30319
InstallUtil.exe c:\katalog_z_plikiem\AdExt.dll

Po instalacji otrzymujemy wynik działania. Konieczne będzie ponowne uruchomienie dsa.msc . We właściwościach konta użytkownika dostępna jest nowa zakładka Photo.

Odinstalowanie dll wykonuje się analogicznie dodają parametr /u czyli:

InstallUtil.exe /u c:\katalog_z_plikiem\AdExt.dll

Warto zauważyć że formatka ma dwie opcje:

  • thumbnailPhoto ze zdjęciem przeskalowanym do 96×96 i zajmującym mniej niż 10kB,
  • jpegPhoto ze zdjęciem przeskalowanym tak aby zajmował mniej niż 100kB

LINKI

PLIKI