Bagaimana cara menjalankan aplikasi sebagai "run as administrator" dari command prompt? [Tutup]

126

Saya memiliki file batch bernama test.bat. Saya memanggil instruksi di bawah ini dalam test.batfile:

start /min powershell.exe %sysdrive%\testScripts\testscript1.ps1

Ketika saya menjalankan ini melalui command prompt, testscript saya berjalan dengan sukses. Saya ingin menjalankannya sebagai administrator (seolah-olah saya telah membuat pintasan desktop dan menjalankan sebagai administrator. Seharusnya tidak meminta nama pengguna atau sandi).

Saya telah mencoba menambahkan /elevatedan /NOUACparameter di atas test.bat, tetapi tidak berhasil. Bagaimana cara memperbaiki masalah ini?

Saya tahu cara melakukannya secara manual, tetapi saya ingin ini dijalankan dari command prompt.

(Oleh Marnix Klooster ): ... tanpa menggunakan alat tambahan apa pun, seperti yang disarankan dalam jawaban atas pertanyaan Pengguna Super Bagaimana menjalankan program dari baris perintah dengan hak yang ditinggikan .)

Praveen Jakkaraju
sumber
84
Pertanyaan ini boleh diajukan di sini dan tidak boleh ditutup sebagai di luar topik. Ini adalah pertanyaan terkait pemrograman dan pengembangan perangkat lunak. Program DotNet dan C ++ semuanya memiliki kemampuan untuk iteratif dengan sistem dan program lain dengan menjalankan perintah konsol atau hanya melalui file batch.
Steven Du
2
Ini berguna bagi saya: superuser.com/questions/55809/… Kadang-kadang "jalankan sebagai administrator" diharapkan berarti "jalankan dengan hak yang ditinggikan".
Pengguna
sudo.batmungkin berguna bagi seseorang. pastebin.com/taHp4FzR
Niklas R
1
Harus dipindahkan ke superuser alih-alih ditutup (dan juga ditandai sebagai duplikat dari superuser.com/questions/55809/… )
Julien Kronegg

Jawaban:

85

Coba ini:

runas.exe /savecred /user:administrator "%sysdrive%\testScripts\testscript1.ps1" 

Ini menyimpan kata sandi untuk pertama kalinya dan tidak pernah meminta lagi. Mungkin ketika Anda mengubah kata sandi administrator Anda akan diminta lagi.

Dhana
sumber
8
@BenVoigt tolong sarankan alternatif lain
Daniel Sokolowski
10
Coba powershell -Command "Start-Process 'C:\program.exe' -Verb runAs"(ganti C:\program.exedengan perintah Anda), lihat superuser.com/questions/55809/…
Julien Kronegg
8
Mengapa saya harus memasukkan kata sandi ketika saya bisa mengklik kanan program lain dan menjalankan sebagai admin tanpa memasukkan kata sandi? Terima kasih
RayLoveless
4
@BenVoigt Jangan meledakkan paking. Seperti perintah daya lainnya, ini berguna dan perlu dalam konteks tertentu.
b1nary.atr0phy
2
metode apa pun yang saya gunakan hanya dapat memasukkan kata sandi admin dalam perintah initian itu sendiri. Ia meminta kata sandi admin ketika saya menjalankan perintah awal. Bisakah masukan itu diberikan sejak awal? runas.exe /user:yash a.exe MyAwesomePassword
Yash Kumar Verma
22

Lihat artikel TechNet ini: Dokumentasi perintah Runas

Dari prompt perintah:

C:\> runas /user:<localmachinename>\administrator cmd

Atau, jika Anda terhubung ke domain:

C:\> runas /user:<DomainName>\<AdministratorAccountName> cmd
John Ruiz
sumber
Saya membaca ulang pertanyaan Anda dan Anda tidak ingin diminta. Saran saya akan menyebabkan prompt kata sandi. Maaf!
John Ruiz
12
saya mencoba perintah ini, itu meminta kredensial, seharusnya tidak meminta kredensial. seperti yang saya sebutkan dalam kueri saya. jika saya klik kanan item desktop menjalankannya sebagai administrator adalah perilaku yang diharapkan.
Praveen Jakkaraju
6

Sepertinya psexec -hcara untuk melakukan ini:

 -h         If the target system is Windows Vista or higher, has the process
            run with the account's elevated token, if available.

Yang ... tampaknya tidak tercantum dalam dokumentasi online di Sysinternals - PsExec .

Tapi itu berfungsi di mesin saya.

Ben Curthoys
sumber
Tidak bekerja di sini. Sebagai gantinya saya hanya mendapatkan keluaran bantuan.
ygoe
7
Ini tampaknya tidak berhasil untuk saya kecuali saya menjalankannya dari proses yang sudah memiliki hak istimewa admin: "Tidak dapat menginstal layanan PSEXESVC"
Vince
1
Saya bahkan tidak memiliki perintah ini di Windows 10. - Bukan dari command prompt, atau dari Power Shell.
BrainSlugs83
@ BrainSlugs83, Anda harus mengunduhnya, tautannya ada di jawabannya.
Abel