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.