İçerikleri sosyal medya üzerinden paylaşarak daha fazla kişiye ulaşmasına yardımcı olabilirsiniz.




Kategori: Windows Powershell
Fırat Boyan 07.07.2018 1

PowerShell Last Logon İle Bir Zaman Dilimine Kadar Logon Olmamış Bilgisayarları Bulma

PowerShell kullanarak Active Directory kullanıcılarının son oturum açma tarihlerini görmek, Network'ünüzün güvenliğini ve verimliliğini artırmak için önemli bir adımdır. Active Directory'de kullanıcıların son oturum açma zamanlarını takip etmek, hangi hesapların aktif olarak kullanıldığını ve hangilerinin kullanılmadığını belirlemenizi sağlar. Bu bilgi, eski veya kullanılmayan hesapları temizlemek, güvenlik politikalarını uygulamak ve Network performansını optimize etmek için kritik öneme sahiptir.

PowerShell, Active Directory ile etkileşim kurmak ve gerekli bilgileri çekmek için güçlü bir araçtır. Kullanıcıların son oturum açma zamanlarını öğrenmek için PowerShell'de LastLogon ve LastLogonTimestamp Attribute değerlerini kullanabilirsiniz. LastLogon, her Domain Controller'da ayrı ayrı güncellenirken, LastLogonTimestamp özelliği replikasyon sürecinde tüm Domain Controller'larda güncellenir ve daha kolay erişilebilir.

Bu komutları kullanarak, belirli bir kullanıcı veya kullanıcı grubunun son oturum açma zamanlarını hızlıca görüntüleyebilirsiniz. Örneğin, LastLogonTimestamp özelliğini kullanarak, tüm kullanıcıların son oturum açma zamanlarını çekmek için bir PowerShell script'i yazabilirsiniz. Bu script, belirli bir tarihten önce oturum açmamış kullanıcıları belirlemek ve bu hesapları devre dışı bırakmak için de kullanılabilir.

PowerShell ile bu tür verileri toplamak, Network'ünüzün güvenlik duruşunu değerlendirmek ve gerekli önlemleri almak için önemli bir araçtır. Eski veya kullanılmayan hesapları temizlemek, potansiyel güvenlik açıklarını kapatır ve sistemin genel performansını artırır. Bu süreç, aynı zamanda kullanıcı hesaplarının yönetimini de kolaylaştırır ve gereksiz hesapların yarattığı karmaşayı önler.

LastLogon ve LastLogonTimestamp bilgilerini kullanarak, Network üzerindeki kullanıcı etkinliğini izleyebilir ve analiz edebilirsiniz. Bu analizler, kullanıcı davranışları hakkında bilgi sağlar ve Network kaynaklarının verimli kullanılmasını sağlar. Ayrıca, bu verileri kullanarak kullanıcı eğitim ihtiyaçlarını belirleyebilir ve gerekli eğitim programlarını planlayabilirsiniz.

Biz sistem yöneticileri, PowerShell'in nimetlerinden yararlanmaya devam ederken, işimizi kolaylaştırıp, raporlama performansımızı artıracak yeni bir Powershell Script kullanımına daha değineceğim. Bu Powershell Script ile belli bir zaman dilimine kadar sistemde Logon olunmamış (oturum açılmamış) bilgisayarların raporlamasını yapmaktadır. Örnek olarak ortamımdaki son 60 gün içinde Logon olunmamış Client PC'leri listeleyeceğim. İlgili PowerShell Script aşağıdaki gibidir;

Öncelikli olarak bu komutu çalıştırıyoruz.

$LLDate = (Get-Date).AddDays(-60)

Yukarıdaki komutu çalıştırdıktan sonra aşağıdaki komutu çalıştırmamız yeterli olacaktır.

NOT: Gün değişikliği yapmak isterseniz, yukarıdaki komutu gün değişikliği yaparak tekrar çalıştırmanız ve ardından aşağıdaki komutu da yine tekrar çalıştırmanız gerekecektir.

$LLDate = (Get-Date).AddDays(-60) Get-ADComputer -Filter * -Properties Name, LastLogonDate, DistinguishedName | Where { $_.LastLogonDate -lt $LLDate } | Sort LastLogonDate -Descending | FT Name, @{name="LastLogonDate";expression={($_.LastLogonDate).ToShortDateString()}}, DistinguishedName -AutoSize

1- Windows PowerShell'i açıp, yukarıda belirttiğim kodları aynen yazıyorum.

PowerShell Lastlogon Script

2- Enter tuşuna bastıktan sonra Script kodu işleniyor.

PowerShell Lastlogon Script

3- Script kodu işlendikten sonra PowerShell, aradığımız bilginin ekran çıktısını veriyor.

PowerShell Lastlogon Script

4- Disk sürücüsü üzerinde herhangi bir dizine bir dosya içinde çıktı almak istediğinizde Out-File C:\non-loggedon_Computers.txt komutunu kullanabilirsiniz.

PowerShell Lastlogon Script

5- Belirttiğimiz disk sürücüsü dizinine .TXT uzantılı dosyayı oluşturdu.

PowerShell Lastlogon Script

6- .TXT uzantılı dosya içeriği aşağıdaki gibidir. Raporlama yapılacaksa, bir CVS dosyasına da yazdırılabilir.

PowerShell Lastlogon Script

PowerShell Last Logon Script, kullanıcıların en son ne zaman oturum açtığını öğrenmek için hızlı ve etkili bir yöntem sunuyor. Bu makalede, Active Directory ortamlarında bu bilginin nasıl kolayca elde edilebileceği ve raporlanabileceği adım adım anlatıldı. Özellikle Get-ADUser komutunun doğru parametrelerle kullanımı sayesinde, büyük ortamlarda bile detaylı sonuçlara ulaşmak mümkün hale geliyor.

Bu tür bilgiler, hem kullanıcı aktivitelerini takip etmek hem de kullanılmayan hesapları belirleyerek güvenlik ve kaynak yönetimini optimize etmek için oldukça faydalıdır. Script'in esnekliği, ihtiyaçlara göre düzenlenebilmesini ve daha geniş bir kullanım alanı sunmasını sağlıyor.

Sonuç olarak, PowerShell kullanarak Last Logon bilgilerini elde etmek, günlük operasyonlarınızı daha verimli hale getirmenin pratik bir yoludur. Bu makale, doğru adımları uygulayarak hem zamandan tasarruf etmenize hem de Active Directory ortamınızı daha düzenli bir şekilde yönetmenize yardımcı olacaktır.

Faydalı olması dileğiyle...


Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.



Yazar Hakkında

firatboyan.com


1985 yılında Alanya'da doğdum. İlk, orta ve lise öğrenimimi Alanya'da tamamladım. Liseden mezun olduktan sonra Akdeniz Üniversitesi Bilgisayar Teknolojisi Ön Lisans programına yerleştim ve bu programdan mezun oldum. Ön Lisans programından mezun olduktan bir süre sonra Dikey Geçiş Sınavı (DGS) ile İstanbul Teknik Üniversitesi (İTÜ) Bilgisayar Mühendisliği Lisans programına yerleştim.

2003 yılından beri Bilgi Teknolojileri sektöründe Sistem ve Network alanlarında çalışıyorum. Bir çok firma bünyesinde onlarca farklı projelerde yer alarak bu alanda yıllar içinde ciddi bir bilgi birikimi ve deneyimler kazandım. Bilgi Teknolojileri sektöründeki profesyonel çalışma hayatımın uzunca bir dönemini entegratör firma bazında, ağılıklı olarak Microsoft ürünleri üzerine danışman olarak sürdürüyor ve yüksek seviyeli projeler geliştiriyorum. Uzunca bir süredir de Türkiye'nin önde gelen entegratör firmalarından olan Data Market bünyesinde Senior Cloud Engineer olarak çalışıyorum.

Ek olarak, 2015 yılında Network Akademi bünyesinde Microsoft Certified Trainer (MCT) ünvanı ile Sistem ve Network Uzmanlık eğitimleri vermeye başladım. Sistem ve Network Uzmanlığı alanındaki eğitmenlik serüvenime Network Akademi bünyesinde devam etmekteyim.

YORUMLAR
Bu makaleye 1 yorum yapıldı.
Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.


750 karakter yazabilirsiniz.
Captcha
Güvenlik kodunu BÜYÜK harflerle giriniz.
* Yorumlar, onaylandıktan sonra yayınlanmaktadır.
* E-posta, yorum onay bildirimi için gereklidir. Yayınlanmaz.


01.02.2022 Ferhat Ülker
Adam adam