Powershell ile Active Directory Toplu Kullanıcı Oluşturma

Active Directory ortamlarında kullanıcı yönetimi, özellikle orta ve büyük ölçekli organizasyonlarda ciddi bir operasyonel yük oluşturabilir. Tek tek kullanıcı hesabı açmak hem zaman alıcıdır hem de insan hatasına oldukça açıktır. Bu noktada otomasyon devreye girer ve sistem yöneticilerine büyük bir verimlilik kazancı sağlar.

Powershell, Microsoft ekosisteminde otomasyonun bel kemiği olarak, Active Directory ile entegre çalışabilen güçlü komut setleri sunar. Bu sayede yüzlerce hatta binlerce kullanıcıyı, standartlara uygun şekilde ve dakikalar içinde oluşturmak mümkün hale gelir. Özellikle onboarding süreçlerinde, departman bazlı kullanıcı açılışlarında veya toplu veri migrasyonlarında Powershell kullanımı kaçınılmaz bir avantaj sağlar.

Toplu kullanıcı oluşturma işlemi yapılırken Excel den faydalanabiliriz. Tüm kullanıcılarımızı ve gerekli olan diğer bilgileri aşağıdaki gibi kaydedebiliriz.

Ekran goruntusu 2026 03 18 215748 Copy

Çalışanların ad ve soyadları bize bu formatta gelir; diğer bilgileri ise verilen değerlerle doldurabiliriz. Bu işlem için Excel fonksiyonlarını kullanacağız.

Ekran goruntusu 2026 03 20 002920 Copy

FullName bölümünü doldurmak için yukarıda belirtilen fonksiyonu kullandım.

Ekran goruntusu 2026 03 20 003326 Copy

SAM bölümünü doldurmak için yukarıda belirtilen fonksiyonu kullandım. Fonksiyon uzun olduğu için aşağıdan kopyalayabilirsiniz. Bu uzunluğun nedeni, Türkçe karakterlerin kaldırılması işlemidir.

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(LOWER(A2&"."&B2),"ç","c"),"ğ","g"),"ı","i"),"ö","o"),"ş","s"),"ü","u")

Son olarak UPN kısmına bakalım. UPN ( User Principal Name ), bir kullanıcının Active Directory ortamında oturum açmak için kullandığı benzersiz kullanıcı adıdır. Bunu da yine bir fonksiyonla tamamlayabiliriz.

Ekran goruntusu 2026 03 20 003725 Copy
=D2&"@"&"huseyinpala.local"

Daha sonra dosyamızı CSV (Comma Delimited), yani virgülle ayrılmış formatta kaydedelim. Not Defteri ile açtığımızda aşağıdaki gibi görünecektir.

Ekran goruntusu 2026 03 20 004242 Copy

Ardından .csv uzantılı dosyayı sunucuya yükleyelim. Sonrasında uzun bir script çalıştıracağımız için Powershell ISE başlatalım.

Ekran goruntusu 2026 03 20 004742 Copy

Ardından yukarıdaki komutları kullanalım.

Import-CSV komutu ile hazırladığımız CSV uzantılı dosyayı içe aktarıyoruz. ForEach-Object ile bir döngü oluşturarak her bir kayıt üzerinde işlem yapıyoruz.

Her kullanıcı için bir parola belirlemek amacıyla ConvertTo-SecureString cmdlet’ini kullanıyoruz.

Sonrasında, dosyada yer alan bilgilerin yüklenen CSV dosyasından alınmasını sağlıyoruz.

Path parametresi ile kullanıcıların hangi Organizational Unit (OU) altında oluşturulacağını belirtiyoruz.

Ardından yazdığımız scripti çalıştırıyoruz. Bu işlem sonucunda, dosyada belirttiğimiz kullanıcılar ilgili OU altında oluşturulmuş olacaktır.

Aşağıdaki kodu kopyalayarak kendi örneklerinizde kullanabilirsiniz.

Import-Csv "C:\Users\Administrator\Desktop\kullanici-listesi.csv" | ForEach-Object {
    $securePass = ConvertTo-SecureString -AsPlainText "huseyinpala.com" -Force 

    New-ADUser -GivenName $_.FirstName `
               -Surname $_.LastName `
               -Name $_.FullName `
               -DisplayName $_.FullName `
               -SamAccountName $_.SAM `
               -UserPrincipalName $_.UPN `
               -AccountPassword $securePass `
               -ChangePasswordAtLogon $true `
               -Enabled $true `
               -Path "ou=deneme,ou=denemeler,ou=huseyinpala,dc=huseyinpala,dc=local"
}

Daha fazla Windows içeriği için takipte kalın…

About Hüseyin Pala 156 Articles
Junior Network Specialist

Be the first to comment

Leave a Reply

Your email address will not be published.


*