PowerShell ile Kullanıcı Şifrelerinin Yeniden Ayarlanması

Merhaba, bu yazımda sizlere PowerShell ile Kullanıcı Şifrelerinin Yeniden Ayarlanması konusundan bahsedeceğim. Active Directory ortamında kullanıcı şifre güvenliğini sağlamak için belirli aralıklarla kullanıcıların şifrelerini değiştirmesi önemlidir. PowerShell kullanarak, tüm kullanıcıların şifrelerini bir sonraki oturum açışlarında değiştirmelerini zorunlu kılabilir ve kullanıcıların şifre değişiklik geçmişlerini kontrol edebilirsiniz.

Şifrelerin Bir Sonraki Oturumda Değiştirilmesini Zorunlu Kılma

Active Directory kullanıcılarının şifrelerini bir sonraki oturumda değiştirmelerini zorunlu kılmak için Set-ADUser cmdlet’ini kullanabilirsiniz. Aşağıdaki komut, tüm kullanıcılar için bu ayarı uygular:

Tüm Kullanıcılar için Şifre Değiştirme Zorunluluğu

Get-ADUser -Filter * -Property PasswordNeverExpires | Where-Object { $_.PasswordNeverExpires -eq $false } | ForEach-Object {

    Set-ADUser -Identity $_.SamAccountName -ChangePasswordAtLogon $true}

Bu komut ne yapar:

Get-ADUser -Filter: Tüm Active Directory kullanıcılarını getirir.

  • -Property PasswordNeverExpires: Kullanıcı nesnesinin şifre ayarlarını kontrol eder.
  • Where-Object: Şifresi hiçbir zaman sona ermeyen kullanıcıları hariç tutar.
  • Set-ADUser -ChangePasswordAtLogon $true: Kullanıcının şifre değiştirme zorunluluğunu aktif eder.

Not: Bu işlemi yapmadan önce, ortamınızdaki kritik kullanıcı hesaplarını ve servis hesaplarını kontrol ederek yanlışlıkla etkilenmelerini önlemeniz gerekmektedir.

Kullanıcıların Şifrelerini Ne Zaman Değiştirdiğini Kontrol Etme

Kullanıcıların şifre değiştirme geçmişlerini görüntülemek için LastLogonDate ve PasswordLastSet özelliklerini kullanabilirsiniz.

Şifre Değişim Tarihlerini Görüntüleme

Get-ADUser -Filter * -Property SamAccountName, PasswordLastSet | Select-Object SamAccountName, PasswordLastSet | Sort-Object PasswordLastSet

Bu komut ne yapar

  • Get-ADUser -Property PasswordLastSet: Tüm kullanıcıların en son şifre değiştirme tarihlerini getirir.
  • Select-Object: Kullanıcı adı ve şifre değiştirme tarihini seçer.
  • Sort-Object PasswordLastSet: Kullanıcıları şifre değiştirme tarihine göre sıralar.

Belirli Bir Tarihten Önce Şifre Değiştiren Kullanıcıları Filtreleme

$thresholdDate = (Get-Date).AddDays(-90)

Get-ADUser -Filter * -Property PasswordLastSet | Where-Object { $_.PasswordLastSet -lt $thresholdDate } | Select-Object SamAccountName, PasswordLastSet

Bu komut, son 90 gün içinde şifresini değiştirmeyen kullanıcıları listeler.

Tüm Kullanıcıları ve Şifre Bilgilerini CSV’ye Aktarma

Sonuçları bir CSV dosyasına aktarmak, raporlamada kolaylık sağlar. Bunun için Export-Csv cmdlet’i kullanılır:

Get-ADUser -Filter * -Property SamAccountName, PasswordLastSet | Select-Object SamAccountName, PasswordLastSet | Export-Csv -Path “C:\Reports\PasswordChangeReport.csv” -NoTypeInformation -Encoding UTF8

Bu komut, kullanıcı adlarını ve şifre değiştirme tarihlerini “PasswordChangeReport.csv” dosyasına kaydeder.

PowerShell, Active Directory kullanıcı hesaplarının şifre yönetiminde güçlü bir araçtır. Bu yazıda, kullanıcıların şifrelerini bir sonraki oturumda değiştirmelerini zorunlu kılmak, şifre değiştirme tarihlerini kontrol etmek ve bu bilgileri raporlamak için temel komutları incelemiş olduk.

Şifre güvenliği, bir organizasyonun genel güvenlik politikalarının temel bir parçasıdır. Bu komutları düzenli olarak kullanarak, kullanıcılarınızın şifre güvenliğini artırabilir ve olası riskleri en aza indirebilirsiniz. Bu yazımda sizlere PowerShell ile Kullanıcı Şifrelerinin Yeniden Ayarlanması konusundan bahsettim. Faydalı olması dileğiyle.


 

Dağcan Nural

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 20 yıllık deneyime sahibim. Birçok önemli projede görev aldım. Şu an Yapay Zeka Yüksek Lisansı yapıyorum. Oldukça güzel projeler geliştiriyorum. Sayfanın en alt kısmından Linkedin profilime ulaşabilirsiniz. Bilgi ve tecrübemi bu blog üzerinde üzerinde paylaşıyorum.

Related Posts

Domain Ortamında Uzak Sunucularda PowerShell Invoke-Command vs PsExec

Merhaba, bu yazımda sizlere uzak sunucularda PsExec ve Invoke-Command kullanımı konusundan bahsedeceğim. Domain ortamında uzak sunucular üzerinde servis başlatma, durdurma veya yeniden başlatma işlemleri, günlük operasyonlarımızdan bazılarıdır. Domain ortamında çalışan…

Failover Cluster Node’u Karantina Durumundan Çıkarmak

Merhaba, bu yazımda sizlere Failover Cluster Node’u Karantina Durumundan Çıkarmak konusundan bahsedeceğim. Windows Failover Cluster ortamlarında, bir node beklenmedik bir hata nedeniyle karantina moduna geçebilmektedir. Karantina, genellikle ağ bağlantısı sorunları,…

Bir yanıt yazın

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

You Missed

VMware ESXi 8.0 Update 3e Yenilikleri ve Avantajları

VMware ESXi 8.0 Update 3e Yenilikleri ve Avantajları

Google Cloud Gemini Enterprise Agent Platform Tanıtımı

Google Cloud Gemini Enterprise Agent Platform Tanıtımı

Claude Opus 4.7 ile Web Tasarım ve Sunum Araçları

Claude Opus 4.7 ile Web Tasarım ve Sunum Araçları

HPE ProLiant Sunucularda UEFI Ayarlarını Optimize Etme

HPE ProLiant Sunucularda UEFI Ayarlarını Optimize Etme

Microsoft 365 Copilot: Yeni Özellikler ve Avantajlar

Microsoft 365 Copilot: Yeni Özellikler ve Avantajlar

GPO Yedekleme Nasıl Yapılır?

GPO Yedekleme Nasıl Yapılır?