52 lines
2.1 KiB
PowerShell
52 lines
2.1 KiB
PowerShell
# Import active directory module for running AD cmdlets
|
|
Import-Module activedirectory
|
|
|
|
#Store the data from ADUsers.csv in the $ADUsers variable
|
|
$ADUsers = Import-csv "Templates\Import-AdUsers.csv" -Delimiter ";" -Encoding UTF8
|
|
$Domain = "dom.hitea.fr"
|
|
|
|
#Loop through each row containing user details in the CSV file
|
|
foreach ($User in $ADUsers) {
|
|
|
|
$FullName = "$($User.firstname) $($User.lastname)"
|
|
$Upn = "$($User.username)@$Domain"
|
|
|
|
if ((Get-AdUser -Filter "SamAccountName -eq '$($User.username)'")) {
|
|
Write-Warning "A user account with username $($User.username) already exist in Active Directory."
|
|
}
|
|
elseif (([string]::IsNullOrEmpty($User.password))) {
|
|
Write-Warning "The password for $($User.username) is nul or empty."
|
|
}
|
|
elseif (($User.username).Length -gt 19) {
|
|
Write-Warning "The username $($User.username) is too long (Greater than 20)."
|
|
}
|
|
else {
|
|
try {
|
|
New-ADUser `
|
|
-SamAccountName $User.username `
|
|
-UserPrincipalName $Upn `
|
|
-GivenName $User.firstname `
|
|
-Surname $User.lastname `
|
|
-Name $FullName `
|
|
-DisplayName $FullName `
|
|
-Path $User.ou `
|
|
-Company $User.company `
|
|
-State $User.state `
|
|
-City $User.city `
|
|
-StreetAddress $User.streetaddress `
|
|
-OfficePhone $User.telephone `
|
|
-EmailAddress $User.email `
|
|
-Title $User.jobtitle `
|
|
-Department $User.department `
|
|
-AccountPassword (convertto-securestring $User.password -AsPlainText -Force) `
|
|
-Enabled $True `
|
|
-ChangePasswordAtLogon $False `
|
|
-PasswordNeverExpires $True `
|
|
-CannotChangePassword $False
|
|
Write-Host "The user $($User.firstname) $($User.lastname) ($($User.username)) was created."
|
|
}
|
|
catch {
|
|
Write-Error "The user $($User.firstname) $($User.lastname) ($($User.username)) was not created."
|
|
}
|
|
}
|
|
} |