Bagaimana Cara Mengangkat file Batch secara Otomatis untuk Menjalankannya sebagai

Bagaimana Cara Mengangkat file Batch secara Otomatis untuk Menjalankannya sebagai

Bagaimana Cara Mengangkat file Batch secara Otomatis untuk Menjalankannya sebagai

Caracara.my.id - dministrator?


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

  ______ _

أحدث أقدم