CSV ile Active Directory Ortamında Toplu Kullanıcı Oluşturma İşlemleri
Active Directory ortamında kullanıcı oluşturma işlemleri büyük şirketler için bazen karmaşık bir hale gelebiliyor. Hem yeni işe başlayan kişiler hem de BT departmanındaki çalışanlar zamansal problemlerden, insan kaynaklı hatalardan veya aşırı karmaşık iş akışlarından etkilenebiliyor. Yeni bir kullanıcının sisteme detaylı olarak girişi bazen bir iş günü sürebiliyor. Her gün çok sayıda çalışanın gelip gittiği büyük şirketlerde bu süre giderek artabiliyor ve büyük maliyet kayıplarına yol açabiliyor. Neyse ki Active Directory ortamında toplu olarak kullanıcıları eklemenin basit ve kolay bir yolu var. Powershell ve csv dosyası ile kullanıcıları Active Directory ortamına kolay bir şekilde ekleyebilirsiniz.
İnsan Kaynakları tarafından yeni işe başlamış kişilerin bilgileri csv dosyası şeklinde BT departmanına gönderilir. Daha sonra BT departmanı bu dosyayı powershell ile Active Directory ortamına import ederek yeni kullanıcıların hızlı bir şekilde oluşmasını sağlayabilir.
Aşağıda toplu olarak nasıl kullanıcı eklenir onu anlatacağım. Ben powershell komutu için aşağıdaki attribute’ları kullandım.
- AccountPassword
- Enabled
- GivenName
- Name
- Path
- SamAccountName
- Surname
- UserPrincipalName
Benim oluşturduğum csv uzantılı dosyamda 3 kişinin bilgileri bulunmaktadır.
![](https://i0.wp.com/www.cozumpark.com/wp-content/uploads/2024/03/csv1.png?resize=780%2C117&ssl=1)
Aşağıdaki Powershell komutunu düzenliyorum.
$csvPath = “C:\script\users.csv” kısmında csv dosyamın yolunu belirtiyorum. Burayı kendinize göre düzenlemeyi unutmayınız.
Düzenlenecek bir diğer kısım ise ‘UserPrincipalName’ = “[email protected]” bölümüdür. Burada “cloudcorp.local” yazan yere kendi domain isminizi yazmayı unutmayınız.
Import-Module ActiveDirectory
# CSV dosyasının yolunu belirtin
$csvPath = "C:\script\users.csv"
# CSV dosyasını içe aktarın
$userData = Import-Csv $csvPath
# CSV dosyasındaki her bir satır için döngü
foreach ($user in $userData) {
# Kullanıcı bilgileri CSV'den alınır.
$username = $user.Username
$password = $user.Password
$firstname = $user.FirstName
$lastname = $user.LastName
$email = $user.Email
$ouPath = $user.OUPath
# Burada kullanıcı kayıtları Active Directory'de kontrol edilir.
if (Get-ADUser -Filter { SamAccountName -eq $username }) {
Write-Host "$username adlı kullanıcı zaten mevcut."
$existingUsers += $username
}
else {
# Kullanıcı oluşturma işlemi
$securePassword = ConvertTo-SecureString -String $password -AsPlainText -Force
$userParams = @{
'SamAccountName' = $username
'UserPrincipalName' = "[email protected]"
'Name' = "$firstname $lastname"
'GivenName' = $firstname
'Surname' = $lastname
'Email' = $email
'AccountPassword' = $securePassword
'Enabled' = $true
'Path' = $ouPath
}
New-ADUser @userParams
Write-Host "Kullanıcı $username başarıyla oluşturuldu."
$createdUsers += $username
}
}
Bu komutu ps1 uzantılı dosya olarak kaydediyoruz. Daha sonra Powershell’i yönetici olarak açıyor ve dosyayı çalıştırıyoruz.
![](https://i0.wp.com/www.cozumpark.com/wp-content/uploads/2024/03/csv2-jpg.webp?resize=588%2C202&ssl=1)
Gördüğünüz gibi kullanıcılarımız başarıyla oluşturuldu.
![](https://i0.wp.com/www.cozumpark.com/wp-content/uploads/2024/03/csv3-jpg.webp?resize=764%2C464&ssl=1)
Eğer gelen csv dosyasındaki kullanıcılardan daha önce oluşturulanlar var ise komutu çalıştırdığımız takdirde şu şekilde bir sonuç alacağız.
![](https://i0.wp.com/www.cozumpark.com/wp-content/uploads/2024/03/csv4-jpg.webp?resize=525%2C237&ssl=1)
Komutu çalıştırdıktan sonra bu kullanıcıların daha önce oluşturulduğu bilgisini görüyoruz. Siz de büyük yapılarınızın olduğu ortamlarda bu komutlar ile kolayca kullanıcı oluşturabilirsiniz.
Bir diğer makalede görüşmek dileğiyle kendinize iyi bakın.
Eline sağlık.
Sağolun Hocam. Teşekkür ederim.