Magic Quadrant™ pour la gestion des accès privilégiés 2025 : Netwrix reconnue pour la quatrième année consécutive. Téléchargez le rapport.

Plateforme
Centre de ressourcesBlog
Créez des utilisateurs AD en masse et envoyez leurs identifiants par e-mail à l'aide de PowerShell

Créez des utilisateurs AD en masse et envoyez leurs identifiants par e-mail à l'aide de PowerShell

Mar 30, 2017

Chaque année, les établissements d'enseignement inscrivent des centaines d'étudiants. En conséquence, les ingénieurs systèmes des institutions nécessitent un temps et un effort supplémentaires pour créer un compte AD pour chaque étudiant puis pour informer manuellement les étudiants de leurs noms d'utilisateur et mots de passe.

Ce guide étape par étape rendra la vie des ingénieurs système un peu plus facile avec l'aide du scripting PowerShell. Le script vous permet de créer des comptes utilisateurs AD à partir d'un fichier CSV, d'assigner des mots de passe aléatoires à ceux-ci, puis d'envoyer ces noms d'utilisateur et mots de passe aux nouveaux étudiants dans des e-mails de bienvenue.

J'ai utilisé les cmdlets suivants dans mon script. Cliquez sur n'importe quel cmdlet individuel pour plus de détails.

Pour envoyer les e-mails avec les identifiants aux nouveaux utilisateurs, j'utilise un serveur SMTP Gmail. Cependant, vous pouvez configurer le script pour qu'il s'adapte à votre environnement informatique et à votre serveur de messagerie. Le script ci-dessous a été écrit et testé sur un DC fonctionnant sous Windows Server 2016. Si vous devez exécuter le script sur Windows Server 2012, 2012 R2 ou 2008, il se peut que vous deviez importer certains modules PowerShell.

Avant d'exécuter le script, vérifiez les prerequisites suivants :

  • Un fichier CSV avec les informations des étudiants (prénom, nom, nom de compte Sam et adresse e-mail)
  • A text or Word (doc or docx) file with a welcome email message
  • Une connexion Internet activée (si vous souhaitez utiliser un serveur SMTP Gmail)

Contenu connexe sélectionné :

Si vous avez rempli toutes ces conditions, vous pouvez créer des comptes AD et envoyer des e-mails de bienvenue en masse en suivant deux étapes simples :

Étape 1.

Copiez et collez le script dans un fichier texte et enregistrez-le avec l'extension .ps1 :

      ##Beginning of functions

Function Format-Email {
 
Param ([string]$WCEmailContent,[string]$UserPrincipalName,[string]$UserPassword)

return $WCEmailContent + "User Name = $UserPrincipalName
Password = $UserPassword
Thank You
IT Department"
}

Function Send-Email {

Param ($Email, $Credential,[string]$WCEmailContent)
 
$From = "karim.buzdar@gmail.com"
$subject = "Domain Account Details"
$Body = $WCEmailContent
$SMTPServer = "smtp.gmail.com"
$SMTPPort = "587"

Send-MailMessage -from $From -to $Email -Subject $subject -Body $Body -SmtpServer $SMTPServer -Port $SMTPPort -Credential $Credential -UseSsl

}

###End of Functions

##### Beginning of main programme

$Credential = (get-Credential) #Getting email credentials to be used for From field in Email message
$UsersFilePath = "C:UsersAdministrator.YOURDOMAINDesktopWCusers.csv" # Files of users information (First name, Last name, Sam account name, Email address)
$WCEmailFile = "C:UsersAdministrator.YOURDOMAINDesktopWCWCEmail.docx" # File containing welcome email message

import-csv -path $UsersFilePath | foreach {

$Name = ($_.GivenName + " " + $_.LastName)
$UserPrincipalName = ($_.SamAccountName + ”@yourdomain.com”)
$UserPassword = Get-Random -maximum 20000 -Minimum 100
$UserPassword = "@" + "user" + $UserPassword.ToString()
#Create user in Students OU

new-aduser -name $Name -enabled $true -GivenName $_.GivenName –surname $_.lastName -accountpassword (convertto-securestring $UserPassword -asplaintext -force) -changepasswordatlogon $true -samaccountname $_.SamAccountName –userprincipalname $UserPrincipalName -EmailAddress $_.EmailAddress -Path 'OU=Students,DC=yourdomain,DC=com' -ErrorAction Stop

$WCEmailContent = Format-Email -WCEmailContent (Get-Content $WCEmailFile) -UserPrinciPalName $UserPrincipalName -UserPassword $UserPassword

Send-Email -Email $_.EmailAddress -Credential $Credential -WCEmailContent $WCEmailContent

Write-Host "User Created: $Name"
}

### End of main program
      

Étape 2.

Ouvrez PowerShell avec vos privilèges élevés et exécutez le fichier de script que vous avez créé à l'étape 1.

Une fois que vous avez exécuté le script avec succès, les utilisateurs peuvent se connecter immédiatement au domaine. Vous pouvez vérifier la création du compte dans la console Active Directory Users and Computers et envoyer la notification de création du compte en utilisant le champ CC dans le cmdlet Send-MailMessage.

Découvrez mon dernier article pour apprendre comment découvrir les nouveaux utilisateurs ajoutés dans AD dans les dernières 24 heures et envoyer leurs identifiants par e-mail à l'aide de PowerShell. Vous pouvez également essayer ce How-to: Export Specific Users from Active Directory si on vous demande fréquemment d'exporter les utilisateurs AD vers un fichier CSV.

N'hésitez pas à laisser vos suggestions dans les commentaires afin que nous puissions améliorer la fonctionnalité du script.

Partager sur

En savoir plus

À propos de l'auteur

Asset Not Found

Karim Buzdar

Ingénieur Support

Ingénieur informatique et Microsoft Certified Solutions Associate (MCSA) pour l'infrastructure serveur. En tant qu'auteur technique, Karim se concentre sur les services d'annuaire Microsoft et PowerShell.