Apakah ada cara untuk menjalankan program atau perintah dengan hak tinggi ketika saya sudah di baris perintah non-tinggi?
Tindakan yang persis sama yang akan dilakukan ketika saya mengklik pintasan program dan memilih Run as administrator .
The runas perintah mungkin bukan solusi - itu meminta password, tapi aku hanya ingin UAC dialog.
windows
administrator
privileges
Lukas Cenovsky
sumber
sumber
Ada cara untuk melakukan ini di PowerShell:
sumber
powershell -Command "Start-Process 'C:\program.exe' -Verb runAs"
powershell -Command "Start-Process 'gvim' 'c:\windows\system32\drivers\etc\hosts' -Verb runAs"
. Terima kasih!$p = Start-Process powershell -Verb runAs -ArgumentList "-Command ``"& { ``$Host.SetShouldExit(123) }``"" -PassThru; $p.ExitCode
Membangun Rustam 's jawaban , Anda dapat:
su.bat
file batch di suatu tempat di% PATH% default Anda, dengan satu-baris berikut:@powershell start -verb runas %*
function su {start -verb runas @args}
Sekarang Anda dapat menerbitkan
su <command> [parameters]
di kedua shell!sumber
RunAdmin adalah utilitas kecil (150Kb) yang memungkinkan Anda menjalankan program dari baris perintah dengan hak tinggi (ini akan menampilkan UAC). Dan kebalikan dari Hidden Start adalah freeare.
sumber
Ini bekerja untuk saya di semua platform, termasuk Windows 10. Kebutuhan saya sederhana, mungkin Anda dapat menyesuaikan pendekatan jika Anda membutuhkan daya .
Saya datang dengan skrip kecil bernama,
sudo.cmd
dinamai untuk perintah sudo Linux. Itu bekerja dengan cukup baik menurutnya. Saya telah menguraikan persyaratan, langkah-langkah yang harus diikuti dan skrip berada di dekat bagian bawah dengan sebuah contoh. Pertama, kata peringatan.PERINGATAN : Perintah ini berjalan di direktori Sistem windows secara default. Anda akan ingin
cd
ke tempat yang aman dulu.persyaratan :
atau cmd-shell.
sudo
perintah sebenarnya di Linux.solusi :
sudo.cmd
sudo.lnk
.sudo
pintas di PATH windows Anda sehingga bisa dilihat.Start in:
jalan pintas, buat jalur kosong.Advanced
] - CentangRun as Administrator
Saat Anda mengetik
sudo dir
pada baris perintah, Windows akan menampilkanMunculan kontrol akses. Jika Anda mengklik "[
NO
]" tidak akan terjadi apa-apa. Windows akan menampilkan pesan "Access is denied.
".Ketika Anda mengklik "[
YES
]" maka perintah direktori dijalankan pada hak istimewa yang ditinggikan. Tentu saja Anda mungkin menginginkan sesuatu yang lebih menarik seperti berhenti atau meminta layanan:SDRSVC adalah nama layanan untuk "Layanan Pencadangan Windows", ini menunjukkan yang berikut di jendela Cmd terpisah:
The
sudo.cmd
Script itu sendiri sangat dasar. Seperti yang saya katakan, kebutuhan saya sederhana. Saya hanya ingin berhenti dan memulai layanan sementara saya menggunakan kode untuk pengujian.sudo.cmd
:The
pause
perintah menunggu Anda untuk meninjau hasil. Jika Anda mengambilpause
jendela administrasi ditutup dan Anda tidak tahu apakah perintah itu berfungsi atau tidak. DariERRORLEVEL
perintah dikembalikan juga.sumber
Ini berfungsi untuk Windows 10, belum diuji dengan versi Windows lainnya.
Contoh untuk membuka notepad dengan hak administrator dari cmd.exe yang memulai PowerShell yang meminta izin tinggi.
Ini akan memberi Anda kotak dialog UAC (jika diaktifkan) dengan [Ya] [Tidak], atau akan menanyakan kata sandi administrator.
Contoh lain untuk membuka file hosts dengan notepad adalah:
Informasi lebih lanjut: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/start-process?view=powershell-6
sumber
-ArgumentList
parameter, bukan hanya parameter tambahan untuk memulai proses.Lihatlah Mulai ++ - ia memiliki fungsi ini bersama dengan banyak hal berguna lainnya. Untuk menjalankan dengan UAC prompt, cukup gunakan
sudo
nama program Anda pada baris perintah seperti yang ditunjukkan di sini:Berikut adalah beberapa fitur lain (Anda juga dapat menambahkan sendiri):
sumber
Anda bisa mengatur
__COMPAT_LAYER=RunAsAdmin
. Maka perintah akan dijalankan secara terpisah ditinggikancmd
.Contoh
.bat
:Semua opsi Mode Kompatibilitas tercantum dalam Alat Kompatibilitas Aplikasi MS.
sumber
;
sebagai pembatas komentar. "File batch tidak mengenali titik koma dan umumnya akan menyebabkan pesan kesalahan tentang perintah yang buruk."