PowerShell ile Kullanıcı Şifrelerinin Yeniden Ayarlanması

PowerShell ile Kullanıcı Şifrelerinin Yeniden Ayarlanması ve Değişim Tarihlerini Kontrol Etme

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.


 

Bir yanıt yazın

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