Windows Powershell ile belirli bir saatten sonra çalışan process bulma
Windows Powershell ile belirli bir saatten sonra çalışan processleri bulmak isteyebileceğimiz senaryolar olabilir. Örneğin çalışan bir spesifik uygulamamız var ve bu uygulamanın ne zaman başladığını görmek isteyebiliriz. Böyle bir senaryoda bu uygulamanın ne zaman çalıştığını bulmak veya bizim belirlediğimiz bir spesifik tarihten önce mi sonra mı çalıştığını bulmak isteyebiliriz.
Bu anlattığım biraz karışık gelebilir (muhtemelen öyle) , çünkü spesifik bir konu ama özellikle deep understand veya troubleshooting senaryolarında işe yarayan bir çözüm olacaktır.
Öncelikle ne demek istediğimize bir bakalım. Windows Powershell ‘in bize sağladığı bir çok avantaj var. İstediğimiz gibi işletim sistemi içerisinde yer alan componentleri gözlemleyerek, bind edebiliyoruz. Bu çalışmamızda ise özellikle processleri ele alacağız.
Powershell bize çalışan bir process’in (uygulamanın) tam olarak ne zaman çalıştığının bilgisini sunabiliyor.
Processleri listelemek için kullandığımız komutu biliyoruz
1 |
Get-Process |
Peki çalışan bir process’in tam olarak ne zaman çalıştığını nasıl öğrenebiliriz?
Örneğin notepad uygulamamız olsun. Aşağıdaki komut notepad uygulamasının tam olarak hangi saatte çalışmaya başladığını bize verir
1 |
Get-process -Name notepad |select name,starttime |
Powershell ile uygulama ne zaman başlamış kontrol etme
Süper, peki ben biraz daha gözlem yapmak adına, tüm processler üzerinde kontrol sağlamak istiyorum. Notepad uygulaması tek bir process üzerinde çalışmıyor olabilir. Aynı uygulama o isimde bir çok process açmış olabilir. Bu durumda aşağıdaki komutla tam bir kontrol sağlayabilirim.
Aşağıdaki komut ile bilgisayarımda çalışan processlerin, id ve isimlerini alıyorum ve başlama zamanları 02.05.2022 günü saat 08:15 den sonra olanları görmek istiyorum. buradaki zaman dilimini kendinize göre düzenleyebilirsiniz.
1 |
Get-Process |? {$_.StartTime -gt "02.05.2022 08:15"} |Select id," ",name,starttime |Sort-Object -Descending StartTime |