Advertisement
Guest User

Untitled

a guest
May 8th, 2019
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Import-Module ActiveDirectory
  2.  
  3. $securePassword = ConvertTo-SecureString "TESTpassw0rd!" -AsPlainText -Force
  4.  
  5. $filePath = Read-Host -Prompt "Please enter the path to the CSV file that contains the new user accounts"
  6.  
  7. $users = Import-Csv $filePath
  8.  
  9. foreach ($user in $users) {
  10.     $fname = $user.'First Name'
  11.     $lname = $user.'Last Name'
  12.     $jtitle = $user.'Job Title'
  13.     $officePhone = $user.'Office Phone'
  14.     $emailAddress = $user.'Email Address'
  15.     $description = $user.Description
  16.     $OUpath = $user.'Organizational Unit'
  17.  
  18.     $accountNumber = verifyUsername($user.'First Name'[0] + $user.'Last Name')
  19.     $username = ($user.'First Name'[0] + $user.'Last Name' + $accountNumber)
  20.  
  21.     New-ADUser `
  22.         -Name "$fname $lname $accountNumber" `
  23.         -GivenName $fname `
  24.         -Surname $lname `
  25.         -UserPrincipalName $username `
  26.         -SamAccountName $username `
  27.         -Title $jtitle `
  28.         -OfficePhone $officePhone `
  29.         -EmailAddress $emailAddress `
  30.         -Description $description `
  31.         -Path $OUpath `
  32.         -AccountPassword $securePassword `
  33.         -ChangePasswordAtLogon 1 `
  34.         -Enabled $True
  35. }
  36.  
  37. function verifyUsername($username) {
  38.     $i = 1
  39.  
  40.     if (userNameTaken($username) -eq $True) {
  41.         while (userNameTaken($username + $i) -eq $True) {
  42.             $i++
  43.         }
  44.         else {
  45.             return ""
  46.         }
  47.         return $i
  48.     }
  49. }
  50.  
  51. function userNameTaken($username) {
  52.     $test1 = Get-ADUser -Filter { userPrincipalName -eq $username }
  53.     $test2 = Get-ADUser -Filter { samAccountName -eq $username }
  54.  
  55.     if($test1 -eq $Null -and $test2 -eq $Null) {
  56.         return $False
  57.     } else {
  58.         return $True
  59.     }
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement