7 Temmuz 2011 Perşembe

PowerShell Script'lerini Zamanlama

PowerShell script'leri bilindiği üzere birçok işinizi sistematik bir biçimde hallederek sizlere zaman kazandırır. Ancak buna rağmen bazı script'lerinizi hergün, hatta günde defalarca çalıştırmanız gerekebilir. Bu da işlerinizin yoğunluğu arasında sizleri iyice boğar. Bu yazımızda bir PowerShell script'ini Windows Task Scheduler yardımıyla nasıl zamanlayacağımızı göreceğiz.

Bunun için öncelikle script'imizi çalıştıracak bir bat veya cmd dosyasına ihtiyacımız var. Bir not defteri açalım ve farklı kaydederek uzantısını bat veya cmd yapalım, dosyayı da script'in bulunduğu klasörün içine atalım. Bu dosyanın içine aşağıdaki kodlarımızı yazıyoruz:

cd\
powershell -command "& './ScriptinBulunduguKlasor/Script.ps1' "

Öncelikle kodumuzun başına cd\ komutunu koymamızın sebebi Windows Task Scheduler'ın komut istemini C:\Windows\System32 konumundan açmasıdır. Bu komut C: kök dizine gider ve aşağıdaki kodumuza da scriptin bulunduğu konumu doğru şekilde yazdığımız taktirde kodumuz çalışacaktır. Örneğin bat/cmd dosyamız kullanıcı klasörümüzün içindeyse bu sefer konum bölümüne './Users/KullaniciAdi/Script.ps1' yazmamız gerekecekti. Eğer script'imiz D: gibi başka dizinlerdeyse cd\'nin altına D: yazarak önce o dizine geçiş yapmamız gerekiyor.

Task Scheduler'ımızı açtığımızda sağ barımızda bulunan Create Basic Task'a tıklayarak bat/cmd dosyamızı zamanlıyoruz. Action sekmesine geldiğimizde Start a Program seçeneğini seçmeyi unutmayın. Buradan başlatılacak dosyamızı browse ediyoruz. Add Arguments ve Start in bölümlerini boş bırakıyoruz. Next ve ardından Finish'e tıklayarak zamanlayıcımızı ayarlamış oluyoruz.

Artık script'imiz zamanladığımız şekilde periyodik olarak çalışıyor olacak. Gönül rahatlığıyla diğer işlerimize yoğunlaşabiliriz.

Hiç yorum yok:

Yorum Gönder