dimanche 14 mars 2010

Création massive de boite mail avec Exchange Management Shell

La création de boite mail via la console graphique de management de Exchange 2007 peut devenir très fastidieuse lorsque le nombre de mailbox a crées devient conséquent. Cette création peut être totalement automatisé grâce au Exchange Management Shell (EMS). L'objectif est de crée un un fichier Excel CSV avec les informations de chaque utilisateur, de l'importer avec EMS et de crée automatiquement chaque boite mail.

Création du fichier CSV utilisateur :
Attention le fichier .csv doit etre au format UTF8 pour la compatibilité des caractères. Dans le cas contraire, certains caractères comme les caractères accentués seront mal interprété.

Prenom,Nom,UPN,SamAccountName,Password,OrganisationUnit,Database
Gérard,Menussa,gmenuva@poilpoil.com,gmevussa,P@ssWoRd,Mon_OU,Ma_Database
Création du script d'import et de création des mailbox

$UsersFile = "users.csv"
$Date = Get-Date -format "yyyyMMdd"
$Logs = new-item "$Date.log" -type file -force
add-content $Logs " - BEGIN"
add-content $Logs " - Import du fichier $UsersFile"
import-csv $UsersFile
foreach {
$UserPrenom = $_.Prenom
$UserNom = $_.Nom
$UserSamAccountName = $_.SamAccountName
$UserUPN = $_.UPN
$UserDatabase = $_.Database
$UserOrganisationUnit = $_.OrganisationUnit
$UserName = "$UserPrenom $UserNom"
add-content $Logs " - - $UserPrenom $UserNom"
$UserPasswordCrypt = ConvertTo-SecureString $_.Password -asplaintext -force
write-host $_.Nom $_.Prenom $PasswordCrypt
new-mailbox -userPrincipalName $UserUPN -name $UserName -SamAccountName $UserSamAccountName -database $UserDatabase -OrganizationalUnit $UserOrganisationUnit -Password $UserPasswordCrypt -FirstName $UserPrenom -LastName $UserNom -ResetPasswordOnNextLogon $true
if(! $?){
add-content $Logs " - - - FAILED"
}else{
add-content $Logs " - - - SUSSECED"
}
}
add-content $Logs " - END"
Ne reste plus qu'a exécuter notre script et vérifier le résultat dans le fichier de log créer par le script.

0 commentaires:

Enregistrer un commentaire