TL; DR - Satu-satunya pilihan adalah menelurkan proses lain. (A baru cmd.exe
.) Dalam kasus Command Prompt, memulai instance baru dengan token akses yang memiliki izin lebih tinggi akan selalu menghasilkan jendela baru yang dibuat.
Tidak mungkin untuk memberikan izin tambahan ke proses yang sudah berjalan .
Saat pengguna dengan hak administratif mencatat ke mesin Windows dengan Kontrol Akun Pengguna (UAC) diaktifkan, dua token akses terpisah dibuat :
- Satu dengan akses administrator penuh, dan
- "Token yang difilter" kedua dengan akses pengguna standar
Pada saat suatu proses (misalnya CMD.EXE
) dibuat, ia diberikan salah satu dari dua token akses ini . Jika proses dijalankan "ditinggikan" sebagai Administrator, token akses tanpa filter digunakan. Jika proses tidak diberikan hak admin, token pengguna standar yang difilter digunakan.
Setelah proses dibuat, tidak mungkin untuk mengganti token aksesnya . 1 Dalam Keamanan Aplikasi MSDN ini untuk utas Desktop Windows , poster yang mengidentifikasi dirinya sebagai anggota Tim Kernel Windows menyatakan:
Kernel NT tidak pernah dimaksudkan untuk mengizinkan token switching begitu suatu proses mulai berjalan. Ini karena gagang, dll. Mungkin telah dibuka dalam konteks keamanan lama, operasi dalam penerbangan mungkin menggunakan konteks keamanan yang tidak konsisten, dll. Karena itu, biasanya tidak masuk akal untuk mengganti token proses 'begitu telah mulai dieksekusi. Namun, ini tidak diberlakukan sampai Vista . [penekanan milikku] (Sumber terima kasih kepada @Ben N )
Catatan: Kontrol Akun Pengguna diperkenalkan dengan peluncuran Windows Vista .
Jawaban Pengguna Super ini mengutip dua sumber tambahan yang mengkonfirmasi hal yang sama:
Oleh karena itu tidak mungkin untuk meningkatkan Command Prompt atau proses lainnya di tempat. Satu-satunya pilihan adalah menelurkan proses lain dengan token akses baru (yang dapat menjadi contoh lain dari proses asli jika diinginkan). Dalam kasus Command Prompt, memulai instance baru dengan token akses yang memiliki izin lebih tinggi akan selalu menghasilkan jendela baru yang dibuat, dan jika UAC prompt diaktifkan pada sistem, mereka akan dipicu juga.
1 Anda dapat menyesuaikan hak istimewa dalam token akses yang ada dengan fungsi AdjustTokenPrivileges , tetapi menurut MSDN :
Fungsi AdjustTokenPrivileges tidak dapat menambahkan hak istimewa baru ke token akses. Itu hanya dapat mengaktifkan atau menonaktifkan hak istimewa token yang ada.