Powershell Script With Task Scheduler

Bu kılavuz powershell scriptin hazır olduğunu varsayar.

Çalıştır kısmına taskschd.msc yazıp Enter tuşuna basıp zamanlanmış görevleri açalım. 

Açılan pencerede bir görev oluşturabilir veya yeni bir klasör içine bir görev oluşturabilirsiniz. Mevcut olan klasör üzerinde Create Task Seçeneği ile devam ediyorum.  

General penceresinde İsim ve Açıklama kısmına diğer insanlarında anlaması için gerekli açıklamaları yapmanız önemlidir. Diğer önemli kısım ise alt kısımda bulunan En yüksek ayrıcalıklarla çalıştır seçeneğidir. Yapılan işlem ayrıcalık isteyen bir işlem ise ve bu seçeneği işaretlemez iseniz çalışmayacaktır. Son olarak görevi oturum açtığınız kullanıcı ile çalıştırabilirken, isterseniz Kullanıcı/Grup Değiştir kısmından farklı bir hesap ile çalıştırabilirsiniz. 

Triggers kısmına gelip new seçeneğini seçiyorum. 

Seçenekler o kadar çok ki kısaca biraz bahsedelim. Yeni bir görev oluşturma seçenekleri şunları içerir. 

  • Zamanlamayla: Düzenli bir zaman aralığında
  • Oturum açıldığında: Bilgisayarınıza her giriş yaptığınızda
  • Başlatırken: Bilgisayar açıldığında
  • Boştayken: Bilgisayar boşta kaldığında
  • Bir olayda: Herhangi bir Windows olayı oluşur
  • Görev oluşturulurken/değiştirilirken: Bir görev oluşturduğunuzda veya değiştirdiğinizde
  • Kullanıcı oturumu bağlantıda: Bir hesap oturumuna giriş yapma
  • Kullanıcı oturuma bağlantısı kesildiğinde: Bir hesap oturumundan çıkış
  • İş istasyonu kilitlendiğinde: Sisteminiz kilitlendiğinde
  • İş istasyonu kilidi açıldığında: Bilgisayarınızın kilidini açtığınızda

Buradaki en yaygın seçenek zamanlamayla olandır. Bizde zamanlayıcı üzerinden devam edelim. Günlük, haftalık veya aylık olarak çalışmak için görevinizi tetikleyebilirsiniz. Bir görevi geciktirmek, tetikledikten sonra düzenli olarak tekrarlamak, çalışması çok uzun sürerse görevi durdurmak da mümkündür, veya görevi belirli bir gün ve saatten sonra tetiklenmesini iptal edebilirsiniz. 

Aşağıdaki görevde her gün, saat 12:00 de görev tetiklenecektir. (Her 2 veya 3 Günde gibi birde ayarlayabilirsiniz.) 

İsterseniz birde fazla tetikleyici ayarlayabilirsiniz. 

Tamam seçeneğine tıklayarak tetikleyici koşullarını ekliyorum. 

 Actions kısmına geldiğimiz zaman, new butonuna tıklayın ve açılan pencerede, bir program başlatacağımız için action kısmında Start a program seçeneği ile aşağıdaki işlemleri gerçekleştirelim.

  • Program/Script yazan kısıma Windows PowerShell'in yolunu yazınız. C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
  • Arguments kısmına yazdığımız scriptin adı ve formatını yazınız.
  • Start in kısmına scriptimizin bulunduğu dosya dizinini yazınız. (Yazdığınız betiği seçmeyin)

Microsoft güvenlik önlemi almak için, Powershell scriptlerin çalışmasını varsayılan olarak engellemektedir. Scriptlerin içine bypass politikası ekleyebilir ve bu adımda Add arguments kısmının başına  -ExecutionPolicy Bypass -File komutu ekleyebilirsiniz.

OK butonu ile eylemi ekleyin.

Basit bir görev oluşturuyorsanız, Conditions kısmındaki ayarları değiştirmeniz gerekmez. Ancak, yine de güç ayarlarının durumunuza göre yapılandırmak isterseniz değişiklik yapabilirsiniz. Ben varsayılan olarak bırakıyorum. 

Settings kısmından ise görevin davranışlarına göre ek ayarlar belirtebilirsiniz. Bu kısımda herhangi bir ayar yapmadan tamam seçeneğine tıklıyorum. Ancak aşağıdaki seçenekleri kontrol etmeniz iyi bir fikir olabilir. 

  • Zamanlanan bir başlatma kaçırıldıktan sonra görevi mümkün olan en kısa sürede çalıştırın.
  • Görev başarısız olursa, şu sıklıkta yeniden başlat.

Artık görevin geldiğini ve hazır olduğunu görebilirsiniz. Görevi hemen çalıştırabilir veya zamanı geldiğinde otomatik görevi çalıştıracaktır. Son olarak History kısmından görevin geçmişe dönük olarak loglarını görebilirsiniz. 

Blog'a Dön