Saya mencoba untuk meluncurkan cmd.exe di sesi 0. Sejauh ini saya telah melakukan berikut ini dari command prompt yang ditinggikan:
sc config UI0Detect start= auto
net start UI0Detect
Dan respons menunjukkan bahwa layanan dimulai dengan benar. Pada titik inilah saya berasumsi jika saya beralih ke sesi 0, cmd.exe akan berjalan.
Saya beralih ke sesi 0 menggunakan perintah berikut:
rundll32 winsta.dll,WinStationSwitchToServicesSession
Ini berhasil mengalihkan saya ke sesi 0, tetapi satu-satunya jendela yang tersedia adalah yang memiliki opsi untuk kembali ke sesi 1.
Bagaimana cara mendapatkan cmd.exe untuk diluncurkan di sesi 0?
windows-7
command-line
session
omghai2u
sumber
sumber
Jawaban:
Untuk meluncurkan cmd.exe di sesi 0, gunakan psexec dari Sysinternals
Sekarang Anda memiliki konsol berjalan di sesi 0,
Anda juga dapat memulai cmd.exe di sesi 0 dan menampilkan GUI:
dengan begitu ketika Anda beralih ke sesi 0, cmd.exe akan menunggu Anda di sana.
Anda memiliki hak sebanyak mungkin di Windows 7:
jika Anda menggunakan PsTools lain, ingatlah untuk menggunakan sakelar / accepteula:
jika tidak, program akan memunculkan kotak pesan untuk meminta untuk menerima Eula, program akan hang karena tidak ada UI di sesi 0 untuk menutup kotak pesan.
Untuk memverifikasi bahwa Anda menjalankan di sesi 0, Anda dapat menggunakan proses qpro:
Anda akan melihat 'cmd.exe' di antara semua proses layanan.
sumber
-s
dijalankan sebagaiSYSTEM
pengguna dan tidak mengambil argumen. Mungkin yang Anda maksudkan-i 0
dalam contoh pertama dan-s -i 0
yang kedua?Itu tidak akan berhasil. Itu hanya memulai proses sebagai Sistem.
Layanan adalah program yang ditulis dengan cara khusus untuk menerima perintah dari manajer kontrol layanan.
MS memiliki utilitas yang memungkinkan menjalankan program sebagai layanan. Ini disebut
Srvany
dan ada di Alat Kit Sumber Daya Windows 2003.Unduh Windows Server 2003 Resource Kit Tools
sumber
Saya menemukan solusi secara tidak sengaja suatu hari, tetapi http://www.alex-ionescu.com/?p=59 juga mendokumentasikan solusi yang dekat dengan apa yang saya temukan
Buat file batch dengan yang berikut ini (sebut saja some.bat)
Kemudian buat layanan untuk memanggil file batch ini (menggunakan Admin Command Prompt)
(Catat spasi setelah setiap =, dan saya sarankan menggunakan path lengkap untuk some.bat)
Maka itu adalah masalah memulai layanan
(Tidak perlu membuat ui0detect auto start dengan sc config UI0Detect start = auto)
Dan jika semuanya berjalan dengan baik, Anda akan mendapatkan kotak flashing pesan yang akan segera terjadi! Pergi ke Lihat Pesan dan Anda akan memiliki Admininstrator (nt authority \ system) Prompt Perintah yang tidak akan dimusnahkan secara otomatis oleh awal layanan yang gagal (karena itu diperlukan file batch dengan perintah mulai)
Ini berhasil, meskipun terkadang tidak berhasil pada percobaan pertama.
Saya percaya ini memberi Anda akses ke sesi interaktif 0 saja, yang hanya ada untuk pengguna sistem nt authority \
sumber
Anda dapat menggunakan start pintas (Windows) + R untuk memulai dialog 'jalankan'. Dari sana, cukup ketik 'cmd' (tanpa tanda kutip) dan voila. cmd
sumber
CMD
normal tidak memasukkannyaSession 0
.