Aktif Dizin Toplu Kullanıcı Oluşturma 2
Aktif Dizin Toplu Kullanıcı Oluşturma 2
Daha önce toplu kullanıcı oluşturma scriptini paylaşmıştım. Bu script üzerinde bir kaç değişiklik yaparak daha kullanışlı bir hale getirdim. Yaptığım değişiklikler şu şekilde:
1- Var olan kullanıcıyı tespit etme ve bu kullanıcı adının sonuna 1,2,3 gibi rakamlar ekleyerek kullanıcıyı açma
Büyük yapılarda kullanıcı adı çakışması sık yaşanılan bir problem. Eğer kullanıcı adı TC no veya sicil no gibi benzersiz ise sizin için bir sorun yok. Ancak “ad-soyad”, “adın ilk harfi-soyad”, “soyadınilkharfi-ad” gibi kombinasyonlu kullanıcı adlarınız varsa çakışma ihtimali oldukça yüksektir. Bunu önlemek ve standartınızı bozmamak için kullanıcı adının sonuna 1,2,3 gibi sayılar eklemek gerekiyor.
2- Açılan kullanıcı hesabına eposta bağlama
Açılan kullanıcılara tekrar eposta bağlamayla uğraşmamak adına tek bir script ile bu işlemi yapmak istedim.
Diğer konuda olduğu gibi burda da csv dosyamızı düzgün bir şekilde yapılandırmamız gerekiyor.
Düzenlenmiş scripti aşağıda paylaşıyorum. Scripti Domain Controller üzerinde çalıştırırsanız eposta açma işlemini yapamayacaktır. Bu yüzden scripti exchange sunucusu üzerinden çalıştırmanız gerekmektedir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# delimiter ; olarak ayarlanmali. #Adi;Soyadi;Tcno;sehir;pwdd;upn;sicil;unvan;sirket;office; Write-Host "##########################################" Write-Host "# #" Write-Host "# Enable multiple Domain Account #" -foregroundcolor cyan Write-Host "# created by: Hasan AYGIR #" -foregroundcolor cyan Write-Host "# #" Write-Host "##########################################" $csv = @() $csv = Import-Csv -Delimiter ";" -Path "C:\ADTopluKullaniciOlusturma.csv" ForEach ($user In $csv) { $SamAccountName = $User.UPN $UPN = $User.UPN+ "@hasanaygir.com" $Aliases = $User.UPN $Adi = $User.Adi $Soyadi = $User.Soyadi $DisplayName = "$Adi" + " " + "$Soyadi" $Password1 = $User.pwdd $sehir= $user.sehir $unvan= $user.unvan if ($sehir-eq "ANKARA") {$ou1 = “ankara”;} if ($sehir-eq "BARTIN") {$ou1 = “bartin”;} $path = "OU=$ou1,DC=hasanaygir,DC=com" $office= $user.office $EmployeeID=$user.sicil $acbTcNo= $user.Tcno $acbMobilNo = $user.Tel $ilce = $user.ilce $company = $user.sirket #Kullanıcı hesabı varsa var kullanıcı hesabının sonuna 1,2,3 gibi sayılar ekleme $count = 0 do { $kullanici = $null try {$kullanici = get-aduser $Samaccountname}catch{} if ($kullanici -ne $null) { $count++ if ($samaccountname.substring($samaccountname.length - 1) -match "[0-9]") { $samaccountname = $samaccountname.substring(0,$samaccountname.length-1) } $Samaccountname = $Samaccountname + $count } }while ($kullanici -ne $Null) ################################################################################ $Eposta = $SamAccountName+ "@hasanaygir.com" New-ADUser -Path $path -Name $DisplayName -DisplayName $DisplayName -SamAccountName $SamAccountName -UserPrincipalName $Samaccountname@hasanaygir.com -City $sehir -Office $office -GivenName $adi -Surname $soyadi -AccountPassword (ConvertTo-SecureString $Password1 -AsPlaintext -force) -Enabled $True -Title $unvan -company $company -employeeID $EmployeeID write-host $SamAccountName "Kullanıcı hesabı açıldı" -foregroundcolor green Start-Sleep -s 15 #Açılan kullanıcı hesabına eposta bağlama Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn Enable-Mailbox -Identity $SamAccountName -Database "DB1000" -Alias $SamAccountName | Set-Mailbox -EmailAddressPolicyEnabled $false -PrimarySmtpAddress $Eposta write-host $SamAccountName "Eposta hesabı açıldı" -foregroundcolor magenta ######################################### } |