Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Import-Module ActiveDirectory
- $securePassword = ConvertTo-SecureString "TESTpassw0rd!" -AsPlainText -Force
- $filePath = Read-Host -Prompt "Please enter the path to the CSV file that contains the new user accounts"
- $users = Import-Csv $filePath
- foreach ($user in $users) {
- $fname = $user.'First Name'
- $lname = $user.'Last Name'
- $jtitle = $user.'Job Title'
- $officePhone = $user.'Office Phone'
- $emailAddress = $user.'Email Address'
- $description = $user.Description
- $OUpath = $user.'Organizational Unit'
- $accountNumber = verifyUsername($user.'First Name'[0] + $user.'Last Name')
- $username = ($user.'First Name'[0] + $user.'Last Name' + $accountNumber)
- New-ADUser `
- -Name "$fname $lname $accountNumber" `
- -GivenName $fname `
- -Surname $lname `
- -UserPrincipalName $username `
- -SamAccountName $username `
- -Title $jtitle `
- -OfficePhone $officePhone `
- -EmailAddress $emailAddress `
- -Description $description `
- -Path $OUpath `
- -AccountPassword $securePassword `
- -ChangePasswordAtLogon 1 `
- -Enabled $True
- }
- function verifyUsername($username) {
- $i = 1
- if (userNameTaken($username) -eq $True) {
- while (userNameTaken($username + $i) -eq $True) {
- $i++
- }
- else {
- return ""
- }
- return $i
- }
- }
- function userNameTaken($username) {
- $test1 = Get-ADUser -Filter { userPrincipalName -eq $username }
- $test2 = Get-ADUser -Filter { samAccountName -eq $username }
- if($test1 -eq $Null -and $test2 -eq $Null) {
- return $False
- } else {
- return $True
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement