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
Dodaj komentarz
Musisz się zalogować, aby móc dodać komentarz.