Bagaimana cara menonaktifkan UAC untuk program tertentu di Windows 10?

Pada artikel ini, kami akan menunjukkan cara menonaktifkan UAC secara selektif untuk aplikasi tertentu tanpa sepenuhnya menonaktifkan layanan Kontrol Akun Pengguna ini. Mari kita lihat beberapa cara untuk mematikan kontrol akun pengguna untuk aplikasi menggunakan bendera kompatibilitas. RunAsInvoker.

Kontrol Akun Pengguna atau Kontrol Akun Pengguna (UAC) meminta pengguna untuk mengkonfirmasi tindakan apa pun yang memerlukan hak administrator. Ini adalah mekanisme yang cukup efektif untuk melindungi Windows dari berbagai ancaman (virus, trojan, worm, rootkit, dll.). Beberapa pengguna terganggu oleh jendela UAC dan mereka sepenuhnya menonaktifkan kontrol akun pengguna, meskipun Microsoft dan pakar keamanan informasi sangat menyarankan untuk tidak melakukannya..

Bendera RunAsInvoker memungkinkan Anda untuk menjalankan aplikasi dengan penanda yang diwarisi dari proses induk. Ini membatalkan pemrosesan manifes aplikasi, dan penemuan proses penginstal. Parameter ini tidak memberikan hak administrator, tetapi hanya memblokir tampilan jendela UAC.

Jika program memerlukan hak administrator untuk menjalankan, karena Jika itu mengubah pengaturan sistem atau file sistem, maka ketika UAC dinonaktifkan untuk itu, hak pengguna dalam aplikasi tidak meningkat. Program akan tetap berjalan dengan hak-hak pengguna saat ini, dan jika tidak memiliki wewenang untuk melakukan perubahan ini, program tidak akan dapat membuatnya. Ada juga sejumlah kecil aplikasi yang berjalan hanya dalam mode "Sebagai administrator", mengabaikan bendera kompatibilitas RunAsInvoker..

Sebagai contoh, kami akan menonaktifkan tampilan permintaan Kontrol Akun Pengguna untuk editor registri (regedit.exe) Terlepas dari kenyataan bahwa akun saya memiliki hak administrator, ketika saya menjalankan utilitas, saya masih mendapatkan permintaan UAC untuk mengkonfirmasi peluncuran.

Konten:

  • Menonaktifkan UAC untuk suatu program menggunakan Application Compatibility Toolkit
  • Aktifkan bendera RUNASINVOKER untuk program melalui registri
  • Bat file untuk menjalankan aplikasi dalam mode RunAsInvoker

Menonaktifkan UAC untuk suatu program menggunakan Application Compatibility Toolkit

Kami membutuhkan utilitas Perangkat Kompatibilitas Aplikasi, yang merupakan bagian dari ADK Windows. Unduh versi terbaru Windows ADK untuk Windows 10 di sini.

Jalankan file adksetup.exe yang diunduh dan selama instalasi (program membutuhkan akses Internet) pilih saja Perangkat Kompatibilitas Aplikasi.

Catatan. Paket Perangkat Kompatibilitas Aplikasi Microsoft - satu set utilitas gratis yang dirancang untuk memperbaiki masalah kompatibilitas aplikasi saat meningkatkan ke versi Windows yang baru.

Dua versi akan muncul di sistem Administrator Kompatibilitas Aplikasi - Versi 32 dan 64 bit. Jalankan versi Administrator Kompatibilitas Aplikasi tergantung pada kedalaman bit aplikasi yang Anda inginkan untuk menekan permintaan UAC.

Jalankan utilitas Administrator Kompatibilitas (32-bit) dengan hak administrator (!). Di bagian Database Kustom, klik kanan pada item Database Baru dan pilih Buat Baru-> Perbaikan Aplikasi.

Di jendela yang terbuka, tentukan nama aplikasi (regedit), produsen (Microsoft) dan jalur ke file yang dapat dieksekusi (C: \ Windows \ regedit.exe).

Lewati jendela berikutnya dari wizard pengaturan (Mode Kompatibilitas), dengan mengetuk Selanjutnya. Di jendela Perbaikan Kompatibilitas periksa opsi RunAsInvoker.

Jika mau, Anda dapat memastikan bahwa aplikasi dapat bekerja tanpa UAC dengan mengklik tombol uji coba (Uji coba).

Di jendela Informasi yang cocok Anda dapat menentukan parameter aplikasi mana yang akan diperiksa (versi, jumlah cek, ukuran, dll.). Saya membiarkan cek COMPANY_NAME, PRODUCT_NAME, dan ORIGINAL_FILENAME dihidupkan agar tidak membuat kembali file patch setelah pembaruan Windows 10 berikutnya dan memperbarui versi file regedit..

Kiat. Untuk melindungi dari penggantian file yang dapat dieksekusi oleh penyerang, sebaiknya menggunakan checksum checksum, file_version, dan ukuran. Perhatikan bahwa pemeriksaan tambahan akan memperlambat peluncuran aplikasi.

Klik Selesai dan tentukan nama file tempat Anda ingin menyimpan paket perbaikan kompatibilitas yang dibuat, misalnya regedit.sdb. File ini akan berisi instruksi untuk memulai aplikasi dengan opsi kompatibilitas yang ditentukan..

Tetap menerapkan paket perbaikan kompatibilitas untuk aplikasi Anda. Anda dapat melakukan ini langsung dari konsol Administrator Kompatibilitas (dengan memilih Instal), atau dari baris perintah.

Untuk melakukan ini, buka prompt perintah dengan hak administrator dan jalankan perintah:

sdbinst -q c: \ ps \ regedit.sdb

Jika semuanya dilakukan dengan benar, sebuah pesan akan muncul pada aplikasi yang berhasil dari paket..

Instalasi regedit selesai.

Setelah menginstal paket, entri yang sesuai akan muncul dalam daftar program Windows yang diinstal (Program dan Fitur).

Coba sekarang untuk menjalankan aplikasi dalam sesi pengguna tanpa hak administrator lokal. Sekarang harus dimulai tanpa permintaan UAC..

Sekarang periksa dengan hak apa aplikasi ini berjalan. Untuk melakukan ini, di Task Manager pada tab proses, tambahkan kolom "Tinggi". Pastikan bahwa proses regedit.exe dimulai dari pengguna dalam mode unprivileged (Tinggi = Tidak).

Dalam proses editor registri ini, pengguna hanya dapat mengedit cabang registri sendiri, tetapi ketika Anda mencoba mengedit / membuat sesuatu dalam sistem HKLM, kesalahannya adalah “Anda tidak memiliki izin yang diperlukan”.

Di masa depan, perbaikan kompatibilitas ini dapat didistribusikan ke komputer pengguna menggunakan kebijakan grup. Dengan melakukannya, Anda dapat menonaktifkan pemeriksaan UAC untuk aplikasi tertentu pada banyak komputer dalam domain Direktori Aktif.

Untuk menghapus perbaikan kompatibilitas, jalankan perintah

sdbinst -u c: \ ps \ regedit.sdb

Aktifkan bendera RUNASINVOKER untuk program melalui registri

Pada Windows 10 / 8.1 / 7, Anda dapat mengaktifkan flag kompatibilitas RUNASINVOKER melalui registri. Bendera kompatibilitas aplikasi dapat diatur untuk satu pengguna atau untuk semua pengguna komputer:

Misalnya, untuk regedit Anda perlu membuat parameter string baru di cabang registri HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers (REG_SZ) dari formulir:

  • Nama nilai: C: \ windows \ regedit.exe
  • Nilai data: RunAsInvoker

Jika Anda ingin mengaktifkan mode kompatibilitas aplikasi untuk semua pengguna komputer, Anda perlu membuat parameter ini di cabang registri: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers.

Di domain, Anda dapat mendistribusikan pengaturan registri ini kepada pengguna melalui GPO.

Bat file untuk menjalankan aplikasi dalam mode RunAsInvoker

Ada opsi lain untuk meluncurkan aplikasi tanpa hak administrator dan menekan permintaan UAC (lihat artikel).

Cukup buat file kelelawar dengan kode berikut:

Set ApplicationPath = "C: \ windows \ regedit.exe"
cmd / min / C "set __COMPAT_LAYER = RUNASINVOKER && start" "% ApplicationPath%"

Ketika file bat ini dijalankan sebagai pengguna, aplikasi yang ditentukan akan mulai tanpa permintaan UAC.

Jadi, kami melihat cara menonaktifkan UAC untuk program tertentu tanpa sepenuhnya menonaktifkan kontrol akun pengguna. Ini akan memungkinkan Anda untuk menjalankan program Windows sebagai pengguna biasa tanpa prompt UAC dan tanpa kata sandi administrator..