Kurumsal IT ortamlarında sunucuların yönetimi genellikle karmaşık ve zaman alıcı bir süreçtir. Özellikle farklı Organizational Unit’ler (OU) altında bulunan sunucuları tek bir Active Directory (AD) grubuna eklemek gerektiğinde manuel işlemler hata riskini artırarak IT ekipleri için büyük bir yük oluşturabilir. Ancak PowerShell kullanarak bu süreci otomatikleştirmek mümkündür.
Bu makalemde farklı OU’larda bulunan Windows sunucularını tek bir Active Directory grubuna kolayca ekleyebilmenizi sağlayacak bir PowerShell çözümünü ele alacağız.
Birden fazla OU’da yer alan Windows sunucularının merkezi bir AD grubuna eklenmesi aşağıdaki nedenlerden dolayı manuel olarak yönetildiğinde karmaşık bir süreç haline gelebilir:
- Fazla Zaman ve Efor Gerektirmesi: Her bir sunucunun tek tek belirlenip AD grubuna eklenmesi büyük ölçekli sistemlerde zaman kaybına neden olabilir.
- İnsan Hatası Riski: Elle yapılan işlemler sırasında hatalar meydana gelebilir ve bazı sunucular yanlışlıkla eklenebilir ya da gözden kaçabilir.
- Ölçeklenebilirlik Problemleri: Büyük organizasyonlarda binlerce sunucu olabilir ve bunların yönetimi manuel olarak neredeyse imkansız hale gelir.
Bu gibi zorluklarla başa çıkabilmek için PowerShell kullanarak süreçleri otomatik hale getirmek büyük bir avantaj sağlar.
Aşağıdaki PowerShell scripti belirlenen OU’lar içerisinde yer alan tüm Windows sunucularını merkezi bir Active Directory grubuna ekler ve süreci büyük ölçüde kolaylaştırır;
$GroupName = "SunucuGrubu" # AD grubunun adı
$OUs = @("OU=Sunucular1,DC=domain,DC=com", "OU=Sunucular2,DC=domain,DC=com") # Sunucuların bulunduğu OU’lar
foreach ($OU in $OUs) {
$Servers = Get-ADComputer -Filter {OperatingSystem -like "*Windows Server*"} -SearchBase $OU # OU içindeki Windows sunucularını getir
foreach ($Server in $Servers) {
Add-ADGroupMember -Identity $GroupName -Members $Server.SamAccountName # Sunucuları belirlenen AD grubuna ekle
}
}
- $GroupName: Windows sunucularının ekleneceği Active Directory grubunun adını belirtir.
- $OUs: Sunucuların bulunduğu Organizational Unit’lerin listesini içerir.
- Get-ADComputer: Belirtilen OU içinde Windows Server işletim sistemine sahip cihazları listeler.
- Add-ADGroupMember: Bulunan sunucuları belirlenen AD grubuna ekleyerek süreci tamamlar.
PowerShell betiğini çalıştırmadan önce, bazı ön gereksinimlerin karşılandığından emin olmanız gerekir:
PowerShell AD modülünün sisteminizde yüklü olup olmadığını aşağıdaki komutla kontrol edebilirsiniz;
Get-Module -Name ActiveDirectory -ListAvailable
Eğer modül yüklü değilse, Windows Server işletim sisteminde RSAT (Remote Server Administration Tools) kullanılarak kurulabilir.
Scripti çalıştırmadan önce PowerShell’i yönetici yetkileriyle açtığınızdan emin olun. Aksi takdirde script gerekli izinlere sahip olmayabilir ve hata verebilir.
Scripti bir .ps1
dosyası olarak kaydedin ve ardından PowerShell terminalinde şu komutu çalıştırarak scripti çalıştırabilirsiniz;
.\script.ps1