Apa yang ingin Anda lakukan selalu akan menjadi peretasan karena Anda ingin menggunakan keamanan Windows secara tidak benar dalam skenario ini. Secara umum, Anda harus menggunakan login Anda untuk memberikan kredensial dan kemudian menetapkan hak istimewa berdasarkan itu.
Yang sedang berkata, Anda bisa membuat skrip untuk menukar file host.
Buat file batch berikut dan beri nama apa pun yang Anda inginkan. Saya menggunakan nama "myrename.bat".
:: myrename.bat
@echo off
SETLOCAL
:: verify the first file exists
if not exist "%~1" ( echo ERROR: File not found "%~1" & goto endofscript )
:: verify the second file exists
if not exist "%~2" ( echo ERROR: File not found "%~2" & goto endofscript )
:: Create a guaranteed unique string for temporarily naming one file
set instance=%date:~-4,4%%date:~-10,2%%date:~-7,2%
set instance=%instance%-%time:~0,2%%time:~3,2%%time:~6,2%%time:~9,2%
set instance=%instance%-%RANDOM%
:: rename the first file to a temporary name
ren "%~1" "%~nx1.%instance%"
:: rename the second file to the first file name
ren "%~2" "%~nx1"
:: rename teh first file to the second file name
ren "%~1.%instance%" "%~nx2"
:endofscript
Dengan asumsi dua file ini ada di jalur ini:
- C: \ Windows \ System32 \ drivers \ etc \ hosts
- C: \ Windows \ System32 \ drivers \ etc \ hosts.other
Kemudian Anda dapat menjalankan perintah di bawah ini dan mereka akan bertukar nama:
myrename"C:\Windows\System32\drivers\etc\hosts" "C:\Windows\System32\drivers\etc\hosts.other"
Jika File A atau File B tidak ditemukan, kesalahan itu dilaporkan di layar dan proses berhenti.
Karena file host adalah file sistem, itu akan menyebabkan UAC memunculkan pesan yang menanyakan apakah Anda ingin memperbolehkan ini. Untuk mengubah dialog itu menjadi dialog kata sandi, ikuti panduan ini: http://www.sevenforums.com/tutorials/77389-uac-require-password-administrator.html
Buka menu mulai dan pergi ke kotak pencarian. Ketik Kebijakan Keamanan Lokal, sekarang tekan enter. Setelah program ini terbuka, navigasikan ke Kebijakan Lokal, lalu Opsi Keamanan. Sekarang gulir ke bawah hingga Anda melihat Kontrol Akun Pengguna atas nama kebijakan. Setelah Anda melihatnya, cari dua yang mengatakan Kontrol Akun Pengguna: Perilaku prompt elevasi untuk .... Klik kanan pada mereka dan klik modifikasi. Ubah nilai menjadi Konfirmasi Kredensial. Keluar dari program.
Saya belum menguji ini tetapi harus berhasil. Cukup masukkan perintah di jalan pintas dan harus beralih di antara mode. Kata sandi diperlukan untuk kembali dan keempat. Ini juga akan memerlukan kata sandi untuk semua aktivitas administrator yang akan selalu menjadi persyaratan dalam skenario ini jika Anda tidak ingin itu mudah dilewati.
Memperbarui
Saya sudah menguji ini dan itu berhasil. Anda harus menutup semua aplikasi yang terbuka dan juga menambahkan ini di akhir:
net stop dnscache
net start dnscache
Anda dapat membuat file batch yang terpisah atau hanya menandai di akhir sebelumnya. Juga, di pintasan Anda, pastikan untuk pergi ke tombol lanjutan di tab umum dan periksa Run as Administrator
. Kalau tidak, itu hanya akan membuang akses yang ditolak kesalahan.