Windows 8'de bir Powershell betiği zamanlamak mı istiyorsunuz?


1

Her gün sabah saat 03: 00’de Windows 8’de çalışacak bir Powershell betiğini nasıl zamanlayabilirim?


1
Şimdiye kadar ne denedin? Görev Zamanlayıcı'yı kullanmaya çalıştınız mı? kullanım powershell /? PS1 betiğinin komut satırından nasıl çalıştırılacağını bilmek.
Karan

Komut dosyasını çalıştırmak için Görev Zamanlayıcı'yı kullanmaya çalıştım, ancak Zamanlayıcı'dan çalıştırarak test etmeye çalıştığımda, durumu Çalışıyor olarak değişiyor ve hiç bitmiyor. Komut dosyasını test ettiğimi ve Powershell ile sağ tıklarsanız başarılı bir şekilde çalıştığını ve çıktığını unutmayın.
Wesley Tansey

Asıl soruda bunu söylemeliydin, aksi halde aşağıda gördüğünüz gibi insanlar size zamanlanmış bir görev oluşturmayı öğreterek zamanlarını boşa harcarlar. Görevi yönetici olarak / en yüksek ayrıcalıklarla çalışacak şekilde ayarlamayı denediniz mi?
Karan

Evet, bunu da denedim. En yüksek ayrıcalıklarla çalıştırılmak üzere ayarlanmıştır.
Wesley Tansey

1
Neden bir tetikleyici birkaç dakika ayarlamıyor. Şimdi ve basitçe test?
Karan

Yanıtlar:


2

EDIT: Bu benim için çalışan bir kavram kanıtıdır.

  1. yeni bir metin dosyası aç ve yaz
    write-Host 'Hello World'
    $x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")

  2. olarak kaydet hello.ps1 masaüstünde

  3. powershell.exe'nin 32-bit sürümünü yükseltilmiş haklarla aç
    (sağ tıklayıp yönetici olarak aç)
    C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe

  4. emin olun, istediğinize kadar x64 sürümünü kullanmadığınızdan emin olun.
    C:\Windows\syswow64\Windowspowershell\v1.0\powershell.exe

  5. Windows 7'de "Windows PowerShell (x86)" başlat menüsü kısayolu x64'e işaret eder versiyonu! Bu sürümler ayrı politika ayarları . Bunu anlamak biraz zaman aldı :)

  6. Powershell scriptlerine izin vermek ve ile onaylamak için aşağıdakini yazın. Y
    Set-ExecutionPolicy Unrestricted

  7. Bu ayar kalıcı olarak kaydedilir. Bunu kontrol etmek için yeniden başlat.

  8. powershell politikasını kontrol edin ve hala sınırsız olduğunu doğrulayın
    get-ExecutionPolicy

  9. zamanlama görev penceresini aç

  10. x86 sürümüne işaret eden zamanlanmış bir görev yapmak
    C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe

  11. İsteğe bağlı parametre için aşağıdakileri yazın:
    c:\users\YOURUSERNAME\desktop\hello.ps1

  12. Görevinizi, zamanlama görev pencerenizi sağ tıklatarak elle yürütün

  13. Neden "koşuyor" yazdığını merak ediyorum.

  14. vurmak F5 yenilemek. "Hala çalışıyor" -status'un kaybolduğunu fark edeceksiniz.

  15. Mutlu ol (1 saat sonra: p)


Bu çalışmıyor. Lütfen orjinal yayındaki yorumuma bakınız.
Wesley Tansey

Görev zamanlayıcınızda kullandığınız tam sözdizimi neydi?
nixda

Düzenlemenizde önerdiğiniz şekilde denedim. Halen sadece statüyü Koşu olarak değiştirir ve asla bitmez.
Wesley Tansey

Lütfen tam düzenlememi görün. Normal bir yol olmalı.
nixda

6. adımla ilgili olarak, muhtemelen "ile onayla" demesi gerekir. Y " (yerine J ). Farkındayım J Sizin için, Windows görüntüleme diliniz Almanca olarak ayarlanmış, ancak SU normalde aksi belirtilmediği sürece İngilizce yerelleştirme yapar.
Indrek

0

taskschd.msc dosyasını çalıştırın, Powershell'e gidin ve işi / programı oluşturun.

Referans


0

Zamanlanmış PowerShell görevimin işe yaraması biraz zaman aldı.

İşte bana yardımcı olan birkaç taktik.

a) Basit bir PowerShell betiği çalışmasını sağlayın.
b) Koşullar ve eylemler dahil olmak üzere tüm Görev Yöneticisi sekmelerini anlayın (bunu zaten yaptınız sanırım)
c) Çeşitli dosyalara giden yolu izleyin.


Katil sorunum, PowerShell'in program olduğunu ve senaryosunun sadece bir argüman olduğunun farkında değildi.

Başka bir küçük yardım dosya adından önce -ExecutionPolicy Bypass tanıtmaktı:
-ExecutionPolicy Bypass -Dosya "D: \ PShell \ İşlem Task.ps1"

Son olarak, SuperUser görgü kuralları hakkında hiçbir zaman emin olamadım, ancak bu konuyla ilgili sayfam. PowerShell Zamanlaması .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.