Bagaimana Cara Mengangkat file Batch secara Otomatis untuk Menjalankannya sebagai
Untuk meningkatkan file batch secara manual, Anda akan mengklik kanan padanya dan memilih Jalankan sebagai Administrator. Berikut adalah cara untuk secara otomatis meningkatkan file batch yang membutuhkan hak tinggi untuk berjalan dengan benar. Ini sama dengan memilih "Jalankan sebagai Administrator" dengan mengklik kanan file batch. Dalam kedua kasus tersebut, prompt UAC akan tetap muncul.
Secara Otomatis Mengangkat File Batch
:::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Secara otomatis memeriksa & mendapatkan hak admin V2
:::::::::::::::::::::::::::::::::::::::::::::::::::::::
@echo off
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 )
:dapatkan Hak Istimewa
if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges)
GEMA.
ECHO **************************************
ECHO Meminta UAC untuk Eskalasi Hak Istimewa
ECHO **************************************
ECHO Set UAC = CreateObject^("Shell.Application"^) > "%vbsGetPrivileges%"
ECHO args = "ELEV " >> "%vbsGetPrivileges%"
ECHO Untuk Setiap strArg di WScript.Arguments >> "%vbsGetPrivileges%"
ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%"
ECHO Selanjutnya >> "%vbsGetPrivileges%"
ECHO UAC.ShellExecute "!batchPath!", argumen, "", "runas", 1 >> "%vbsGetPrivileges%"
"%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %*
keluar /B
:punya Privileges
setlocal & pushd .
cd /d %~dp0
if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1)
::::::::::::::::::::::::::::
::MULAILAH
::::::::::::::::::::::::::::
REM Jalankan shell sebagai admin (contoh) - letakkan kode di sini sesuka Anda
ECHO %batchName% Argumen: %1 %2 %3 %4 %5 %6 %7 %8 %9
cmd /k
Tambahkan instruksi Anda ke file .bat ini di bawah label “MULAI”.
File batch ini membuat file Vbscript yang kemudian meluncurkan kembali file batch sebagai administrator (jika belum berjalan di bawah hak administrator) menggunakan parameter "runas" yang diperlukan untuk meningkatkannya. Metode Vbscript & "runas" telah dibahas dalam posting lama saya Vbscripts dan UAC elevasi di Windows Vista dan Lebih Tinggi.
Penghargaan untuk Matt di Stack Overflow untuk metode ini. windows – Bagaimana saya bisa menaikkan file batch saya secara otomatis, sehingga meminta hak administrator UAC jika diperlukan?
Menjalankan File Batch Ditingkatkan secara Default
Selain metode elevasi otomatis di atas, dari sisi klien Anda dapat mengubah registri sehingga file batch akan selalu mulai ditinggikan, menampilkan prompt UAC. Ini dilakukan dengan mengubah tindakan klik dua kali default dari "buka" menjadi "runas" di registri. Gunakan langkah-langkah ini:
Mulai Regedit.exe dan pergi ke lokasi berikut:
HKEY_CLASSES_ROOT\batfile\shell
Klik dua kali (default) dan atur data nilainya sebagai runas
file bat runas default ditinggikan
Keluar dari Penyunting Registri.
Setelah perubahan ini, file batch akan selalu berjalan lebih tinggi saat diklik dua kali. Jalankan sebagai administrator akan menjadi opsi default yang ditampilkan saat Anda mengklik kanan file .bat.
file bat runas default ditinggikan
______ _