Zamanlanmış Görevlerde Uzmanlaşma: PowerShell Komut Dosyalarını Görev Zamanlayıcıyla Çalıştırmaya Yönelik Kapsamlı Bir Kılavuz
# 5 Görev Zamanlayıcıdan PowerShell Betiğini Çalıştırmanın Temel Adımları
Şunu hayal edin: kuruluşunuzun operasyonlarını kolaylaştıran inanılmaz bir PowerShell betiği geliştirdiniz, ancak şimdi bunu manuel müdahale olmadan bir programa göre çalışacak şekilde otomatikleştirmek istiyorsunuz. PowerShell komut dosyalarını belirli bir zamanda veya aralıkta otomatik olarak çalıştırmanıza olanak tanıyan, kullanımı kolay bir Windows özelliği olan Görev Zamanlayıcı'nın devreye girdiği yer burasıdır. Bu makalede, bunu mümkün kılan teknik ayrıntılara dalarak Görev Zamanlayıcı'dan bir PowerShell betiğinin nasıl çalıştırılacağını keşfedeceğiz.
1. Adım: PowerShell Komut Dosyanızı Hazırlayın
PowerShell betiğinizi planlamadan önce, iyi biçimlendirildiğinden ve herhangi bir manuel giriş olmadan yürütülecek şekilde tasarlandığından emin olmanız gerekir. Bunu yapmak için, gerekli tüm parametreleri ve kimlik bilgilerini komut dosyasına eklemelisiniz. Örneğin, komut dosyanız yönetici ayrıcalıkları gerektiriyorsa RunAsAdministrator parametresini eklediğinizden emin olun.
Güvenlik endişeleri nedeniyle bir komut dosyasında sabit kodlanmış kimlik bilgilerinin kullanılmasının önerilmediğini unutmayın. Bunun yerine, kimlik doğrulama bilgilerini sağlamak için şifrelenmiş kimlik bilgilerini veya başka bir güvenli yöntemi kullanmayı düşünün.
Ayrıca tutarlılık ve güvenilirlik sağlamak için komut dosyanızı çeşitli senaryolarda ve ortamlarda kapsamlı bir şekilde test edin. İyi hazırlanmış bir PowerShell betiğine sahip olmak, planlama sürecini sorunsuz hale getirecektir.
Adım 2: Yeni Bir Zamanlanmış Görev Oluşturun
PowerShell betiğiniz hazır olduğunda yeni bir zamanlanmış görev oluşturmanın zamanı geldi. Görev Zamanlayıcı'ya Başlat menüsünden, Görev Zamanlayıcı aranarak veya taskschd.msc çalıştırılarak erişilebilir.
Yeni bir görev oluşturmak için şu adımları izleyin:
1. Görev Zamanlayıcı'yı açın.
2. Sağ bölmede *”Görev Oluştur…”* seçeneğine tıklayın.
3. Görev için bir Ad ve Açıklama girin. Bu alanlar görevin amacını belirlemenize ve onu daha sonra kolayca bulmanıza yardımcı olur.
3. Adım: Zamanlanmış Görev Tetikleyicisini Yapılandırma
Tetikleyiciler, zamanlanan görevin ne zaman ve ne sıklıkta çalışacağını tanımlar. Görevi belirli bir zamanda veya belirli bir olay meydana geldiğinde çalıştırmak gibi tetikleyicileri yapılandırmak için çeşitli seçenekleriniz vardır.
Bir tetikleyici ayarlamak için:
1. Görev Oluştur penceresinde Tetikleyiciler sekmesine gidin.
2. *”Yeni…”* seçeneğini tıklayın.
3. *” arasından tetikleyici türünü seçin Görevi başlat”* açılır menüsü. Diğer seçeneklerin yanı sıra günlük, haftalık veya aylık programları seçebilirsiniz.
4. Seçtiğiniz tetikleyici için istenen ayarları yapılandırın; başlangıç zamanını, bitiş zamanını ve tekrarlama gerekliliklerini belirtin.
Tek bir göreve birden fazla tetikleyicinin eklenebileceğini ve bu sayede karmaşık planlama senaryoları oluşturabileceğinizi unutmayın.
4. Adım: Zamanlanmış Görev Eylemini Yapılandırma
Eylem, görev yürütüldüğünde (bu durumda PowerShell betiğinizi çalıştırırken) ne olacağını tanımlar. Eylemi yapılandırmak için:
1. Görev Oluştur penceresinde Eylemler sekmesine gidin.
2. *”Yeni…”* seçeneğini tıklayın.
3. *”Eylem”* açılır menüsü için , *”Bir program başlat”* seçeneğini seçin.
4. *”Program/komut dosyası”* alanına powershell.exe yazın.
5. *”Ekle alanına bağımsız değişkenler (isteğe bağlı)”* alanına -ExecutionPolicy Bypass -File “your_script_path.ps1″ ekleyin ve your_script_path.ps1 öğesini PowerShell betiğinizin tam yolu ile değiştirin.
-ExecutionPolicy Bypass bağımsız değişkeni, sistemdeki varsayılan yürütme ilkesi buna izin vermese bile betiğin çalışmasını sağlar.
5. Adım: Ek Zamanlanmış Görev Ayarlarını Yapılandırma
Görev Zamanlayıcı'da, görev önceliği, güvenlik seçenekleri ve bilgisayar pil gücüyle çalışırken görevin davranışı gibi yapılandırabileceğiniz ek ayarlar vardır.
1. Görev Oluştur penceresinde, bu seçenekleri keşfetmek için Koşullar ve Ayarlar sekmelerine gidin.
2. Kullanıcı hesabını görev olarak tanımlamak gibi gereksinimlerinize göre gerekli ayarlamaları yapın. altında çalışacak ve görevin belirli bir süre sonra durup durmayacağını seçecektir.
Son olarak, zamanlanmış görevi oluşturmak için *”Tamam”* seçeneğine tıklayın. PowerShell betiğiniz artık tanımladığınız tetikleyicilere göre otomatik olarak çalışacak şekilde ayarlandı.
Sonuç olarak
Görev Zamanlayıcı'dan bir PowerShell betiği çalıştırmak, rutin görevleri otomatikleştirmenin ve kuruluşunuzun operasyonlarını optimize etmenin güçlü bir yoludur. Bu beş temel adımı takip ederek, herhangi bir komut dosyasını istediğiniz sıklıkta planlamak için iyi bir donanıma sahip olacak, üretkenliği ve verimliliği artıracaksınız. Sorunsuz bir yürütme sağlamak için komut dosyalarınızı ve zamanlanmış görevlerinizi her zaman kapsamlı bir şekilde test etmeyi unutmayın.
Görev Zamanlayıcı'yı belirli bir zamanda veya etkinlikte bir PowerShell betiğini çalıştıracak şekilde nasıl kurabilir ve yapılandırabilirim?
Görev Zamanlayıcı'yı belirli bir zamanda veya etkinlikte bir PowerShell betiğini çalıştıracak şekilde ayarlamak ve yapılandırmak için şu adımları izleyin:
1. PowerShell betiğinizi (.ps1 dosyası) oluşturun ve bilgisayarınızdaki bir konuma kaydedin.
2. Görev Zamanlayıcı'yı açın: Çalıştır iletişim kutusunu açmak için Win + R tuşlarına basın, taskschd.msc yazın ve Enter tuşuna basın.
3. Yeni bir görev oluşturun: Görev Zamanlayıcı penceresinde, sağ taraftaki Eylemler panelinde Görev Oluştur'a tıklayın.
4. Genel sekmesi: Görev Oluştur penceresinde aşağıdaki bilgileri doldurun:
- Ad: Görevinize açıklayıcı bir ad verin.
- Açıklama (İsteğe bağlı): Görevin ne yaptığına ilişkin kısa bir açıklama sağlayın.
- Güvenlik seçenekleri: Görevi çalıştıracak kullanıcı hesabını seçin ve Kullanıcının oturum açıp açmadığını çalıştırdığından emin olun olup olmadığı seçilir.
5. Tetikleyiciler sekmesi: Burası, görevin ne zaman veya hangi olaylara yanıt olarak çalıştırılacağını belirleyeceğiniz yerdir:
- Yeni bir tetikleyici oluşturmak için Yeni…'yi tıklayın.
- Görevi başlat açılır menüsünde, görevin bir zamanlamaya göre mi, oturum açma sırasında mı, başlangıçta mı yoksa başka bir etkinliğe yanıt olarak mı çalıştırılacağını seçin.
Görevi belirli bir zamanda çalıştırmak için Programa göre'yi seçin ve zaman ve sıklık ayarlarını yapılandırın.
6. Eylemler sekmesi: PowerShell betiğinizi çalıştıracak eylemi belirtin:
- Yeni…'ye tıklayın.
- Eylem açılır menüsünde şunu seçin: Bir program başlatın.
- Program/script alanına powershell.exe yazın.
- < alanınaArgüman ekle (isteğe bağlı) alanına -ExecutionPolicy Bypass -File 'ı tıklayın. yazın. " ifadesini komut dosyası dosyanızın tam yoluyla değiştirin.
- Eylemi kaydetmek için Tamam
7. Koşullar ve Ayarlar sekmeleri: Görev için ek koşulları veya ayarları yapılandırın. Örneğin, görevi yalnızca bilgisayar boştayken çalışacak veya çok uzun sürerse görevi durduracak şekilde ayarlayabilirsiniz.
8. Görevi kaydedin: Görev Oluştur penceresinde Tamam'a tıklayın. İstenirse, daha önce belirttiğiniz kullanıcı hesabının şifresini girin.
Artık Görev Zamanlayıcı, PowerShell betiğinizi belirtilen zamanda veya etkinlikte çalıştıracak. Doğru şekilde çalıştığından emin olmak için görevi test ettiğinizden emin olun. Bunu yapmak için Görev Zamanlayıcı penceresinde göreve sağ tıklayın ve Çalıştır'ı seçin.
PowerShell betiğini Görev Zamanlayıcı aracılığıyla çalıştırırken en sık karşılaşılan sorunlar nelerdir ve bunlar nasıl çözülebilir?
PowerShell betiğini Görev Zamanlayıcı aracılığıyla çalıştırırken ortaya çıkabilecek birkaç genel sorun vardır. İşte en sık karşılaşılan sorunlardan bazıları ve çözümleri:
1. Yürütme Politikası: Varsayılan olarak PowerShell, komut dosyalarının yürütülmesini kısıtlayan bir yürütme politikasına sahiptir. Bu sorunu çözmek için görev eyleminde aşağıdaki bayrağı kullanarak komut dosyasına ilişkin yürütme ilkesini tanımlayabilirsiniz:
-ExecutionPolicy Bypass2. Komut Dosyası Yolu: Görev Zamanlayıcı, komut dosyası dosyasını bulma konusunda sorunlarla karşılaşabilir. Doğru yolun kullanıldığından emin olmak için görev eyleminde PowerShell betiğinizin mutlak yolunu sağlayın.
3. Kullanıcı Oturum Açmış Olsa da Olmasa da Çalıştır: Bazen, 'Yalnızca kullanıcı oturum açtığında çalıştır' seçeneği seçilirse komut dosyaları yürütülemez. Bu sorunu çözmek yerine 'Kullanıcının oturum açmış olup olmadığını çalıştır' seçeneğini seçin.
4. Yönetici Ayrıcalıklarıyla Çalıştırma: Komut dosyanızın doğru çalışması için yönetici ayrıcalıkları gerekiyorsa 'En yüksek ayrıcalıklarla çalıştır' onay kutusunu işaretlediğinizden emin olun.
5. Görev Zamanlayıcı Hizmet Hesabı: Varsayılan olarak Görev Zamanlayıcı, görevleri SYSTEM hesabı altında çalıştırır. Komut dosyanız belirli bir hesap gerektiriyorsa görevi uygun kullanıcı hesabı altında çalışacak şekilde yapılandırın.
6. PowerShell Sürümü: Bazı cmdlet'ler eski sürümlerde mevcut olmayabileceğinden, komut dosyanızı yürütmek için doğru PowerShell sürümünün kullanıldığından emin olun. -Version bayrağını kullanarak istediğiniz sürümü belirtin.
7. Hata İşleme ve Günlüğe Kaydetme: Komut dosyası yürütme sırasındaki sorunları daha iyi anlamak için, hata işlemeyi ve günlüğe kaydetmeyi komut dosyanıza dahil edin. Bu, erişim izinleri veya sözdizimi sorunları gibi belirli hataları tanımlamanıza yardımcı olabilir.
8. Komut Dosyasını Görev Zamanlayıcı Dışında Test Etme: Bir komut dosyasını Görev Zamanlayıcı aracılığıyla çalıştırmadan önce, düzgün çalıştığından emin olmak için onu normal bir PowerShell oturumunda test edin.
Bu yaygın sorunları ele alarak PowerShell komut dosyalarınızı Görev Zamanlayıcı aracılığıyla daha etkili bir şekilde çalıştırabilmeniz gerekir.
PowerShell komut dosyalarıyla Görev Zamanlayıcı'yı kullanarak Windows'ta yinelenen görevleri nasıl otomatikleştiririm?
PowerShell betikleriyle Görev Zamanlayıcı'yı kullanarak Windows'ta yinelenen görevleri otomatikleştirmek için şu adımları izleyin:
1. PowerShell betiği oluşturun: Öncelikle, otomatikleştirmek istediğiniz komutları içeren bir PowerShell betiği oluşturmanız gerekir. Komut dosyasını Notepad veya Visual Studio Code gibi bir metin düzenleyici kullanarak yazın ve .ps1 uzantısıyla kaydedin.
2. Komut dosyası yürütme ilkesini etkinleştirin: Varsayılan olarak Windows, güvenlik nedeniyle PowerShell komut dosyalarının yürütülmesini engeller. Aşağıdaki komutu yükseltilmiş bir PowerShell penceresinde (Yönetici olarak çalıştırın) çalıştırarak komut dosyası yürütme ilkesini etkinleştirmeniz gerekir:
Set-ExecutionPolicy RemoteSignedBu komut, yerel olarak oluşturulan komut dosyalarının yürütülmesine izin verir ve internetten indirilen komut dosyalarının dijital imza olmadan yürütülmesini engeller.
3. Görev Zamanlayıcı'yı açın: Çalıştır iletişim kutusunu açmak için Win + R tuşlarına basın, taskschd.msc yazın. giriş alanına tıklayın ve Görev Zamanlayıcı'yı açmak için Tamam'a tıklayın.
4. Yeni bir görev oluşturun: Görev Zamanlayıcı'da Eylemler bölmesine gidin ve Görev Oluştur“a tıklayın. Bu, “Görev Oluştur penceresini açacaktır.
5. Görevi yapılandırın: Görev Oluştur penceresinin Genel sekmesinde göreviniz için bir ad ve açıklama girin. Görevin yönetici haklarıyla çalıştığından emin olmak için En yüksek ayrıcalıklarla çalıştır kutusunu işaretleyin.
6. Bir tetikleyici ayarlayın: Tetikleyiciler sekmesine gidin ve Yeni“ye tıklayın. Buradan PowerShell betiğinizin ne zaman ve ne sıklıkta çalışmasını istediğinizi seçebilirsiniz. Ayarları gereksinimlerinize göre yapılandırın ve “Tamam'ı tıklayın.
7. Eylemi tanımlayın: Eylemler sekmesine geçin ve Yeni“ye tıklayın. “Yeni Eylem penceresinde eylem türü olarak Program başlat'ı seçin. Program/script alanına powershell.exe yazın. Argüman ekle (isteğe bağlı) alanına şunu yazın:
-ExecutionPolicy Bypass -File “PathtoyourPowerShellScript.ps1”PathtoyourPowerShellScript.ps1 değerini PowerShell betiğinizin gerçek yolu ile değiştirin. Eylemi kaydetmek için Tamam'ı tıklayın.
8. Diğer ayarları yapılandırın: Gerekirse, göreviniz için Koşullar ve Ayarlar sekmelerinde ek ayarlar da yapılandırabilirsiniz.
9. Görevi kaydedin ve test edin: Görevinizi kaydetmek için Tamam'a tıklayın. Artık Görev Zamanlayıcı'da görevinize sağ tıklayıp, düzgün çalışıp çalışmadığını test etmek için Çalıştır'ı seçebilirsiniz.
Bu adımları izleyerek, PowerShell betikleriyle Görev Zamanlayıcı'yı kullanarak Windows'ta yinelenen görevleri otomatikleştirebilirsiniz.