Saya mencoba menjalankan file batch pada Windows 7 dari Penjadwal Tugas. Saya dapat menjalankan file batch dengan baik jika saya menjalankannya dari command prompt.
Jika saya menjalankannya dari Penjadwal Tugas untuk hanya berjalan ketika pengguna masuk, tugas akan berjalan tanpa masalah. Namun, saat dijalankan ketika pengguna tidak masuk, Penjadwal Tugas sepertinya sedang menjalankan file tetapi tidak ada yang terjadi.
Saya sudah mencoba mengubah file batch menjadi apa-apa selain baris berikut untuk memastikan itu bukan karena apa yang ada di file batch:
echo "success" >> c:\temp\test.log
dan itu tidak berhasil. Ada ide? Saya menjalankannya dengan hak istimewa tertinggi dan dengan akun admin yang memiliki izin penuh untuk file batch dan folder tempat file tersebut sedang ditulis.
Jawaban:
JADWAL TUGAS: JADWAL SCRIPT JADWAL TIDAK MENJALANKAN
Properti Penjadwal Tugas. . .
Dari Windows
Task Scheduler
di pekerjaanProperties
(lihat sebagian besar tangkapan layar di bawah) di Windows 7 . . .1.
General
tab, pastikan bahwa opsi di bawah ini dipilih / dicentang atau tidak dicentang seperti yang ditunjukkan pada Print Screen ARun only when user is logged on
Run whether user is logged on or not
Run with the highest privileges
2.
Conditions
tab, pastikan bahwa opsi di bawah ini dipilih , dicentang , atau tidak dicentang seperti yang ditunjukkan pada Print Screen BWake the computer to run this task
3.
Actions
tab, klikEdit
, dan pastikan bahwaStart in (optional)
diatur seperti yang ditunjukkan pada contoh di bawah ini ( JANGAN menaruh tanda kutip ganda di sekitarnya) untuk path lengkap menunjuk di mana skrip batch ditempatkan TANPA garis miring terbalik "\
" Cetak Layar CPERTIMBANGAN KEAMANAN
Setelah Anda menekan
OK
( 2. di atas) itu akan meminta Anda untuk kredensial untuk menjalankan ini sebagai, dan kredensial itulah yang akan memerlukan akses keEXECUTE
file batch di mana ia ada, dan itu juga akan memerlukan akses untuk melakukan apa pun file batch berjalan yang Anda skrip.Mungkin yang terbaik adalah mengatur akun pengguna layanan / proxy statis untuk proses ini dan kemudian menggunakan kredensial untuk menjalankan proses. Anda harus memastikan kata sandinya kuat dan tidak akan pernah kedaluwarsa — dan perlu akses ke
EXECUTE
batch dan menjalankan apa pun yang proses skrip batch dijalankan dan perintah serta sumber daya apa pun, dll. itu memanfaatkan juga.Tampaknya opsi
Run whether user is logged on or not
Anda HARUS memeriksa opsiRun with highest privileges
untuk benar-benar berjalan seperti yang diharapkan dari Penjadwal Tugas.Pemeriksaan Kesalahan
Jika ada masalah dengan skrip kumpulan sebenarnya tetapi Penjadwal Tugas Windows benar-benar mengeksekusinya untuk menjalankannya tetapi skrip kumpulan skrip keluar, dll. Karena alasan apa pun, Penjadwal Tugas mungkin tidak melihat kegagalan ini pada tingkat ini. Dari perspektifnya (secara default sebagian besar waktu), ia mengeksekusi file batch sehingga selama dapat mengeksekusi dan memiliki akses untuk melakukannya, tugasnya berhasil dilakukan.
Menambahkan pengecekan kesalahan atau masuk ke logika skrip batch untuk menangkap (atau memecahkan masalah ) masalah pada level ini termasuk memastikan bahwa konteks keamanan yang dijalankan oleh penjadwal bets sebagai memiliki akses yang sesuai ke perintah, sumber daya, dll. Yang dijalankan skrip batch.
Pertimbangan Kebijakan Grup
PERIKSA KEBIJAKAN KELOMPOK DAN LOG PADA SEBAGAI IZIN PEKERJAAN BATCH
Logika Batch Script dengan Drive yang Dipetakan atau Path UNC Penuh, dan masalah. . .
Jika skrip Anda merujuk drive jaringan yang dipetakan tetapi Anda menginginkannya
Run whether the user is logged on or not
, maka dalam konteks ini, pemetaan drive mungkin sebenarnya tidak ada untuk proses batch untuk melakukan apa yang diharapkan.Jika memungkinkan, gunakan
UNC
jalur dalam logika skrip batch Anda alih-alih huruf drive yang dipetakan untuk menghindari masalah. Jika tidak, Anda mungkin perlu menggunakanPUSHD \\ServerName\ShareName
di awal proses batch dan kemudian gunakanPOPD
di akhir proses batch. Anda bisa memetakan drive denganNET USE X: \\ServerName\ShareName
di awal proses batch dan kemudian lepaskan drive denganNET USE X: /DELETE
di akhir proses batch.LAINNYA
MS HOTFIX (KB977353): Kebijakan Grup Item preferensi tugas langsung tidak berjalan di komputer klien yang menjalankan Windows 7 atau Windows Server 2008 R2
Lihatlah
Settings
tab tugas yang dijadwalkan dan opsi yang terdaftar sebagaiStop the task if it runs longer than:
. Jika opsi ini dicentang dan jangka waktunya kurang dari skrip yang berjalan, Penjadwal Tugas akan membunuhnya lebih awal dan dengan demikian Anda mungkin tidak mendapatkan hasil yang diharapkan. Ini adalah hal lain untuk diperiksa saat pemecahan masalah untuk berjaga-jaga.Dari
Triggers
tab tugas yang dijadwalkan saat Anda memilihEdit
opsi, pastikan untuk mengaturStart:
waktu dan tanggal dari nilai yang belum terlewati. Pastikan ini menetapkan tanggal dan waktu dengan nilai di Masa Depan . Kalau tidak, Anda mungkin melihat bahwa pekerjaan menyatakan bahwa itu dijadwalkan untuk dijalankan pada waktu yang dijadwalkan berikutnya seperti yang Anda harapkan; namun, itu tidak dijalankan oleh Penjadwal Tugas dan tidak juga tab Penjadwal TugasHistory
menunjukkan bahwa itu pernah dijalankan (karena tidak). Cukup edit pemicu dan perbarui dengan tanggal dan / atau waktu mendatang untuk menyelesaikan masalah ini jika Anda mengalaminya.PRINT SCREENS
Layar Cetak A
Layar Cetak B
Layar Cetak C
sumber