Please wait,
Processing your request...

  Business logo
  ... | Selecteer de Nederlandse taal |
Sharing is caring
| Print this page. | Linkedin page of Johan van Soest

React: Postcard image. Click this to mail to Johan


ICT-Hotlist Topic

Using PowerShell to update an user image in Active Directory

The following example uses PowerShell™ to update an user object in Microsoft Windows Server® Active Directory®.
It allows you to write one image to the user object thumbnailPhoto attribute specified by it's unique username attribute. This thumbnailPhoto can than be made visible in Office and Outlook. Other software packages may also support these images.
There are some issues replicating the thumbnailPhoto attribute depending on the Active Directory level on the servers. Actually the schema must be modified so the attribute replicates to the Global Catalog, something the Exchange 2010 setup procedure fixes for you. This script works around the problem by deposing the image on all Domain Controllers. When running it shows all the Domain Controllers it can access at the moment to modify the image attribute.
As this script must be able to modify the Active Directory, it must be run under an user account with administrative rights.
Prerequisites for the image:
  • File size : <10KB
  • Pixels : 96x96

# **************************************************************************
# * This PowerShell script is an example how to update an Active Directory *
# * property on all domaincontrollers in an Active Directory environment.  *
# * This script must run with an user account that has update rights       *
# * for the Active Directory (such as Administrator)                       *
# * This example updates the user image for an user from a local disk      *
# * without using Exchange or Outlook.                                     *
# * (C)Copyright 2014 - 2024 by Johan van Soest                *
# **************************************************************************

# **************************************************************************
# Set up the variables. 
# This is where you can customize username and image file path.
# **************************************************************************
# Define the Active Directory unique username
$UserName = "johan"
# Define the file path to the user photo
$FilePath = "C:\users\johan\temp\johan-small.jpg"

# **************************************************************************
# Main()
# **************************************************************************

# Clear the screen before writing

# Get a byte array containing the Photo
$Photo = [byte[]](Get-Content $FilePath -Encoding byte)

Write-Host "This PowerShell script updates the photo for user $UserName on all Domain Controllers."

# Load the Active Directory PowerShell provider
Import-Module ActiveDirectory

# Get all the Domain Contollers in a set
$DCs = Get-ADDomainController -filter *

# Set the photo for UserName on all Domain Controllers
ForEach($DC in $DCs){
    Write-Host "Updating server "$DC.HostName
    Set-ADUser -server $DC.HostName $UserName -Replace @{thumbnailPhoto=$Photo}
You may vote your opinion about this article:

Scripts and programming examples disclaimer

Unless stated otherwise, the script sources and programming examples provided are copyrighted freeware. You may modify them, as long as a reference to the original code and hyperlink to the source page is included in the modified code and documentation. However, it is not allowed to publish (copies of) scripts and programming examples on your own site, blog, vlog, or distribute them on paper or any other medium, without prior written consent.
Many of the techniques used in these scripts, including but not limited to modifying the registry or system files and settings, impose a risk of rendering the Operating System inoperable and loss of data. Make sure you have verified full backups and the associated restore software available before running any script or programming example. Use these scripts and programming examples entirely at your own risk. All liability claims against the author in relation to material or non-material losses caused by the use, misuse or non-use of the information provided, or the use of incorrect or incomplete information, are excluded. All content is subject to change and provided without obligation.
Generated by WebHalla™ Version 0.1.e.7 : Thursday 30-5-2024 © Copyright 1995-2024 ing. Johan P.G. van Soest CIPM Certified Privacy Information Manager
Response Form    Cookie- and Privacy statement    Responsible Disclosure procedure
Weather in Waalre by OpenWeatherMap logo broken clouds
Temperature 14.73 °C broken clouds
Wind chill 14.63 °C broken clouds
Humidity 91 % broken clouds
Air pressure 1006 hPa broken clouds
Wind speed 2.57 m/s broken clouds
Wind direction South West South West broken clouds
Sun Rise 5:28 Sun Rise
Sun Set 21:43 Sun Set
Updated:2024-05-30 09:48:23 broken clouds

Weather Cache is 2 minute(s) old.
| Current user: Guest | Login |