Menyebabkan popup UAC dari baris perintah tanpa alat khusus

8

Di Win7, pengguna dapat mengklik kanan pada sebuah program dan memilih 'Jalankan sebagai administrator'. Anda mendapatkan popup, tetapi tidak harus memasukkan kata sandi administrator.

Saya ingin mendapatkan fungsionalitas yang sama, tetapi dari commandline - khususnya, dari dalam .batfile.

Saya sadar dari built-in runasperintah, tapi saya belum menemukan cara untuk menggunakan yang tidak berakhir meminta password di beberapa titik.

Saya juga menyadari dari Process.StartInfo.Verb = "runas";metode, yang tidak persis apa yang saya inginkan, tetapi membutuhkan saya menciptakan kustom NET aplikasi.

Apakah ada cara, hanya menggunakan alat commandline bawaan di Win7, untuk mencapai ini?


Pembaruan: Terima kasih kepada uSlackr, saya mengerjakan perintah ini:

powershell Start-Process cmd.exe -Verb RunAs

Tentu saja, cmd.exeitu hanya penampung.

jwd
sumber

Jawaban:

4

Anda dapat menggunakan cmdlet Mulai-Proses di Powershell dengan kata kerja RunAs. Lebih lanjut di sini: http://technet.microsoft.com/en-us/library/dd347667.aspx

uSlackr
sumber
Sempurna, terima kasih. Saya memperbarui pertanyaan dengan contoh yang berfungsi.
jwd
Adakah yang setara pada Windows XP?
Maxbester
Powershell tersedia untuk XP.
uSlackr
XP tidak memiliki UAC sehingga pertanyaannya tidak relevan
nponeccop
@nponeccop Saya berasumsi motivasi untuk ingin berjalan di bawah Windows XP adalah membiarkan satu skrip berjalan pada Windows 7 dan Windows XP, tidak memiliki satu jalur untuk Windows 7 yang memiliki PowerShell dan UAC dan jalur kedua untuk Windows XP yang tidak memiliki PowerShell dan tanpa UAC.
Damian Yerrick
1

Cukup jalankan cmd.exe sebagai administrator.

Pintasan keyboard untuk ini adalah [shift] + [enter] setelah Anda memilih baris perintah dari menu mulai. Jendela UAC akan muncul.

ATAU

Jalankan semuanya sebagai Admin

Tidak direkomendasikan untuk penggunaan sehari-hari, tetapi ada juga akun administrator bawaan yang dapat Anda aktifkan di windows yang akan menjalankan semua aplikasi sebagai root. Dalam cmd administratif:

net user administrator /active:yes

Ubah itu menjadi '/ aktif: tidak' jika Anda ingin menonaktifkan akun. Pengantar singkat di sini .

A. Hayes
sumber
Mengenai saran pertama Anda: Maaf, saya tidak jelas. Saya ingin melakukan ini dari dalam file .bat (pertanyaan diperbarui).
jwd
Mengenai saran kedua Anda: Saya menjalankan ini, dan mendapat "Kesalahan sistem 5 telah terjadi. Akses ditolak."
jwd
Bahkan menjalankan cmd.exe sebagai admin?
A. Hayes
1
Inti dari pertanyaan ini adalah bahwa saya menjalankan perintah ini sebagai pengguna non-admin dan saya ingin meningkatkan sementara izin.
jwd