# export photo

$a= Get-ADUser USERNAME -Properties thumbnailphoto

$a.thumbnailphoto | Set-Content c:\path\photo.jpg -Encoding byte

 

# have photo 

$date = (Get-Date).AddDays(-90)

Get-ADUser -Filter {lastlogontimestamp -gt $date -and EmailAddress -like '*' -and thumbnailphoto -notlike '*'} -property * | Select Name,SamAccountName,EmailAddress,Department,@{Name="Disabled"; Exp={$_.useraccountcontrol -band 2}}| ?{$_.Disabled -eq 0} | Sort-Object name | export-csv nophoto.csv -Delimiter ";" -NoTypeInformation -Encoding Default

 

Get-ADUser -Filter {lastlogontimestamp -gt $date -and EmailAddress -like '*' -and thumbnailphoto -like '*'} -property * | Select Name,SamAccountName,EmailAddress,Department,@{Name="Disabled"; Exp={$_.useraccountcontrol -band 2}}| ?{$_.Disabled -eq 0} | Sort-Object name | export-csv photo.csv -Delimiter ";" -NoTypeInformation -Encoding Default

 

# import photo

param ($name)

$login="$name@domen"

Import-RecipientDataProperty -Identity $login -Picture -FileData ([Byte[]]$(Get-Content -Path "f:\tasks\exchange_photo\photo\$name.jpg" -Encoding Byte -ReadCount 0))

 

To remove a photo use the following:

Set-Mailbox USERNAME -removepicture