İçerikleri sosyal medya üzerinden paylaşarak daha fazla kişiye ulaşmasına yardımcı olabilirsiniz.



Fırat Boyan 30.10.2016 5

Shutdown Komutu İle Task Scheduler Üzerinden Bilgisayar Kapatma

Sistemlerinize dahil olan bilgisayarlarınızı çeşitli sebeplerle, örneğin bilgisayarını hiç kapatmayan kişiler için DHCP'den dağıtılan IP adresinin kira sürelerini aştırmamak için bilgisayarlarını zorla yeniden başlatarak, kira sürelerini yeniletmeyi amaçlıyor olabilirsiniz. Bu makalemde sizlere, bu ve buna benzer çok çeşitli amaçlar içi kullanılmak üzere Shutdown komutu ile sistemdeki hedef bilgisayar(lar)ın uzaktan Task Scheduler servisi ile otomatik olarak Shutdown ya da Restart edilmesinden bahsediyor olacağım.
Bunun için CMD komutlarından Shutdown ve Restart komutlarından faydalanacağım. Shutdown ya da Restart komutunu tek başına kullanamayız. Bu komutu yardımcı parametreler ile kullandığmızda işe yarayacaktır.

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

Syntax (Söz dizimi):

Shutdown [/r|/s] /m \\IP ya da Hostname /c "bilgilendirme mesajı" /t [saniye cinsinden süre ör. 3600] /d p:1:1

Örnek Komut:

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

/r parametresi
uzak bilgisayar(lar)ı Restart etmek(bilgisayarı yeniden başlatmak) için kullanılan parametredir.

/s parametresi
uzak bilgisayar(lar)ı Shutdown etmek(bilgisayarı kapatmak) için kullanılan parametredir.

/m \\ IP ya da Hostname parametresi
Uzak bilgisayar(lar)ın erişimi için kullanılacak adres parametresidir. Bu adres parametresi IP ya da hostname türünden birisi olabilir.

/c "bilgilendirme mesajı" parametresi
Bu parametre ile, uzak bilgisayar(lar)ı hangi sepeble Restart ya da Shutdown ettiğinizi kullanıcıya bilgi vermek için kullanabilirsiniz. Bu bilgi mesajını yazarken kullanabileceğiniz Max. karakter sayısı 511'dir ve mutlaka tırnak " açılarak yazılıp, yine tırnak " ile kapatılmalıdır. tırnak " koymamızdaki amaç; sistemin komutlar dışında, başka bir ifade ile kendi anlayacağı mesajlar haricinde, sadece bizim anlayacağımız başka bir ifade girildiği zaman, bu tür bilgi mesajları komut değeri taşımayacağı için, bilgisayar için de bir şey ifade etmeyecek ve dolayısı ile de hata verecektir.

/d [u|p]:xx:yy parametresi
Bu parametre ile, uzak bilgisayar(lar)ı hangi sepeble Restart ya da Shutdown ettiğinizi sisteme bilgi vermek için kullanabilirsiniz. Yukarıda belirtmiş olduğum "kullanıcıya bilgi vermek için kullanabilirsiniz" ifadesi ile karıştırmayın. Buradaki bilgilendirme mesajını sadece sistem anlayabilir.

xx olarak belirtilen bölüme birincil öncelikli sebep, 0 ile 255 arasında bir değer girilerek belirtilebilir.
yy olarak belirtilen bölüme ikincil öncelikli sebep , 0 ile 65,535 arasında bir değer girilerek belirtilebilir.

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, "Shutdown" olarak kaydediyorum.

shutdown komutu

2- TXT dosyamın uzantısını .bat şeklinde değiştiriyor (1), karşıma gelen uyarı mesajına YES butonuna basarak onaylıyorum (2). TXT dosyam uzantısının .bat olarak değiştiğini ve bununla birlikte dosya formatının da değiştiğini görebiliyoruz.

shutdown komutu

3- Sistemdeki bilgisayarların uzaktan otomatik olarak Shutdown ya da Restart edilmesi işlemini, belli bir zaman diliminide yaptırmak için, Task Scheduler servisinden faydalanacağım. Bunun için "Run" penceresinde "MMC" yazarak OK butonuna basıyorum.

shutdown komutu

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

shutdown komutu

5- Add/Remove Snap-ins penceresinde SOL tarafataki Available snap-ins: altında 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 ilen OK butonuna basarak servisi Selected snap-ins: altına taşıyor ve OK butonuna basarak 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 karşıma geldiğinde, altında sırayla General, Actions, Conditions ve Settings sekmelerini görebiliyorum.

8.1- İlk olarak General sekmesinde Name: alanına Task'ım için "Shutdown" adını veriyorum. Siz, size anlanlı gelecek dilediğinizi herhangi bir şey yazabilirsiniz. Task Scheduler detayları konumuzun dışında olduğu için, burada sadece ana konumuza hizmet eden bir servis olarak kullandığımız için, burada başla bir ayarla uğraşmıyorum ancak siz daha da detaylı ayarlar yapılandırabilirsiniz.

Triggers

8.1- Triggers sekmesinde, daha önceden hazırladığımız .bat dosyamızın çalışacağı tarih ve saat bilgilerini bu bölümde belirliyorum. Bunun için New... butonuna basıyorum.

shutdown komutu

8.2- Actions sekmesinde, daha önceden hazırladığımız .bat dosyamızı bu alanda sistemimiz üzerindeki UNC (Universal Naming Convention) Path'ini (dizin yolunu) göstereceğiz. Bunun için New... butonuna basıyorum.

shutdown komutu

Karşıma gelen New Action penceresinde:
Action: bölümünde Start a program olarak seçili bırakıyorum.
Settings altındaki Program/script: bölümünde .bat dosyamızın PATH'ini (dizin yolunu) Browse... butonuna basarak göstereceğiz.

shutdown komutu

shutdown komutu

shutdown komutu

shutdown komutu

9- Çalışmasını istediğimiz .bat dosyasını, belirtilen tarih ve saatte çalıştırmak üzere Task Scheduler servisine bırakıp, belirttiğimiz tarih ve saati bekliyoruz. Belirttiğimiz tarih ve saat geldiğinde, Trigger işlemi devreye girecek ve .bat dosyasını çalıştıracaktır.

shutdown komutu

10- Belirttiğimiz tarih ve saat geldi ve trigger işlemi devreye girerek .bat dosyasını Last Run Time altında belirtilen zaman diliminde tetikleyerek çalıştırdı.

shutdown komutu

11- Hedef Client PC üzerinde de bunu görebiliyoruz.

shutdown komutu

Faydalı olması dileğiyle...


Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.



Yazar Hakkında

firatboyan.com


1985 yılında Alanya'da doğdum. İlk, orta ve lise öğrenimimi Alanya'da tamamladım. Liseden mezun olduktan sonra Akdeniz Üniversitesi Bilgisayar Teknolojisi Ön Lisans programına yerleştim ve bu programdan mezun oldum. Ön Lisans programından mezun olduktan bir süre sonra Dikey Geçiş Sınavı (DGS) ile İstanbul Teknik Üniversitesi (İTÜ) Bilgisayar Mühendisliği Lisans programına yerleştim. 2003 yılından beri Bilgi Teknolojileri sektöründe Sistem ve Network alanlarında çalışıyorum. Bir çok firma bünyesinde farklı projelerde yer alarak bu alanda yıllar içinde ciddi bir bilgi birikimi ve deneyimler kazandım. Bilgi Teknolojileri sektöründeki profesyonel çalışma hayatımın uzunca bir dönemini entegratör firma bazında, ağılıklı olarak Microsoft ürünleri üzerine danışman olarak sürdürüyor ve yüksek seviyeli projeler geliştiriyorum. Uzunca bir süredir de Türkiye'nin en önde gelen entegratör firması olan Data Market bünyesinde Senior Cloud Engineer olarak çalışıyorum. Ek olarak, 2015 yılında Network Akademi bünyesinde Sistem ve Network Uzmanlık eğitimleri vermeye başladım ve 2017 yılında da eğitmenlik tecrübemi, Microsft Certified Trainer (MCT) ünvanı ile taçlandırdım. Eğitmenlik serüvenime 2021 yılından beri Bilge Adam bünyesinde MCT ünvanı ile devam etmekteyim.

YORUMLAR
Bu makaleye 5 yorum yapıldı.
Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.

   
   
  750 karakter yazabilirsiniz.
 
Captcha
Güvenlik kodunu BÜYÜK harflerle giriniz.
* 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.

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

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