Magic Quadrant™ für Privileged Access Management 2025: Netwrix zum vierten Jahr in Folge anerkannt. Laden Sie den Bericht herunter.

Plattform
Ressourcen­zentrumBlog
Erstellen Sie AD-Benutzer in Massen und senden Sie deren Anmeldeinformationen per E-Mail mit PowerShell

Erstellen Sie AD-Benutzer in Massen und senden Sie deren Anmeldeinformationen per E-Mail mit PowerShell

Mar 30, 2017

Jedes Jahr immatrikulieren Bildungseinrichtungen Hunderte von Studierenden. Infolgedessen benötigen die Systemingenieure der Einrichtungen zusätzliche Zeit und Mühe, um ein AD-Konto für jeden Studierenden anzulegen und dann die Studierenden manuell über ihre Benutzernamen und Passwörter zu informieren.

Dieser Schritt-für-Schritt-Leitfaden wird das Leben von Systemingenieuren mit Hilfe von PowerShell-Skripten etwas erleichtern. Das Skript ermöglicht es Ihnen, AD-Benutzerkonten aus einer CSV-Datei zu erstellen, ihnen zufällige Passwörter zuzuweisen und dann diese Benutzernamen und Passwörter in Willkommens-E-Mails an die neuen Studierenden zu senden.

Ich habe die folgenden Cmdlets in meinem Skript verwendet. Klicken Sie auf ein beliebiges Cmdlet, um weitere Details zu erhalten.

Um die E-Mails mit den Anmeldeinformationen an die neuen Benutzer zu senden, verwende ich einen Gmail SMTP-Server. Sie können das Skript jedoch an Ihre IT-Umgebung und Ihren Mailserver anpassen. Das untenstehende Skript wurde geschrieben und auf einem DC getestet, der auf Windows Server 2016 läuft. Wenn Sie das Skript auf Windows Server 2012, 2012 R2 oder 2008 ausführen müssen, müssen Sie möglicherweise einige PowerShell-Module importieren.

Bevor Sie das Skript ausführen, überprüfen Sie die folgenden Prerequisites:

  • Eine CSV-Datei mit den Informationen der Studierenden (Vorname, Nachname, Sam-Kontoname und E-Mail-Adresse)
  • Eine Text- oder Word-Datei (doc oder docx) mit einer Willkommens-E-Mail-Nachricht
  • Eine aktivierte Internetverbindung (wenn Sie einen Gmail SMTP-Server verwenden möchten)

Ausgewählte verwandte Inhalte:

Wenn Sie alle diese Anforderungen erfüllt haben, können Sie AD-Konten erstellen und Willkommens-E-Mails in großen Mengen versenden, indem Sie zwei einfache Schritte befolgen:

Schritt 1.

Kopieren und fügen Sie das Skript in eine Textdatei ein und speichern Sie es mit der .ps1-Erweiterung:

      ##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
      

Schritt 2.

Öffnen Sie PowerShell mit Ihren erhöhten Privilegien und führen Sie die Skriptdatei aus, die Sie in Schritt 1 erstellt haben.

Sobald das Skript erfolgreich ausgeführt wurde, können sich die Benutzer sofort im Domain anmelden. Sie können die Kontoerstellung in der Active Directory Users and Computers-Konsole überprüfen und die Benachrichtigung über die Kontoerstellung mithilfe des CC-Feldes im Send-MailMessage-Cmdlet per E-Mail versenden.

Schauen Sie sich meinen letzten Beitrag an, um zu erfahren, wie Sie neue Benutzer, die in AD hinzugefügt wurden, innerhalb der letzten 24 Stunden entdecken und ihre Anmeldeinformationen per PowerShell versenden können. Sie können auch diesen How-to: Export Specific Users from Active Directory ausprobieren, falls Sie häufig gebeten werden, AD-Benutzer in CSV zu exportieren.

Bitte zögern Sie nicht, Ihre Vorschläge in den Kommentaren zu hinterlassen, damit wir die Funktionalität des Skripts verbessern können.

Teilen auf

Erfahren Sie mehr

Über den Autor

Asset Not Found

Karim Buzdar

Support-Techniker

IT-Ingenieur und Microsoft Certified Solutions Associate (MCSA) für Serverinfrastruktur. Als technischer Autor konzentriert sich Karim auf Microsoft Directory Services und PowerShell.