Magic Quadrant™ per la gestione degli accessi privilegiati 2025: Netwrix riconosciuta per il quarto anno consecutivo. Scarica il report.

Piattaforma
Centro risorseBlog
Creare utenti AD in massa e inviare le loro credenziali tramite PowerShell

Creare utenti AD in massa e inviare le loro credenziali tramite PowerShell

Mar 30, 2017

Ogni anno, le istituzioni educative iscrivono centinaia di studenti. Di conseguenza, gli ingegneri di sistema delle istituzioni richiedono tempo ed energia aggiuntivi per creare un account AD per ogni studente e poi informare manualmente gli studenti riguardo i loro nomi utente e password.

Questa guida passo dopo passo renderà la vita degli ingegneri di sistema un po' più semplice con l'aiuto dello scripting PowerShell. Lo script consente di creare account utente AD da un file CSV, assegnare loro password casuali e poi inviare quei nomi utente e password ai nuovi studenti tramite email di benvenuto.

Ho utilizzato i seguenti cmdlet nel mio script. Clicca su un cmdlet specifico per maggiori dettagli.

Per inviare le email con le credenziali ai nuovi utenti, sto utilizzando un server SMTP di Gmail. Tuttavia, puoi configurare lo script in base al tuo ambiente IT e al tuo server di posta. Lo script sottostante è stato scritto e testato su un DC in esecuzione su Windows Server 2016. Se devi eseguire lo script su Windows Server 2012, 2012 R2 o 2008, potresti dover importare alcuni moduli PowerShell.

Prima di eseguire lo script, verifica i seguenti prerequisites:

  • Un file CSV con le informazioni degli studenti (nome, cognome, nome account Sam e indirizzo email)
  • Un file di testo o Word (doc o docx) con un messaggio di benvenuto via email
  • Una connessione Internet attiva (se si desidera utilizzare un server SMTP di Gmail)

Contenuti correlati selezionati:

Se avete soddisfatto tutti questi requisiti, potete creare account AD e inviare email di benvenuto in massa seguendo due semplici passaggi:

Passo 1.

Copia e incolla lo script in un file di testo e salvalo con l'estensione .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
      

Passaggio 2.

Apri PowerShell con i tuoi privilegi elevati ed esegui il file di script che hai creato nel Passo 1.

Una volta eseguito con successo lo script, gli utenti possono accedere immediatamente al dominio. È possibile verificare la creazione dell'account nella console Active Directory Users and Computers e inviare la notifica della creazione dell'account utilizzando il campo CC nel cmdlet Send-MailMessage.

Dai un'occhiata al mio ultimo post per scoprire come individuare nuovi utenti aggiunti in AD nelle ultime 24 ore e inviare le loro credenziali tramite email usando PowerShell. Potresti anche provare questo How-to: Export Specific Users from Active Directory se ti viene chiesto frequentemente di esportare utenti AD in CSV.

Sentitevi liberi di lasciare i vostri suggerimenti nei commenti in modo che possiamo migliorare la funzionalità dello script.

Condividi su

Scopri di più

Informazioni sull'autore

Asset Not Found

Karim Buzdar

Ingegnere di supporto

Ingegnere IT e Microsoft Certified Solutions Associate (MCSA) per l'infrastruttura del server. Come autore tecnico, Karim si concentra sui servizi di directory Microsoft e PowerShell.