Windows 10’da PowerShell Komut Dosyalarını Otomatik Çalıştırma

PowerShell, kötü amaçlı komut dosyalarının ve komutların yürütülmesini engelleyen birçok farklı güvenlik katmanına sahiptir. Örneğin, PowerShell yürütme ilkesini değiştirmediğiniz sürece, internetten indirdiğiniz bir komut dosyasını varsayılan olarak çalıştıramazsınız. Başka bir güvenlik önlemi, bir komut dosyasını çift tıklatarak yürütmenizi engeller. PS1 komut dosyalarını PowerShell ile ilişkilendiremezsiniz ve bir komut dosyasını çalıştırmanın tek yolu, onu sağ tıklayıp çalıştır seçeneğini seçmektir. Çift tıklamak onu Not Defteri’nde açacaktır. Bu, bir güvenlik önlemi için harikadır, ancak zamanlanmış bir görev çalıştırıldığında bir PowerShell betiğinin yürütülmesini istiyorsanız can sıkıcıdır. Etraftaki çalışma basittir. PowerShell komut dosyalarını otomatik olarak çalıştırmak için toplu komut dosyası kullanabilirsiniz.

Toplu Komut Dosyası

Windows 10’da PowerShell komut dosyalarını otomatik olarak çalıştırmak için ihtiyacınız olan toplu komut dosyası aşağıdadır. Her PowerShell komut dosyasının kendi Toplu Komut Dosyasına ihtiyacı olacaktır.

Sözdizimi

@ECHO OFF
PowerShell.exe -Command "Path to script"
PAUSE

Yürütmek istediğiniz PowerShell betiğinin gerçek yolu ile “Komut yolunun yolunu” değiştirin. Aşağıdaki örneği inceleyin;

Örnek

@ECHO OFF
PowerShell.exe -Command "C:Reminder-ScriptsMilkBuy-Milk.ps1"
PAUSE

Not Defteri’ni açın ve komut dosyasını içine yapıştırın. Dosyayı .bat uzantısıyla kaydedin.

Bu toplu iş dosyalarının yaptığı şey, PowerShell’i açması ve ardından işaret ettiğiniz komut dosyasını çalıştırmasıdır. Yine de masaüstünüzdeki bir PowerShell betiğini çift tıklatamaz ve otomatik olarak PowerShell’de çalışmasını sağlayamazsınız. Geçerli dosya bir Komut İstemi penceresi açacak ve ‘Devam etmek için herhangi bir tuşa basın’ mesajı gösterecektir. Bir tuşa bastığınızda, ancak o zaman PowerShell betiği çalışır. Komut dosyasının müdahale etmeden çalışmasını tercih ederseniz, yukarıdaki komut dosyasını düzenleyin ve ‘PAUSE’ satırını kaldırın. Bu şekilde görünmelidir;

@ECHO OFF
PowerShell.exe -Command "Path to script"

Görev Zamanlayıcı ve PowerShell Komut Dosyaları

Zamanlanmış bir göreve yönelik bir eylem olarak bir PowerShell betiğini otomatik olarak çalıştırmak istediğinizi varsayıyoruz. Bunu gerçekleştirmek için, PowerShell betiğini çalıştırmak için önce yukarıda gösterildiği gibi karşılık gelen bir Batch betiği oluşturmanız gerekir. Ardından, zamanlanmış bir görev oluşturduğunuzda, bir tetikleyiciye yanıt olarak yapması gereken Eylem altında Toplu komut dosyasını seçin. Bu aslında PowerShell betiğini çalıştıracaktır.

  Windows 10 Açıldığında Edge Tarayıcı Nasıl Otomatik Olarak Kapatılır

Burada örnek olarak Görev Zamanlayıcı’yı kullandık, ancak başka bir otomasyon uygulaması kullanıyorsanız yine de Batch komut dosyasını çağırmanız gerekecek. Tek istisna, kullandığınız otomasyon uygulamasının PowerShell’i açıp ardından onu PowerShell komut dosyasına yönlendirebilmesidir.