Saya memiliki program yang diluncurkan pada startup sistem menggunakan Penjadwal Tugas pada Windows Server 2012. Program harus mulai bahkan jika komputer reboot secara otomatis.
Administrator adalah akun yang digunakan untuk memulai program, opsi "Jalankan apakah pengguna masuk atau tidak" diperiksa untuk tugas tersebut.
Masalah dengan ini adalah ketika seseorang akhirnya masuk sebagai Administrator menggunakan Remote Desktop Connection antarmuka (program window) disembunyikan.
Seperti yang saya mengerti tidak ada cara untuk menyelesaikan ini menggunakan Penjadwal Tugas.
Bagaimana saya bisa memecahkan masalah ini?
Seharusnya masalah yang cukup umum tetapi saya tidak dapat menemukan apa pun dengan mencari di internet. Saya cukup terkejut bahwa Microsoft mengizinkan batasan seperti itu dalam penjadwal mereka. Bisakah saya membuat VBScript atau sesuatu yang berjalan saat startup dan meluncurkan program yang kemudian akan terlihat ketika pengguna benar-benar masuk?
Ide lain?
(Saya tidak ingin harus membuat program GUI-saja terpisah yang menghubungkan ke program asli dengan cara. Saya juga akan lebih suka jika saya tidak harus menghentikan program yang sudah berjalan setelah login pengguna dan kemudian meluncurkan lagi.)
Jawaban:
Menemukan cara melakukannya sendiri. Ini semacam solusi tapi itulah yang saya harapkan.
http://technet.microsoft.com/sv-se/sysinternals/bb963905.aspx
Berhenti! Jangan ngeri dulu. Baca terus ...
Jalankan, atur sehingga Administrator harus masuk secara otomatis.
Buat tugas di Penjadwal Tugas. Setel agar dijalankan hanya ketika pengguna (Administrator) masuk. Pemicu adalah "saat masuk" dan tentukan bahwa itu hanya saat Administrator masuk.
Buat tugas kedua. Jalankan hanya ketika pengguna masuk, memicu di admin masuk. Tindakan harus "memulai program" dan program adalah "C: \ Windows \ System32 \ rundll32.exe" dengan bidang argumen diatur ke "user32.dll, LockWorkStation".
Apa yang terjadi sekarang jika Anda me-restart komputer adalah bahwa Administrator secara otomatis log on, program yang ingin Anda mulai dimulai dan stasiun kerja menjadi terkunci. Jika saya masuk melalui Remote Desktop Connection saya bisa melihat jendela program dan menggunakan GUI. Saya dapat mengunci / membuka kunci komputer tanpa masalah dan melepaskan / menyambung kembali sesuka saya. Tidak ada masalah jika saya pergi ke server dan masuk di workstation yang sebenarnya juga. Karena Administrator sudah masuk dalam tugas tidak akan berjalan lagi (itu tidak membuat beberapa loop-in-lock-loop tak terbatas yang Anda tidak dapat keluar dari).
Sederhana seperti itu. Memang ada periode waktu satu detik sebelum komputer terkunci setelah login otomatis dan saya kira seorang hacker pro dengan akses fisik ke komputer dapat melakukan sesuatu yang licik selama jendela waktu ini, tetapi dalam kasus saya, saya dapat mengabaikan risiko keamanan itu. Selama saya tidak membiarkan peretas pro masuk ke rumah saya dan menunjukkan kepada mereka komputer, sistemnya seharusnya relatif aman. Di atas semua itu tidak ada banyak nilai pada komputer yang membutuhkan perlindungan super-vault jadi saya cukup senang dengan solusi ini.
sumber
SuperUser
. Jika Anda bisa menjawabnya di sana, itu akan sangat membantu - superuser.com/questions/902386/…Lalu mengapa Anda tidak menjadikannya layanan sistem, seperti yang ditentukan oleh spesifikasi windows?
Kamu tidak bisa. Program latar belakang tidak seharusnya berinteraksi dengan UI. Atau: UI harus menjalankan programnya sendiri yang kemudian terhubung ke layanan. UI berjalan di ruang pengguna pengguna yang login melakukan presentasi, layanan windows melakukan pemrosesan. Ini adalah bagaimana model ini dirancang untuk sekitar 15 tahun atau lebih.
Saya lebih terkejut Anda tidak pernah bertanya mengapa.
Ada beberapa masalah:
Baik saya maupun Microsoft pada saat ini tidak peduli apa yang ingin Anda lakukan. Ada model yang didirikan dan didukung untuk mengikat pemrosesan latar belakang menjadi UI pengguna yang login - gunakan, atau tidak. Tetapi ketika tidak, jangan mengeluh tentang masalah keamanan yang Anda pasang.
sumber
Ini semua tentang
Session
program Anda berjalan masuk. Jika tidak ada yang login, tidak ada sesi interaktif untuk ditampilkan di bawah, saya percaya itu berjalan di bawahSession 0
, yang memiliki UI aneh yang tidak muncul seperti yang lain.Sekarang, jika program Anda mendeteksi ketika
explorer.exe
diluncurkan (atau cara lain untuk mendeteksi login pengguna) dan secara ajaib membentuk kembali dirinya sendiri atau menelurkan beberapa proses anak pada sessionid baru itu, maka siapa pun yang login akan dengan senang hati melihat apa yang Anda lakukan.sumber