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.

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

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.

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

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

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.


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

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.

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.

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.

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.




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.

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ı.

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

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...
Makale ile ilgili düşüncelerinizi ve sorularınızı aşağıdaki yorum kısmında paylaşmaktan çekinmeyin. Her katkı, içeriğin daha fazla kişiye ulaşmasını ve daha faydalı bir tartışma ortamı oluşmasını sağlar.