Cara meninggikan file batch secara otomatis untuk menjalankannya sebagai administrator
Terkadang Anda perlu membuat file batch yang menyertakan perintah yang memerlukan hak yang lebih tinggi. Karena fungsi UAC yang disertakan di Windows sejak Windows Vista, ketika memulai file batch, itu terbuka tanpa: hak akses yang diperlukan kecuali Anda mengklik kanan dan memilih "Jalankan sebagai Administrator" dari konteks Tidak bisa. Berikut adalah bagaimana Anda dapat membuat file batch yang akan otomatis meningkat dengan sendirinya.
Iklan
Sebelum Anda melanjutkan, lihat cara menambahkan file Batch (*.bat) ke menu Baru File Explorer. Tempatkan konten berikut di awal file batch Anda:
:: Secara otomatis memeriksa & mendapatkan hak admin V2. @echo mati. CLS. GEMA. ECHO ECHO Menjalankan shell Admin. ECHO: init. setlocal DisableDelayedExpansion. setel "batchPath=%~0" untuk %%k di (%0) lakukan setel batchName=%%~nk. setel "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs" setlocal EnableDelayedExpansion :checkPrivileges. FILE BERSIH 1> NUL 2> NUL. if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges ):getPrivileges. if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges) GEMA. ECHO ************************************** ECHO Meminta UAC untuk Eskalasi Hak Istimewa. ECHO ************************************** ECHO Set UAC = CreateObject^("Shell. Aplikasi"^) > "%vbsGetPrivileges%" ECHO args = "ELEV " >> "%vbsGetPrivileges%" ECHO Untuk Setiap strArg di WScript. Argumen >> "%vbsGetPrivileges%" ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%" ECHO Selanjutnya >> "%vbsGetPrivileges%" ECHO UAC.ShellExecute "!batchPath!", argumen, "", "runas", 1 >> "%vbsGetPrivileges%" "%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %* keluar /B :gotPrivileges. setlocal & pushd. cd /d %~dp0. if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1) ::MULAI. REM Jalankan shell sebagai admin (contoh) - letakkan kode di sini sesuka Anda. ECHO %batchName% Argumen: %1 %2 %3 %4 %5 %6 %7 %8 %9.
Tempatkan perintah batch Anda sendiri yang memerlukan elevasi di bawah baris terakhir.
Kode yang diberikan akan membuat file VBS khusus yang akan restart jika tidak berjalan sebagai Administrator. Jadi, jika Anda meluncurkannya dengan izin terbatas, Anda akan mendapatkan perintah UAC yang meminta Anda untuk meningkatkan hak istimewa sebelum menjalankan perintahnya!
Berikut tampilannya di Windows 10:
Kredit untuk kode ini pergi ke Matt.