Powershell : Script de Création de Boîte Mail pour Serveur Exchange
Le Powershell est un langage de programmation très puissant pour réaliser des opérations en masse comme la création de boîtes aux lettres sur un serveur Exchange.
Pour un client il a fallut créer des centaines de boîtes et il était impensable de créer les boîtes à la main. Effectivement la tâche est chronophage et prend du temps !
Pour vous aider, tutoriel complet pour créer vos boîtes mails Exchange grâce à un script Powershell.
Sommaire
Script Powershell pour créer des boîtes mails sur Exchange
A propos des scripts
Les scripts proposés dans ce tutoriel son compatible Exchange 2013 / 2016 / 2019 et Exchange Online (Microsoft 365).
Les scripts peuvent faire appel à un fichier CSV afin de pouvoir lire plusieurs lignes et créer les boîtes à la chaîne.
Scripts Powershell et Fonctionnement
Le fichier CSV
Les scripts présentés ci-dessus s'appuie sur des fichiers .csv délimités par un point virgule (;). Le script Powershell charge le fichier puis parcours les lignes pour remplir les différents champs dans l'Active Directory afin de créer les boîtes aux lettres.
Voici un exemple de fichier CSV :
On peut également utiliser LibreOffice ou Excel pour créer un fichier CSV
La boucle foreach
Une fois le fichier chargé il faut dans le script powershell définir une boucle qui pour chaque éléments du fichier effectuera une action (modification / création / suppression )
Script pour créer des boîtes mails Exchange.
#On ajoute les fonctionnalités Exchange Management Shell Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn; #On import le fichier CSV Import-Csv -Path "C:\Sources\mailbox.csv" -Delimiter ";" -Encoding Default | foreach { Enable-Mailbox -Identity $_.login -Database "Base-exchange" }
Ici pour chaque ligne du fichier CSV on va créer une boîte mail Exchange (Enable-MailBox) pour un utilisateur déja créé dans l'Active Directory. On remarque que la recherche se base sur le champ "login" du fichier csv. ($.login).
Pour créer un nouveau compte et une nouvelle boîte vous devez utiliser la commande "New-Mailbox"
New-Mailbox -Name "Tutos-Informatique" -UserPrincipalName [email protected] -Password (ConvertTo-SecureString -String 'Pa$$word1' -AsPlainText -Force) -FirstName Tutos -LastName Informatique
Vous pouvez ajouter de champs dans votre fichier csv comme le nom et le prénom et l'adresse mail. Votre script devra s'adapter voici un exemple
#On ajoute les fonctionnalités Exchange Management Shell Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn; #On import le fichier CSV Import-Csv -Path "C:\Sources\mailbox.csv" -Delimiter ";" -Encoding Default | foreach { New-Mailbox -Name $_.nom -UserPrincipalName $_.adressemail -Password (ConvertTo-SecureString -String 'Pa$$word1' -AsPlainText -Force) -FirstName $_.Nom -LastName $._prenom -Database "Base-exchange" }
Maintenant vous en savez plus sur la création de boîte au lettre ;) N'hésitez pas à consulter la documentation très détaillée de Microsoft
Les développeurs sont les bienvenus pour proposer des scripts dans la partie commentaire de cet article.
Commentaires
Le 7 novembre 2020 à 14 h 17 min, BAKEMONO a dit :
-FistName loul
Le 8 novembre 2020 à 21 h 53 min, Tutos-Info a dit :
Hello , merci j'ai édité ^^
Laisser un commentaire