Ce script Powershell récupère la liste des mailbox présentes pour les utilisateurs membres de l'OU spécifiée et ajoute comme adresse mail principale une adresse au format prenom.nom@domaine.tld.
Ce script permet donc d'uniformiser les adresses mail en gérant les divers caractères spéciaux et accents, tout en conservant les anciennes adresses qui peuvent servir comme alias, évitant d'avoir à communiquer par rapport à sa nouvelle adresse.
function process { Param([string] $name) $specials = @("- '","âä","éèëê","ïîì","ôö","üûù","ÿ") for($i=0; $i -lt $specials.Length; $i++) { for($j=0; $j -lt $specials[$i].Length; $j++) { switch($i) { "0" { $l = "" } "1" { $l = "a" } "2" { $l = "e" } "3" { $l = "i" } "4" { $l = "o" } "5" { $l = "u" } "6" { $l = "y" } } $name = $name.Replace(($specials[$i].SubString($j,1)),$l) } } return $name } $mailboxes = Get-Mailbox | Where-Object { $_.OrganizationalUnit -like "dundermifflin.inc/USERS/*"} foreach ($mailbox in $mailboxes) { $adUser = Get-AdUser $mailbox.Name $newsmtp = ((process($adUser.GivenName))+"."+(process($adUser.Surname))).ToLower()+"@dundermifflin.inc" Set-Mailbox $mailbox -PrimarySmtpAddress $newsmtp }
Comme toujours, vous pouvez télécharger le script dans une version commentée grâce au lien suivant.