DOS Bölüm 3 - Görev Zamanlayıcı

6/19/2025
Görev Zamanlayıcı, Schtasks, Windows DOS
0 Yorum

Komut satırıyla schtasks aracı kullanılarak görev zamanlayıcı nasıl oluşturulur, çalıştırılır, silinir ve değiştirilir?

Chapter 3 - Görev Zamanlayıcı

Bu bölümde komut satırını kullanarak görev zamanlayıcı , yani yapacağımız görevleri örneğin günlük backup alma, logları temizleme, logları sunucuya yönlendirme gibi görevlerimizi otomatik bir şekilde yaptırabileceğimiz konu olan Görev Zamanlayıcı'dan bahsediyor olacağız.

Komut satırı üzerinden eğer ki görevlerimizi oluşturmak,silmek,değiştirmek,çalışan görevi sonlandırmak gibi işlemleri yapmak istiyorsak eğer bunun için

"schtasks" aracını kullanmamız gerekiyor.

Görev zamanlayıcı "Local System" user'ı ile giriş yaptığı için bu tarz fiili görevleri yapabilmemiz için komut satırını yetkili kullanıcı düzeyinde açmalıyız.

  1. /create Command Line Switch

Bu switch sayesinde biz görev zamanlayıcı da görevlerimizi oluşturabiliyoruz. /Create command line'ın kendisine ait bazı switchleri vardır bunlar sırasıyla;

/tn : Görev'in ismi (Task Name)

/tr : Çalışacak görev uygulamasının pathini (Full Application Path)

/sc : Görevin nasıl çalışacağı belirtilir. (Schedule type)

Tipleri vardır.

  • Minute (Her X dakikada bir görevi çalıştır)
  • Hourly (Her X saatte bir görevi çalıştır)
  • Daily (günlük)
  • Weekly (haftanın belli günleri)
  • Monthly (aylık)
  • Once (Bir defaya mahsus)
  • OnStart (bilgisayar açıldığında)
  • OnLogon (her kullanıcı oturum açınca)
  • OnIdle (bilgisayar boşta kaldığında)
  • OnEvent

/st ve /sd : Start Time (Çalışma saati) ve StartDate (Çalışma Tarihi)

Örnekler :

Minute:

  • schtasks /create /tn "Her_Bes_dakika" /tr "C:\Users\Kerem\Desktop\DosyaYaz.exe" /sc minute /mo 5

Hour:

  • schtasks /create /tn "Her_Bir_Saate" /tr "C:\Users\Kerem\Desktop\DosyaYaz.exe" /sc hourly /mo 1

Daily:

  • schtasks /create /tn "Her_Gun_Saat_11_23_de" /tr "C:\Users\Kerem\Desktop\DosyaYaz.exe" /sc daily /st 11:23

Weekly:

  • schtasks /create /tn "Haftanin_3_gunu" /tr "C:\Users\Kerem\Desktop\DosyaYaz.exe" /sc weekly /d MON,FRIDAY,WED /st 10:00

Monthly:

  • schtask /create /tn "Her_Ayin_Biri_Saat_8_de" /tr "C:\Users\Kerem\Desktop\DosyaYaz.exe" /sc monthly /d 1 /st 08:00

Once:

  • schtasks /create /tn "Bir_defaya_mahsus_calisacak" /tr "C:\Users\Kerem\Desktop\DosyaYaz.exe" /sc once /st 12:00 /sd 02/06/2025

OnStart

  • schtasks /create /tn "PC_ACILINCA" /tr "C:\Users\Kerem\Desktop\DosyaYaz.exe" /sc onstart

OnLogon

  • schtasks /create /tn "Giris_yaptiginda" /tr "C:\Users\Kerem\Desktop\DosyaYaz.exe" /sc onlogon

OnIdle

  • schtasks /create /tn "Bosta_Kaldiginda" /tr "C:\Users\Kerem\Desktop\DosyaYaz.exe" /sc onidle
  1. /delete Command Line Switch

Eğer ki listeden bir görev silmek istersek:

  • schtasks /delete /tn "Görev_İsmi"
  1. /query Command Line Switch

Eğer ki bir sistem üzerinde çalışan görevleri (tasks) görmek istersek:

  • schtasks /query | More

Eğer ki bunların listesini almak istersek (comma separated values)

  • schtasks /query /fo csv > output.csv

Eğer ki specific bir görev için kontrol etmek istersek

  • schtasks /query /tn "Görev_İsmi"
  1. /change Command Line Switch

Burda birkaç önemli nokta bulunmaktadır. /create switch ile aynı özelliklere sahiptir ama bir /change switch'de /st ve /sc kullanılamaz. Eğer ki bir görev zamanlayıcının başlangıç saati yada türü değiştirilecek ise silinip baştan oluşturuması gerekir.

Dosyayı değiştirmek istersek (/tr)

  • schtasks /change /tn "Görev_ismi" /tr "c:\Yeni_Dosya_Yolu.exe"

Eğer ki Kullanıcıyı değiştirmek istersek

  • schtasks /change /tn "Görev_ismi" /ru System
  1. /run Command Line Switch

Zaman farketmeksizin istediğimiz görevi (task'i) çalıştırmamızı sağlar.

  • schtasks /run /tn "Görev_İsmi"
  1. /end Command Line Switch

Çalışan bir task'i durdurmamızı sağlar.


Yorumlar