İç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: Fırat Boyan

Adım Fırat Boyan. 1985 yılında Antalya'nın Alanya ilçesinde doğdum. 2008 yılından beri İstanbul'da yaşıyorum. Kıdemli Sistem Mühendisi, Microsft Sertifikalı Eğitmen (MCT) ve İngilizceden Türkçeye ve Türkçeden İngilizceye serbest, Noter Yeminli Tercümanım. 18 yıldır Bilgi Teknolojileri alanında hizmet veriyorum. Şu anda Data Market bünyesinde Senior Cloud Engineer olarak çalışıyorum ve Bilgi Teknolojileri alanında eğitim hizmetleri veren Bilge Adam bünyesinde Microsoft Sertifikalı Eğitmen (MCT) olarak Sistem ve Network Uzmanlığı eğitimleri veriyorum. Bunun yanı sıra, kurumsal firmalara BT danışmanlık hizmetleri de vermekteyim. Hakkımda daha fazla bilgi sahibi olmak ve sahip olduğum Microsoft sertifikalarımı incelemek için Hakkımda sayfasını ziyaret edebilirsiniz.

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