Task Scheduler ile Zamanlanmış Shutdown ve Restart İşlemleri

Windows'ta Shutdown ve Restart komutları, bir bilgisayarı kapatma veya yeniden başlatma işlemlerini CMD üzerinden gerçekleştirmek için kullanılır. Bu komutlar, özellikle büyük Network yapılarında ve uzaktan yönetim senaryolarında işe yarar; çünkü fiziksel müdahaleye gerek kalmadan, belirli parametrelerle işlemler planlanabilir ve merkezi olarak yönetilebilir.

Shutdown komutu temelde bilgisayarı kapatır; ancak parametrelerle özelleştirildiğinde basit bir kapatmadan fazlasını yapar. Belirli bir süre sonra kapanmayı planlamak veya açık uygulamaların otomatik kapatılmasını sağlamak gibi seçenekler, işlemi esnek hale getirir.

Shutdown'ın güçlü yönlerinden biri, aynı Network üzerindeki uzak bilgisayarlara /m parametresiyle uygulanabilmesidir. Böylece birden fazla bilgisayarın bulunduğu ortamlarda kapatma veya yeniden başlatma işlemleri tek noktadan yürütülebilir. Bu işlem hedef makinede yetki gerektirir; ilgili ön koşullara birazdan değiniyorum.

Restart komutu ise sistemi kapattıktan sonra otomatik olarak yeniden başlatır. Yazılım güncellemeleri veya sistem sorunlarının giderilmesi sırasında, makineyi mümkün olan en kısa kesintiyle yeniden kullanıma hazır hale getirmek için tercih edilir.

Bu komutların bir diğer avantajı, başlatılan işlemlerin iptal edilebilmesidir. Yanlışlıkla başlatılan bir kapatma ya da yeniden başlatma, bekleme süresi dolmadan `/a` parametresiyle durdurularak olası veri kayıpları önlenebilir.

Komut dizilimi ve açıklamaları şu şekildedir:

Shutdown /r /m \\10.10.10.10 /c "PC will be restarted for maintenance" /t 3600 /d p:1:1
Parametre Açıklama
/r Uzak bilgisayar(lar)ı yeniden başlatır.
/s Uzak bilgisayar(lar)ı kapatır.
/m \\computer Hedef bilgisayarın adresi. IP ya da Hostname olabilir.
/t xxx Kapatma/yeniden başlatma öncesi bekleme süresini saniye cinsinden belirler. Geçerli aralık 0-315360000'dır. 0'dan büyük bir değer girildiğinde /f parametresi örtük olarak uygulanır.
/c "comment" Kullanıcıya gösterilecek bilgi mesajını belirtir. En fazla 512 karakter olabilir ve tırnak içinde yazılmalıdır.
/f Çalışan uygulamaları uyarı vermeden kapatmaya zorlar.
/d [u|p]:xx:yy Yeniden başlatma veya kapatma nedenini sisteme bildirir.
/a Bekleme süresi içinde başlatılmış bir kapatma işlemini iptal eder.

/d parametresinde xx, birincil (major) sebep kodudur ve 0-255 aralığında girilir. yy ise ikincil (minor) sebep kodudur ve 0-65535 aralığında girilir. Kullanıcı tanımlı (custom) bir sebep belirtilecekse major sebep kodu 64-255 aralığında olmalıdır; 0-63 aralığı sistem tarafından ayrılmıştır.

Uzaktan Shutdown/Restart için hedef makinede "Shut down the system" hakkına sahip olmanız (genellikle Administrators üyeliği) ve Firewall'da ilgili erişimin açık olması gerekir. Domain ortamında bu işlem Domain Admins üyeleri tarafından yapılabilir.

1- Şimdi örnek komutum olan

Shutdown /r /m \\10.10.10.10 /c "PC will be restarted for maintenance" /t 3600 /d p:1:1

komutunu bir TXT dosyasına yazıyor ve Shutdown olarak kaydediyorum.

shutdown komutu

2- TXT dosyamın uzantısını .bat olarak değiştiriyor, karşıma gelen uyarıda YES butonuna basarak onaylıyorum.

shutdown komutu

3- Sistemdeki bilgisayarların uzaktan otomatik olarak Shutdown ya da Restart edilmesini belirli bir zaman diliminde yaptırmak için Task Scheduler servisinden faydalanıyorum. Bunun için Run penceresine MMC yazıp OK butonuna basıyorum.

shutdown komutu

4- Karşıma gelen Console1 isimli MMC Console'unda File menüsünden Add/Remove Snap-in... seçeneğini seçiyorum.

shutdown komutu

5- Add/Remove Snap-ins penceresinde sol taraftaki Available snap-ins: altından Task Scheduler servisini seçip, ortadaki Add > butonuna basıyorum.

shutdown komutu

6- Add > butonuna bastıktan sonra karşıma gelen Select Computer penceresinde Local Computer (the computer this Console is running on) seçili iken OK butonuna basarak servisi Selected snap-ins: altına taşıyor ve OK butonuyla Add/Remove Snap-ins penceresini kapatıyorum.

shutdown komutu

shutdown komutu

7- Task Scheduler Console içinde açıldıktan sonra, Task Scheduler (Local) üzerinde sağ tıklayarak Create Task... seçeneğini seçiyorum.

shutdown komutu

8- Create Task... penceresi açıldığında sırasıyla General, Triggers, Actions, Conditions ve Settings sekmelerini görüyorum.

8.1- İlk olarak General sekmesinde Name: alanına Task'ım için Shutdown adını veriyorum. Siz size anlamlı gelecek herhangi bir ad yazabilirsiniz. Task Scheduler detayları bu konunun dışında olduğundan ve servisi yalnızca ana akışa hizmet edecek şekilde kullandığımdan, burada başka bir ayarla uğraşmıyorum; ancak isterseniz çok daha detaylı yapılandırma yapabilirsiniz.

General sekmesi

8.2- Triggers sekmesinde, daha önce hazırladığım .bat dosyamın çalışacağı tarih ve saat bilgilerini belirliyorum. Bunun için New... butonuna basıyorum.

Triggers sekmesi

8.3- Actions sekmesinde, daha önce hazırladığım .bat dosyasının sistem üzerindeki UNC (Universal Naming Convention) Path'ini (dizin yolunu) göstereceğim. Bunun için New... butonuna basıyorum.

Actions sekmesi

Karşıma gelen New Action penceresinde:
- Action: bölümünü Start a program olarak bırakıyorum.
- Settings altındaki Program/script: bölümünde .bat dosyamın Path'ini Browse... butonuyla gösteriyorum.

shutdown komutu

shutdown komutu

shutdown komutu

shutdown komutu

9- Çalışmasını istediğim .bat dosyasını, belirttiğim tarih ve saatte tetiklenmek üzere Task Scheduler servisine bırakıyorum. Belirtilen zaman geldiğinde Trigger devreye girerek .bat dosyasını çalıştıracaktır.

shutdown komutu

10- Belirtilen tarih ve saat geldiğinde Trigger devreye girdi ve .bat dosyasını Last Run Time altında görülen zaman diliminde çalıştırdı.

shutdown komutu

11- Aynı sonucu hedef Client PC üzerinde de görebiliyorum.

shutdown komutu

CMD üzerinden kullanılan Shutdown ve Restart komutları, sistem yönetimini hızlandıran pratik araçlardır. Bu komutlarla bir sistemi zamanlanmış şekilde kapatabilir, yeniden başlatabilir veya bekleme süresi içinde işlemi iptal edebilirsiniz. Özellikle /s, /r, /t ve /m parametreleri, işlemleri ihtiyaca göre özelleştirme imkanı sunar.

Komutları doğru parametrelerle kullanarak, örneğin zamanlanmış bir yeniden başlatma ya da uzak bir bilgisayarı kapatma gibi görevleri tek noktadan yürütebilirsiniz. Bu yaklaşım hem bireysel hem kurumsal senaryolarda işlemleri merkezileştirir; `/c` ile gösterilen mesaj da kullanıcıyı işlemden önce bilgilendirir.

Doğru yapılandırıldığında bu komutlar, yalnızca işlem hızını artırmakla kalmaz, aynı zamanda kapatma ve yeniden başlatma süreçleri üzerinde tam kontrol sağlar.

Faydalı olması dileğiyle...

Bu makaleye 5 yorum yapıldı. Sen de düşünceni paylaş!

750 karakter yazabilirsiniz.
Güvenlik kodu
Yorumlar, onaylandıktan sonra yayınlanmaktadır.
E-posta, yorum onay bildirimi için gereklidir. Yayınlanmaz.
05.01.2021 Hamza Zorlu

Hocam merhabalar. Bende de bir komut dosyası var. Sunucuda ortak kullanılan bir dosyayı her akşam 9da silmek istiyorum. Task scheduler ile ayarlıyorum. 3 gün sorunsuz çalışıyor sonrasında komut dosyası otomatik olarak çalışmıyor. Neden olabilir engin tecrübenize binaen yanıtlarsanız sevinirim.

CEVAPLA

Cevaplar
05.01.2021 Fırat Boyan

Merhaba Hamza, Task Scheduler'da General altında en altta Run whether user is logged on or not ve Run with highest privileges seçekleri seçili olarak dener misin?

17.07.2020 Umit Bilgiseven

Hocam, bu işlemi birde toplu yaptırmak istesem nasıl bir yol izlemeliyim. Domainde ki tüm pc lere uygulamak istiyorum. Siz tek bir PC için yapmışsınız. Schedule Task ı da uzaktan komut ile çalıştırmam gerekecek....

CEVAPLA

Cevaplar
17.07.2020 Fırat Boyan

.Bat dosyasındaki komut satırını alt alta tekrar edecek şekilde farklı ip adreslerini yazarak koyman yeterli olacaktır.

21.05.2018 Oscar Mami

Allah razı olsun vallaha çok korkmuştum dondu açılmıyordu sayenizde yeniden başlattım açıldı çok sağolun

CEVAPLA

Cevaplar