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.


 

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir