×
PowerShell ile Active Directory Yönetimi

PowerShell ile Active Directory Yönetimi

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.


 

1988 İstanbul doğumluyum. Bilgisayar dünyasına olan hayranlığım çok küçük yaşlarda başladı. Bu sebeple sistem alanında kendimi geliştirmeye karar verdim. Celal Bayar Üniversitesi Bilgisayar Programcılığı ve Anadolu Üniversitesi İşletme mezunuyum. Beykent Üniversitesi'nde Yönetim Bilişim Sistemleri Bölümü'nde yüksek lisans eğitimimi tamamladım. 2005 yılında Bilge Adam Sistem & Network Mühendisliği eğitimi aldım. Hemen ardından IT dünyasına giriş yaptım. Collezione şirketinde 2006 - 2018 yılları arasında Sistem Uzmanı olarak görev yaptım. 2018 Temmuz ayından beri LCWAIKIKI şirketinde System Engineer pozisyonunda çalışmaktayım. Sektörde 19 yıllık deneyime sahibim. Birçok önemli projede görev aldım. Sayfanın en alt kısmından Linkedin profilime ulaşabilirsiniz. Bilgi ve tecrübemi hem bu blog üzerinde hem de Çözümpark Bilişim Portalı üzerinde paylaşıyorum.

Yorum gönder