Merhaba, bu yazımda sizlere PowerShell ile Active Directory Yönetimi konusundan bahsedeceğim. Active Directory (AD) yönetimi için PowerShell, özellikle büyük sistemleri yöneten kişilerin ellerini oldukça kuvvetlendirmektedir. Aşağıda Active Directory PowerShell modülünü kullanarak sık kullanılan cmdlet’leri ve bunlarla neler yapabileceğinizi detaylı örneklerle açıklayacağım.
Active Directory Modülünü Yükleme
Powershell üzerinde cmdlet’leri kullanabilmek için AD modülünün mutlaka yüklü olması gerekmektedir. Windows Server’da veya istemci işletim sistemlerinde bu modülü şu şekilde yükleyebilirsiniz.
Windows Server
Install-WindowsFeature -Name RSAT-AD-PowerShell
Windows 10/11
Add-WindowsCapability -Online -Name Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0
Modülü İçe Aktarma
Import-Module ActiveDirectory
Kullanıcı Yönetimi
Tüm Kullanıcıları Listeleme
Get-ADUser -Filter * | Select-Object Name, SamAccountName
Kullanıcı Detaylarını Getirme
Get-ADUser -Identity “kullanici_adi” -Properties *
Çıktıda Kullanılan Önemli Attributelar
- Name: Kullanıcı adı.
- SamAccountName: Giriş adı.
- EmailAddress: E-posta adresi.
- Department: Departman bilgisi.
- LastLogonDate: Son giriş tarihi.
Yeni Kullanıcı Oluşturma
New-ADUser -Name “Ali Veli” -GivenName “Ali” -Surname “Veli” -SamAccountName “ali.veli” -UserPrincipalName “ali.veli@domain.local” -Path “OU=Kullanıcılar,DC=domain,DC=local” -AccountPassword (ConvertTo-SecureString “Parola123!” -AsPlainText -Force) -Enabled $true
Kullanıcı Şifresini Değiştirme
Set-ADAccountPassword -Identity “kullanici_adi” -NewPassword (ConvertTo-SecureString “YeniParola123!” -AsPlainText -Force)
Kullanıcıyı Devre Dışı Bırakma
Disable-ADAccount -Identity “kullanici_adi”
Kullanıcıyı Silme
Remove-ADUser -Identity “kullanici_adi”
Grup Yönetimi
Tüm Grupları Listeleme
Get-ADGroup -Filter * | Select-Object Name, GroupScope
Yeni Grup Oluşturma
New-ADGroup -Name “IT Ekibi” -SamAccountName “IT_Ekibi” -GroupScope Global -Path “OU=Gruplar,DC=domain,DC=local”
Gruba Kullanıcı Ekleme
Add-ADGroupMember -Identity “IT Ekibi” -Members “kullanici_adi”
Gruptan Kullanıcı Kaldırma
Remove-ADGroupMember -Identity “IT Ekibi” -Members “kullanici_adi” -Confirm:$false
Organizational Unit (OU) Yönetimi
OU’ları Listeleme
Get-ADOrganizationalUnit -Filter * | Select-Object Name, DistinguishedName
Yeni OU Oluşturma
New-ADOrganizationalUnit -Name “YeniDepartman” -Path “DC=domain,DC=local”
OU’yu Silme
Remove-ADOrganizationalUnit -Identity “OU=YeniDepartman,DC=domain,DC=local” -Confirm:$false
Grup İlkesi (GPO) Yönetimi
GPO’ları Listeleme
Get-GPO -All
Yeni GPO Oluşturma
New-GPO -Name “YeniGPO”
GPO’yu Bir OU’ya Linkleme
New-GPLink -Name “YeniGPO” -Target “OU=Departman,DC=domain,DC=local”
Bilgisayar Yönetimi
Tüm Bilgisayarları Listeleme
Get-ADComputer -Filter * | Select-Object Name, OperatingSystem
Yeni Bilgisayar Hesabı Oluşturma
New-ADComputer -Name “YeniBilgisayar” -Path “OU=Bilgisayarlar,DC=domain,DC=local”
Bilgisayar Hesabını Devre Dışı Bırakma
Disable-ADAccount -Identity “YeniBilgisayar”
Toplu Veri Çıktısı Alma
Kullanıcı Verilerini CSV’ye Aktarma
Get-ADUser -Filter * -Property DisplayName, EmailAddress | Select-Object DisplayName, EmailAddress | Export-Csv -Path “C:\KullaniciListesi.csv” -NoTypeInformation
Tüm Bilgisayarları Listeleme ve CSV’ye Aktarma
Get-ADComputer -Filter * | Select-Object Name, OperatingSystem | Export-Csv -Path “C:\BilgisayarListesi.csv” -NoTypeInformation
Active Directory Arama ve Filtreleme
Belirli Bir Kullanıcıyı Arama
Get-ADUser -Filter {Name -like “*veli*”}
Departmanına Göre Kullanıcı Listeleme
Get-ADUser -Filter {Department -eq “IT”} | Select-Object Name, EmailAddress
Son 30 Günde Giriş Yapmamış Kullanıcıları Listeleme
Get-ADUser -Filter * -Properties LastLogonDate | Where-Object { $_.LastLogonDate -lt (Get-Date).AddDays(-30) }
Diğer Yararlı Komutlar
AD Replikasyon Kontrolü
Get-ADReplicationPartnerMetadata -Target “DC1”
Schema Bilgisi Listeleme
Get-ADObject -SearchBase “CN=Schema,CN=Configuration,DC=domain,DC=local” -Filter * | Select-Object Name
Bu yazımda sizlere PowerShell ile Active Directory Yönetimi konusundan bahsettim. Faydalı olması dileğiyle.