Er zijn momenten waarop u gebruikers in bulk in Active Directory wilt importeren. U heeft al een AD-gebruikersexport naar CSV-bestand uitgevoerd. Maar nu gebruikt u dat CSV-bestand graag om de gebruikers weer in AD te importeren. De snelste en meest uitstekende aanpak is het gebruik van PowerShell. In dit artikel leert u hoe u AD-gebruikers uit CSV kunt importeren met PowerShell.
Het Import-ADUsers.ps1 PowerShell-script doorloopt het CSV-bestand en maakt AD-gebruikers aan met de onderstaande informatie per gebruiker:
- Volledige naam
- Voornaam
- Achternaam
- Weergavenaam
- Aanmeldingsnaam van gebruiker
- Hoofdnaam van gebruiker
- Straat
- Stad
- Staat
- Postcode
- Land
- Functietitel
- Afdeling
- Bedrijf
- Manager
- OF
- Beschrijving
- Kantoor
- Telefoonnummer
- Mobiel
- Opmerkingen
- Accountstatus
Opmerking:Voor het account is het wachtwoord ingesteld alsP@ssw0rd1234. Wijzig dit in een ander wachtwoord in het PowerShell-script.
Hoe gebruikers vanuit CSV-bestand in Active Directory te importeren
Laten we de stappen doorlopen en Active Directory-gebruikers bulksgewijs importeren uit een CSV-bestand met PowerShell.
Stap 1: Maak een CSV-bestand met gebruikers
Zonder een CSV-bestand kunt u het script niet gebruiken en de gebruikers niet in AD importeren.
- Als u al een Active Directory heeft, kunt u het script uitvoeren in het artikel AD-gebruikers exporteren naar CSV met PowerShell. Gebruik daarna dat CSV-bestand.
- Stel dat u geen Active Directory heeft om de AD-gebruikers naar een CSV-bestand te exporteren en alleen een voorbeeld van een CSV-bestand wilt, zodat u het kunt bewerken en gebruiken; download het CSV-bestand ImportADUsers.csv.

Download en plaats het Import-ADUsers.ps1 PowerShell-script op de domeincontrollerC:scriptsmap. Als u geen map met scripts heeft, maakt u er een.
Zorg ervoor dat het bestand is gedeblokkeerd om fouten bij het uitvoeren van het script te voorkomen. Lees meer in het artikel Fout niet digitaal ondertekend bij het uitvoeren van PowerShell-script.
Een andere optie is om de onderstaande code te kopiëren en in Kladblok te plakken. Geef het de naamImport-ADUsers.ps1en plaats deze in deC:scriptsmap.
<#
.SYNOPSIS
Import-ADUsers.ps1
.DESCRIPTION
Import Active Directory users from CSV file.
.LINK
alitajran.com/import-ad-users-from-csv-powershell
.NOTES
Written by: ALI TAJRAN
Website: alitajran.com
LinkedIn: linkedin.com/in/alitajran
.CHANGELOG
V2.00, 02/11/2024 - Refactored script
#>
# Define the CSV file location and import the data
$Csvfile = "C:tempImportADUsers.csv"
$Users = Import-Csv $Csvfile
# The password for the new user
$Password = "P@ssw0rd1234"
# Import the Active Directory module
Import-Module ActiveDirectory
# Loop through each user
foreach ($User in $Users) {
try {
# Retrieve the Manager distinguished name
$managerDN = if ($User.'Manager') {
Get-ADUser -Filter "DisplayName -eq '$($User.'Manager')'" -Properties DisplayName |
Select-Object -ExpandProperty DistinguishedName
}
# Define the parameters using a hashtable
$NewUserParams = @{
Name = "$($User.'First name') $($User.'Last name')"
GivenName = $User.'First name'
Surname = $User.'Last name'
DisplayName = $User.'Display name'
SamAccountName = $User.'User logon name'
UserPrincipalName = $User.'User principal name'
StreetAddress = $User.'Street'
City = $User.'City'
State = $User.'State/province'
PostalCode = $User.'Zip/Postal Code'
Country = $User.'Country/region'
Title = $User.'Job Title'
Department = $User.'Department'
Company = $User.'Company'
Manager = $managerDN
Path = $User.'OU'
Description = $User.'Description'
Office = $User.'Office'
OfficePhone = $User.'Telephone number'
EmailAddress = $User.'E-mail'
MobilePhone = $User.'Mobile'
AccountPassword = (ConvertTo-SecureString "$Password" -AsPlainText -Force)
Enabled = if ($User.'Account status' -eq "Enabled") { $true } else { $false }
ChangePasswordAtLogon = $true # Set the "User must change password at next logon"
}
# Add the info attribute to OtherAttributes only if Notes field contains a value
if (![string]::IsNullOrEmpty($User.Notes)) {
$NewUserParams.OtherAttributes = @{info = $User.Notes }
}
# Check to see if the user already exists in AD
if (Get-ADUser -Filter "SamAccountName -eq '$($User.'User logon name')'") {
# Give a warning if user exists
Write-Host "A user with username $($User.'User logon name') already exists in Active Directory." -ForegroundColor Yellow
}
else {
# User does not exist then proceed to create the new user account
# Account will be created in the OU provided by the $User.OU variable read from the CSV file
New-ADUser @NewUserParams
Write-Host "The user $($User.'User logon name') is created successfully." -ForegroundColor Green
}
}
catch {
# Handle any errors that occur during account creation
Write-Host "Failed to create user $($User.'User logon name') - $($_.Exception.Message)" -ForegroundColor Red
}
}- Regel 21:Bewerk de CSV-bestandslocatie.
- Regel 25:Wachtwoord wijzigen.
Voer PowerShell uit als beheerder en voer het PowerShell-script uit om AD-gebruikers uit het CSV-bestand te importeren. Wacht tot het voltooid is.
C:scripts.Import-ADUsers.ps1Het script laat zien of:
- De gebruiker is succesvol aangemaakt.
- De gebruiker bestaat al.
- De gebruiker kan niet worden aangemaakt met de foutmelding.
A user with username Kylie.Davidson already exists in Active Directory.
A user with username Leonard.Clark already exists in Active Directory.
A user with username Madeleine.Fisher already exists in Active Directory.
A user with username Melanie.Scott already exists in Active Directory.
A user with username Nicholas.Murray already exists in Active Directory.
A user with username Piers.Bower already exists in Active Directory.
A user with username Ruth.Dickens already exists in Active Directory.
The user Sebastian.Nolan is created successfully.
The user Zoe.Roberts is created successfully.Controleer of de gebruikers succesvol zijn aangemaakt in Active Directory.

Conclusie
U hebt geleerd hoe u AD-gebruikers uit CSV kunt importeren met PowerShell. Als u het PowerShell-script voor AD-gebruikers exporteren gebruikt en u de gebruikers weer in Active Directory wilt importeren, voert u het PowerShell-script voor AD-gebruikers importeren uit.
Vond je dit artikel leuk? Mogelijk vindt u dit ook interessant: Exporteer uitgeschakelde gebruikers uit Active Directory. Vergeet ons niet te volgen en dit artikel te delen.
Aanbevolen leesmateriaal:Exporteer DNS-records naar CSV met PowerShell













![[Opgelost] Waar gaan AirDrop-bestanden en foto's naartoe op iPhone/Mac?](https://elsefix.com/statics/image/placeholder.png)