I come across a requirement from my client to change their existing Email Address to new Email Address for 200 users, and I had prepare the following PowerShell to update the ProxyAddresses in Active Directory to refresh this changes
- Get all users’ SamAccountName & DistinguishedName from the OU where all users created
- Defined the Old & New SMTP Address
- Loop all $User in $Users and remove thier existing Primary SMTP Address and add in thier new Primary SMTP Addresses
$Users=Get-ADUser -SearchBase "OU=Aventis,DC=Aventis,DC=local" -filter * | Select SamAccountName, DistinguishedName
$OldEmail="@Aventis.info"
$NewEmail="@AventisTech.net"
Foreach ($User in $Users) {
$OldSMTP= 'SMTP:'+$User.SamAccountName+$OldEmail
$NewSMTP= 'SMTP:'+$User.SamAccountName+$NewEmail
Set-ADUser -Identity $user.DistinguishedName -Remove @{ProxyAddresses= $OldSMTP} -Server AVENTIS-AD01.Aventis.local
Set-ADUser -Identity $user.DistinguishedName -Add @{ProxyAddresses= $NewSMTP} -Server AVENTIS-AD01.Aventis.local
}