Active Directory Son Logon Tarihlerinin Listelenmesi
Merhaba,
AD kullanırken genelede çoğumuz ‘Computer’ kayıtlarını takip etmeyiz. Zamanla burada birçok Computer kaydı birikir ve birgün bunları temizlememiz gerekir. İşte o anda kafa karışıklıklarımız başlar. Hangi kayıt aktif? Hangisi aylardır kullanılmıyor? Bunlara takılarak işin içinden çıkamaz hale gelebiliyoruz.
Bu noktada yapmamız gerekenler aslında çok basit. PowerShell’den yapacağımız bir kaç işlem sonunda bunları son logon tarihleri ile ayıklayabilir, yine buradan istediğimiz tarihten öncesine ait kayıtları silebiliriz. Gelin bu nasıl oluyor bir bakalım.
Öncelikle Active Directory Module for Windows PowerShell’i açıyoruz. Öncelikle son logon tarihlerini öğrenmekle işe başlayalım. Bunun için aşağıdaki komutu PowerShell üzerinde yazıyoruz.
Get-ADComputer -Filter * -Properties * | FT Name, LastLogonDate -Autosize

Bu komut bize tüm bilgisayarların logon tarihlerini sırasız olarak getirecektir. Eğer tarih sırasına göre görmek istiyorsak bu komutu Sort LastLogonDate parametresi ile kullanmamız gerekecek.
Örnek;
Get-ADComputer -Filter * -Properties * | Sort LastLogonDate | FT Name, LastLogonDate -Autosize

Görüleceği üzere listemiz sıralı olarak geliyor. Bu listeyi buradan takip etmek veya filtrelemek mümkün olmadığından listemizi export etmemiz daha faydalı olacaktır.
Get-ADComputer -Filter * -Properties * | Sort LastLogonDate | FT Name, LastLogonDate -Autosize | Out-File C:\SonLogonTarihleri.txt
Bu komutla listemizi C:\ diskimizin altına export ediyoruz. Silmek istediklerimizi buradan filtreleyerek ayrıştırabiliriz.
Peki ben belli bir tarihten eski logon tarihlerini Powershell’de görmek istiyorum derseniz? Bunun içinde aşağıdaki komutu kullanabiliriz. Aşağıdaki komutta göreceğiniz 8 sayısı hafta olarak değerlendirilecektir. Yani 8 haftadan daha eski kayıtları bize gösterecektir.
dsquery.exe computer –inactive 8
AD üzerindeki disable olan computer kayıtlarını görmek için ise aşağıdaki komutu kullanabiliriz.
dsquery.exe computer –disabled
Disable durumdaki bilgisayarları da bu şekilde görmüş olduk.
Peki bu kayıtları PowerShellden nasıl sileriz? Bunun için komutlarımızı ise aşağıda sırası ile veriyorum.
dsquery computer –disabled -limit 0 | dsrm –noprompt
dsquery computer -inactive 8 -limit 0 | dsrm -noprompt
Fakat şunu belirteyim bu komutlar bende işe yaramadı. İnternette bulduğum komutlar bunlar. Çıkarmış olduğum liste ile kayıtları manuel silmek zorunda kaldım. Eğer siz bu komutları doğru şekilde çalıştırabilirseniz lütfen yorumda paylaşın 🙂
Şimdilik bu kadar. 🙂 Başka bir makalede görüşmek üzere. Hoşçakalın.