Hoe configureer ik een miniatuurfoto voor een gebruiker in Active Directory?

Active Directory-gebruikersaccounts hebben een speciaal kenmerk , thumbnailPhoto, wat misschien wat vreemd maar wel handig is: het slaat de profielfoto van een gebruiker op. Deze foto’s kunnen worden gebruikt als avatars in Outlook, OWA, Word, Excel, Skype for Business, Teams, SharePoint en zelfs als inlogafbeeldingen op desktops. Het probleem is dat het beheren van deze foto’s niet altijd even overzichtelijk is. Soms upload je een foto die nergens verschijnt, of probeer je een foto in bulk bij te werken of te verwijderen uit Active Directory. Deze handleiding is bedoeld om meer duidelijkheid te geven over het toevoegen, bijwerken en oplossen van problemen met gebruikersfoto’s in Active Directory. Dit is vooral handig als je veel accounts beheert of gebruikersprofielen er consistent uit wilt laten zien.

Normaal gesproken worden deze foto’s opgeslagen als binaire gegevens onder een thumbnailPhotoattribuut. U kunt dit instellen of bijwerken met PowerShell, de Active Directory-gebruikers en -computers-module (met een kleine extensie) of zelfs met tools van derden. Het addertje onder het gras? De grootte, resolutie en indeling van de afbeelding zijn belangrijk. Voor optimale prestaties en compatibiliteit worden JPEG-afbeeldingen van ongeveer 10 KB en 96×96 pixels aanbevolen. Het gebruik van grotere afbeeldingen kan de omvang en het dataverkeer van de AD-database aanzienlijk verhogen, omdat Windows het natuurlijk onnodig moeilijk maakt.

Hoe voeg je een gebruikersfoto toe aan Active Directory of werk je deze bij met PowerShell?

Methode 1: Directe PowerShell-opdrachten gebruiken om een ​​foto te uploaden

Dus, waarom is dit handig? Met PowerShell kun je afbeeldingen in Active Directory (AD) krijgen zonder gedoe met een grafische interface of software van derden. Dit is vooral handig als je automatisering of bulkacties wilt uitvoeren. Het is van toepassing wanneer je een JPEG-, PNG- of BMP-bestand hebt dat je aan een AD-gebruiker wilt koppelen en je het geen probleem vindt om wat met de commandline te doen. Nadat je de afbeelding hebt geconverteerd naar raw-bytes, wordt de foto weergegeven in Outlook/Exchange en andere apps zodra AD deze informatie over het domein heeft gesynchroniseerd.

Het proces verloopt doorgaans als volgt: converteer eerst je afbeelding naar een byte-array:

$photo = [byte[]](Get-Content C:\PS\jkuznetsov_photo.jpg -Encoding byte)

Upload het vervolgens via:

Set-ADUser jkuznetsov -Replace @{thumbnailPhoto=$photo}

Dit geeft AD de opdracht om de huidige foto te vervangen (of in te stellen als deze ontbreekt).De korte versie is handig:

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

Een belangrijk aandachtspunt: zorg ervoor dat de afbeelding niet groter is dan 100 KB en dat deze in JPEG-formaat is voor optimale compatibiliteit. Op sommige systemen wordt de foto na het uitvoeren van deze procedure niet direct weergegeven; mogelijk moet u Outlook vernieuwen of wachten tot de replicatie is voltooid, wat frustrerend kan zijn. Soms wordt het attribuut op bepaalde computers niet meteen bijgewerkt, maar een herstart van Outlook of problemen met de cache zijn vaak de oorzaak.

Als alternatief kunt u voor bulkupdates een CSV-bestand voorbereiden, bijvoorbeeld:

AD_username, Photo asmith, C:\PS\asmith.jpg john.doe, C:\PS\john_doe.png jkuznetsov, C:\PS\jkuznetsov.jpg

Voer vervolgens het volgende commando uit:

Import-Csv C:\PS\import.csv | %{ Set-ADUser -Identity $_. AD_username -Replace @{thumbnailPhoto=([byte[]](Get-Content $_. Photo -Encoding byte))} }

Dit soort dingen bespaart tijd, vooral bij het beheren van veel accounts. Houd er wel rekening mee: als u de afbeeldingen in Outlook-contacten wilt zien, moet u mogelijk de optie ‘Gebruikersfoto’s weergeven indien beschikbaar’ inschakelen in de Outlook-instellingen. Windows of Outlook verbergt deze functie namelijk standaard.

Methode 2: Een foto uit AD halen en opslaan als JPG

Als je een foto uit Active Directory wilt halen, bijvoorbeeld om elders te gebruiken of gewoon als back-up, hoef je alleen maar de byte-array te extraheren en als bestand op te slaan:

$ADuser = Get-ADUser jkuznetsov -Properties thumbnailPhoto $ADuser.thumbnailPhoto | Set-Content c:\PS\jkuznetsov.jpg -Encoding byte

Het probleem is dat het opslaan van de byte-array in een bestand op sommige machines niet altijd even soepel verloopt – soms moet je de juiste codering gebruiken of tools van derden inzetten. Maar over het algemeen werkt dit wel, vooral als je de afbeeldingen later wilt controleren of opnieuw wilt uploaden.

Gebruikersfoto’s importeren in Exchange met PowerShell of OWA

Als u Exchange Server (2013, 2016, 2019) gebruikt en wilt dat de foto’s in Outlook of de algemene adreslijst worden weergegeven, gebruikt u de opdracht Set-UserPhoto. Dit is iets anders dan in Active Directory, omdat de foto’s in de mailbox zelf worden opgeslagen, wat betrouwbaarder is voor weergave door de eindgebruiker.

Je laadt de Exchange-module en voert het volgende uit:

Add-PSSnapin Microsoft. Exchange. Management. PowerShell. SnapIn Set-UserPhoto -Identity jkuznetsov -PictureData ([System. IO. File]::ReadAllBytes("C:\PS\jkuznetsov_photo.jpg")) -Confirm:$False

Of, als je een foto wilt verwijderen:

Remove-UserPhoto -Identity jkuznetsov

Voor oudere Exchange-versies, zoals 2010, gebruikt u:

Import-RecipientDataProperty -Identity jkuznetsov -Picture -FileData ([Byte[]](Get-Content -Path "C:\PS\jkuznetsov.jpg" -Encoding Byte -ReadCount 0))

Opmerking: Voor het beheren van foto’s in Exchange Online via Microsoft Graph zijn nieuwere cmdlets zoals Set-MgUserPhotoContent vereist. Het is wat omslachtig, maar het werkt.

Gebruikers kunnen hun profielfoto ook rechtstreeks in Outlook Web Access uploaden of wijzigen door op het profielpictogram te klikken, ‘Gegevens bewerken’ te kiezen, vervolgens ‘Foto’ en een nieuwe foto te selecteren. Dit is vaak de eenvoudigste manier als u de voorkeur geeft aan een grafische gebruikersinterface boven PowerShell.

Een fototabblad toevoegen aan ADUC met behulp van tools van derden

Als PowerShell of Outlook niet je ding is, zijn er tools van derden beschikbaar, zoals CodeTwo Active Directory Photos of AD Photo Edit. Deze voegen een grafische interface toe aan ADUC, waardoor fotobeheer een stuk eenvoudiger wordt. Hoewel ik niet helemaal enthousiast ben over het gebruik van externe software vanwege veiligheidsredenen, is het wel gebruiksvriendelijker als je een hekel hebt aan scripten.

Voor degenen die zich avontuurlijk voelen, is er een kleine DLL genaamd AdExt.dll die een “Foto”-tabblad rechtstreeks aan de ADUC-console toevoegt. Je hoeft deze alleen maar te registreren in InstallUtil.exeje .NET Framework- directory, vervolgens dsa.msc opnieuw op te starten, en voilà – het fototabblad verschijnt. Je kunt op die manier afbeeldingen uploaden, die automatisch worden verkleind of gecomprimeerd op basis van het door jou gekozen attribuut, zoals thumbnail of jpegPhoto.

Om het later weer uit te schakelen, voer je gewoon het volgende commando uit:

InstallUtil.exe /u c:\ps\ad\AdExt.dll

Let op: de afbeeldingen worden verkleind, gecomprimeerd of beperkt tot 96×96 pixels, maximaal 10 KB, dus verwacht geen portretten in hoge resolutie. Maar het is beter dan blindelings in ADUC te klikken en te hopen dat de foto blijft staan.

Kortom, of je het nu via een script, een grafische gebruikersinterface of een add-on van een derde partij wilt beheren, het is wel mogelijk, maar een beetje omslachtig. Ik hoop dat dit iemand helpt om de eindeloze reeks pogingen en fouten die ik heb gemaakt te vermijden.

Samenvatting

  • Gebruik PowerShell om afbeeldingen naar byte-arrays te converteren en het kenmerk thumbnailPhoto in te stellen.
  • Bulkupdates? Met een CSV-bestand en een PowerShell-loop wordt het beheersbaar.
  • Wilt u foto’s in Outlook of OWA gebruiken? Gebruik dan Set-UserPhoto of upload ze direct via de grafische gebruikersinterface.
  • Wil je een grafische gebruikersinterface (GUI)? Tools van derden of DLL-extensies kunnen het beheer vereenvoudigen, maar let wel op de beveiligingsrisico’s.
  • Houd de afbeeldingsformaten klein en consistent om te voorkomen dat de database overvol raakt en om vertragingen bij de replicatie te veroorzaken.

Samenvatting

Het beheren van gebruikersfoto’s in Active Directory is niet bepaald eenvoudig, maar met deze tips wordt het een stuk makkelijker – vooral als je een grote hoeveelheid foto’s wilt bijwerken of problemen met ontbrekende afbeeldingen wilt oplossen. PowerShell blijft de beste keuze voor bulk- of scripttaken, terwijl grafische oplossingen prima werken als je geen scripts gebruikt. Onthoud wel dat kleine, geoptimaliseerde afbeeldingen essentieel zijn – groter is hier niet beter. Hopelijk bespaart dit je wat tijd of helpt het je op weg bij het beheren van je foto’s. Succes!