Bu yazımızda Windows Powershell ile belirli bir Ou üzerindeki bilgisayarların son oturum açma bilgileri nasıl alınır bunlardan bahsedeceğim.
Çalıştığınız kurum ya da kuruluşta sisteminizde Active Directory üzerinde bulunan belirli bir Organizational Unit (OU) içindeki bilgisayarların son oturum açma (LastLogonDate) bilgilerinin çıktısını almak çoğu zaman farklı şekillerde işinize yarayacaktır. Bu işlemi nasıl uygulayacağımızı adım adım anlatacağım.
Burada atlanmaması gereken gereken bir husus ise bu işlemi Domain Sunucunuz üzerinde yapıyorsanız sıkıntı yok. Çünkü Active Directory Modülü AD Sunucunuzda kuruludur. Fakat bu işlemi uzaktaki bir bilgisayar üzerinden yapmak durumunda olabilirsiniz. O zaman ilk yapmanız gereken şey Active Directory Modülünü kurmak olacak. Bu kurduğunuz modül size Powershell ile AD yi yönetmenizi sağlar. Örnek verecek olursak, modül sayesinde Powershell ile AD üzerinde kullanıcı, grup ya da bilgisayar oluşturabilirsiniz.
Active Directory Modülünü Kurmak
Modülü kurduktan sonra “Get-help *computer” komutunu çalıştırırsanız kullanabileceğiniz Cmdlet komutlarının listesi aşağıdaki resimde gözüktüğü gibi karşınıza gelecektir.
Get-help *computer
AD Üzerindeki Belirli Bir Bilgisayarın Son Oturum Bilgilerini Almak
Eğer AD üzerinde bir Ou içindeki tüm bilgisayarlar değil de sadece bir bilgisayarın Son Oturum Açma bilgileri vs alacaksanız aşağıda sizinle paylaşacağım powershell komutunu kullanabilirsiniz.
Yukarıdaki komut ile Lastlogondate (son oturum açma bilgisi) dışında farklı alanları da çıktınıza ekleyebilirsiniz.
AD Üzerinde Belirli Bir Ou Üzerindeki Bilgisayarların Son Oturum Açma Bilgileri
Yukarıda anlattığım powershell komutlarını kullanarak tek bir bilgisayarın son oturum açma bilgilerini almıştık. Şimdi ise yine Powershell’den faydalanarak bu kez, belirli bir Organizational Unit (OU) üzerindeki bilgisayarların, Lastlogondate bilgilerini tablo halinde nasıl çıktı alacağımızı anlatacağım.
Bunu yapabilmek için adım adım yapmanız gerekenleri ve kullanmamız gereken komutları aşağıda sizinle paylaşıyorum:
Adım 1: Active Directory Modülünü Yükleyin
Yukarıda bahsetmiştim yine de yazıyorum.
Import-Module ActiveDirectory
Adım 2: OU Ayırt Edici Adını yani Distinguished Name’ini belirtin.
$ouDN = "OU=Bilgisayarlar, DC=tolgaceyhan, DC=com"
Adım 3: Belirtmiş Olduğunuz OU içindeki bilgisayarları getirin
$computers = Get-ADComputer -Filter * -SearchBase $ouDN -Properties Name, LastLogonDate
Son Adım: Sonuçları Tablo Şeklinde Listeleyin
$computers | Select-Object Name, LastLogonDate | Sort-Object LastLogonDate -Descending | Format-Table -AutoSize
Yukarıdaki adımları uygulayarak, belirtmiş olduğunuz bir OU içindeki tüm bilgisayarların adını ve son oturum açma zamanının çıktısını almış oldunuz.
Dilerseniz bu çıktıyı da komut sonunda export-csv ekleyerek sunucu üzerinde CSV şeklinde belirlediğiniz dizine kaydedebilirsiniz.
$computers | Select-Object Name, LastLogonDate | Sort-Object LastLogonDate -Descending | Format-Table -AutoSize | Export-Csv C:\temp\PClastlogondate.csv "
Almış olduğunuz sonuç çıktısında bazı bilgisayarların Lastlogondate değerini boş görebilirsiniz. Bu durumda o Lastlogondate değeri boş gözüken bilgisayarlar hiç oturum açmamış olabilir.
Yukarıdaki tüm adımları gerçekleştirmek için AD üzerinde okuma izinlerine sahip bir kullanıcı olmanız gerekmektedir. Yazımızın başında da belirttiğim gibi bu powershell komutları çalıştığınız kurum ve kuruluşlarda birçok çalışma için işinize yarayacaktır.
Umarım faydalı olmuştur. Daha fazla powershell içeriği için yorum yazabilirsiniz hep birlikte farklı çözümler ve komutları incelemiş oluruz.
Herkese kolay gelsin. Web sitemi incelemeyi ve takip etmeyi unutmayın.