Situasi
Saya memiliki skrip batch yang menyiapkan beberapa file, menjalankan program ( .exe
) dan kemudian menghapus file tersebut.
Tugas ini harus berjalan setiap jam, jadi saya mencoba mengonfigurasi ini menggunakan Tugas Terjadwal. Masalahnya adalah bahwa program yang disebutkan sebelumnya tidak berjalan dengan benar ketika dipanggil dari tugas (baik melalui .bat
skrip, maupun ketika memanggil .exe
langsung), tetapi saya tidak mendapatkan pesan peringatan atau kesalahan dalam log.
Mempersiapkan
Tugas dikonfigurasikan untuk dijalankan sebagai Akun Layanan Windows yang memiliki semua hak istimewa yang ditetapkan dengan benar. Saat menggunakan akun ini untuk masuk melalui RDP, saya dapat menjalankan .bat
dan .exe
langsung tanpa masalah, tetapi tugas tetap tampak tidak melakukan apa-apa. Ini mudah diamati karena program selalu memodifikasi file, dan modifikasi pada timestamp tidak berubah melalui tugas.
Dalam log tugas terjadwal saya mendapatkan pesan informasi untuk tugas memulai proses, keluar, dll. "Kode hasil", bagaimanapun, adalah 111
(mencoba Google ini tanpa keberuntungan, satu-satunya asosiasi yang saya dapatkan adalah "nama file terlalu panjang ", yang hanya AFAIK yang sama sekali tidak relevan). Dalam log aplikasi, saya sama sekali tidak mendapatkan apa pun.
Yang saya duga adalah masalahnya
Program ini adalah monstrositas lama yang memunculkan semacam layar splash (sebenarnya ini adalah jendela normal), meskipun GUI tidak diperlukan karena tidak memerlukan interaksi dan menutup sendiri setelah operasi. Jendela muncul sekitar 2 detik.
Saya menduga bahwa persyaratan untuk GUI ini ada hubungannya dengan tugas yang gagal, tapi saya tidak yakin. Ketika saya masuk dengan pengguna yang menjalankan tugas di bawah (melalui RDP), tidak ada jendela yang muncul ketika saya memulai tugas yang dijadwalkan.
Edit tentang GUI
Saya telah membangun executable C # yang sangat kecil yang meluncurkan program tanpa jendela utama (menggunakan ProcessStartInfo.WindowStyle = ProcessWindowStyle.Hidden
). Bahkan dengan cara ini, tugas yang dijadwalkan masih tidak berhasil meluncurkan program dengan benar, tetapi kode pengembalian sekarang 0
.
Memperbarui
Ketika saya mengkonfigurasi tugas untuk mengatakan "jalankan apakah pengguna masuk atau tidak", dan run with highest privileges
opsi tidak dicentang , nilai kesalahannya adalah 2147943859
.
Apa yang bisa saya lakukan untuk memecahkan masalah?
OS = Windows Server 2008 R2 SP1
Jika diperlukan lebih banyak info, beri tahu saya di komentar.
.exe
"program" dengan parameter dari dalam skrip, input harus disediakan dengan benar sebagai argumen.