Berikut adalah metode sederhana yang saya gunakan pada Windows 7 hingga Windows 10. Pada dasarnya, saya cukup menggunakan perintah "JIKA ADA" untuk memeriksa folder Windows \ System32 \ WDI \ LogFiles. Folder WDI ada di setiap penginstalan Windows setidaknya dari 7 dan seterusnya, dan memerlukan hak admin untuk mengakses. Folder WDI selalu memiliki folder LogFiles di dalamnya. Jadi, menjalankan "JIKA ADA" di folder WDI \ LogFiles akan mengembalikan nilai true jika dijalankan sebagai admin, dan false jika tidak dijalankan sebagai admin. Ini dapat digunakan dalam file batch untuk memeriksa tingkat hak istimewa, dan bercabang ke perintah mana pun yang Anda inginkan berdasarkan hasil itu.
Berikut cuplikan singkat kode contoh:
IF EXIST %SYSTEMROOT%\SYSTEM32\WDI\LOGFILES GOTO GOTADMIN
(Commands for running with normal privileges)
:GOTADMIN
(Commands for running with admin privileges)
Ingatlah bahwa metode ini mengasumsikan izin keamanan default belum diubah di folder WDI (yang tidak mungkin terjadi di sebagian besar situasi, tetapi harap lihat peringatan # 2 di bawah). Bahkan dalam kasus itu, itu hanya masalah memodifikasi kode untuk memeriksa file / folder umum yang berbeda yang memerlukan akses admin (System32 \ config \ SAM mungkin merupakan kandidat alternatif yang baik), atau Anda bahkan dapat membuatnya sendiri khusus untuk itu tujuan.
Ada dua peringatan tentang metode ini:
Menonaktifkan UAC kemungkinan akan memecahkannya melalui fakta sederhana bahwa semuanya akan tetap dijalankan sebagai admin.
Mencoba membuka folder WDI di Windows Explorer dan kemudian mengklik "Lanjutkan" saat diminta akan menambahkan hak akses permanen untuk akun pengguna tersebut, sehingga merusak metode saya. Jika ini terjadi, dapat diperbaiki dengan menghapus akun pengguna dari izin keamanan folder WDI. Jika karena alasan apa pun pengguna HARUS dapat mengakses folder WDI dengan Windows Explorer, maka Anda harus mengubah kode untuk memeriksa folder lain (seperti yang disebutkan di atas, membuat sendiri secara khusus untuk tujuan ini mungkin merupakan pilihan yang baik) .
Jadi, memang metode saya tidak sempurna karena dapat dipecahkan, tetapi ini adalah metode yang relatif cepat yang mudah diterapkan, sama-sama kompatibel dengan semua versi Windows 7, 8 dan 10, dan asalkan saya tetap memperhatikan peringatan yang disebutkan. 100% efektif untuk saya.
echo > somefile
ke direktori yang akan membutuhkan admin privs. itu akan menghasilkan file sebagai efek samping, tetapi Anda dapat memeriksa tabrakan dan membuat nama file unik sebagai solusinya.