Jalankan sebagai pengguna yang berbeda dan angkat

24

Dalam Windows Explorer, saya dapat mengklik kanan pada file yang dapat dieksekusi dan memilih 'Jalankan sebagai administrator' yang akan meluncurkan proses yang dipilih dengan hak istimewa yang ditingkatkan atau saya dapat menggeser-klik kanan pada file yang dapat dieksekusi dan klik 'Jalankan sebagai pengguna yang berbeda', tentukan nama pengguna dan kata sandi yang akan meluncurkan proses dengan hak istimewa standar menggunakan konteks pengguna yang ditentukan.

Bagaimana saya menjalankan sebagai pengguna yang berbeda DAN berjalan dalam konteks yang lebih tinggi? Contoh sempurna dari ini adalah membuka prompt perintah yang ditinggikan menggunakan konteks pengguna yang berbeda dengan pengguna yang saat ini masuk.

Seni
sumber
Saya pikir start-processperintah PowerShell mungkin bisa melakukan ini.
jiggunjer

Jawaban:

22

Saya kira opsi semacam itu tidak ada.

Sebagai pekerjaan di sekitar Anda bisa memulai baris perintah sebagai admin dan menjalankan perintah berikut untuk menjalankan baris perintah dengan hak istimewa admin sebagai pengguna lain.

runas / netonly / user: YourUser cmd.exe

Yass
sumber
7
Atau Anda dapat mengklik kanan executable, lalu pilih properties> compatability dan kemudian pilih Privilege Level dan centang Run program ini sebagai administrator. Kemudian, geser kanan klik yang dapat dieksekusi dan jalankan sebagai pengguna yang berbeda.
JamesTheDev
@NewProgrammerJames Bagus, terima kasih atas masukannya :)
Yass
@NewProgrammerJames Trik ini tidak bekerja dengan CMD langsung pada W2008R2 dan di atasnya, tetapi mengubah-ubah aplikasi khusus harus dimungkinkan.
Vesper
Ini akan berfungsi bahkan jika pengguna akhir tidak ada dalam grup admin?
jiggunjer
@ jiggunjer Tidak, sejauh yang saya tahu.
Yass
11

Ya, psexec benar-benar melakukan ini.

Contoh berikut ini berfungsi dengan baik pada Windows 8.1; jalankan command prompt sebagai Administrator, lalu:

// -i makes the app interactive
// -h elevates the execution context 
// Omitting the password forces a secure prompt
psexec -u DOMAIN\user -i -h "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe"
Paul Smith
sumber
Dari Mike : Ini berfungsi untuk Windows 10!
fixer1234
7

Anda dapat melakukannya melalui PowerShell:

Start-Process powershell -Credential domain\differentUserName -ArgumentList '-noprofile -command &{Start-Process "TheApp.exe" -verb runas}'
Darío León
sumber
1

Saya perhatikan ini adalah pertanyaan yang sangat lama, tetapi jawaban yang diberikan tidak ideal dan sudah necroed. Semua jawaban yang ada membutuhkan mengetikkan perintah kuno dan mengetahui jalur yang tepat untuk dieksekusi Anda. Pilihan ideal akan memungkinkan ini menggunakan proses yang sama yang sudah Anda gunakan untuk eskalasi hak istimewa.

Jika Anda memiliki Windows edisi non-Rumah (Vista melalui 10), Anda dapat menggunakan Manajer Kebijakan Keamanan untuk membuatnya meminta Anda memberikan kata sandi setiap kali terjadi peningkatan. Ini juga memberi Anda opsi untuk memilih pengguna yang sama sekali berbeda dan memasukkan kata sandi mereka ... yang akan menyebabkan proses yang ditinggikan berjalan seperti mereka.

Cukup buka menu mulai dan ketik secpol.mscdan tekan enter untuk meluncurkannya (jika tersedia). Anda sedang mencari Local Policies> Security Options> User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode> Prompt for credentials. Vista memiliki opsi serupa yang tidak menyebutkan "Mode Persetujuan Admin" tetapi melakukan hal yang sama.

Saya pikir ini adalah pilihan yang jauh lebih alami daripada yang ditawarkan di sini dan agak mirip dengan gksudo di * nix. Tetapi jika edisi Windows Anda tidak menyertakan secpol.msc, Anda harus melakukan beberapa peretasan registri untuk mengaktifkannya.

Cliff Armstrong
sumber
Saya melakukan ini dan itu tidak berhasil. Dan itu selalu meminta sidik jari saya sebagai gantinya meskipun saya tidak mengkonfigurasi otentikasi sidik jari saya.
iroel
@iroel Kedengarannya berbeda seperti ada masalah konfigurasi dengan subsistem otentikasi windows Anda. Anda harus mempertimbangkan mencari SU untuk solusi untuk masalah itu dan, jika Anda tidak menemukan apa pun, pertimbangkan untuk mempostingnya sebagai pertanyaan. Semua sistem saya diatur dengan cara ini dan tidak ada yang meminta cap jempol. Bergantung pada akun saya mengautentikasi karena mereka meminta kata sandi atau nomor pin.
Cliff Armstrong
Saya menggunakan sidik jari untuk otentikasi. Itu memang terjadi. 2 solusi yang berlaku: buat pengguna memiliki hak administratif (tetapi tidak masuk akal dalam hal ini), buat pengguna lain dan atur sidik jari (gunakan jari yang tidak terdaftar untuk pengguna tertentu) dan gunakan jari itu saat diminta untuk ditinggikan hak istimewa. Saya menggunakan solusi terakhir dalam hal ini. Setidaknya itu bekerja untuk saya.
iroel
Jika Anda diminta untuk sidik jari maka Anda telah mengatur pengguna yang Anda coba masuki untuk meminta sidik jari atau ada yang salah dengan pemasangan windows Anda. Titik. Saya menggunakan pengaturan ini pada tiga komputer yang berbeda dan tidak ada yang meminta sidik jari. Saya telah mengatur ini di banyak komputer untuk klien. Windows akan meminta pin # ketika masuk ke pengguna dengan pin # dikonfigurasi dan kata sandi untuk semua pengguna lain. Ia menggunakan metode otentikasi apa pun yang telah Anda konfigurasi untuk pengguna itu.
Cliff Armstrong
0

Saya menemukan bahwa jika saya masuk sebagai akun Run As, Anda dapat mengatur bendera "jalankan program ini sebagai administrator" pada halaman properti / kompatibilitas. Kemudian masuk ke akun sekunder dan lakukan jalankan shift klik karena akan membukanya sebagai administrator.

Alan Thompson
sumber
Ini terdengar seperti opsi yang bagus, tetapi tidak ada halaman kompatibilitas di Properties dari cmd.exe.
Sandra