pengembangan-web-mp-pd.com

Mendapatkan hak administrator di PowerShell

Saya hanya memiliki satu akun di mesin Windows Vista saya, dan pengguna itu memiliki hak administratif. Namun, ketika saya mencoba menjalankan perintah di dalam PowerShell untuk mematikan proses tertentu, saya disambut dengan pesan "Akses ditolak". Bagaimana cara saya menjadi administrator?

29
Brian

Cara termudah untuk melakukan ini adalah meluncurkan Powershell dengan token administrasi. Untuk melakukan ini, Anda klik kanan pada Powershell (atau jalan pintas untuk itu) dan klik "jalankan sebagai administrator". Atau Anda dapat menggunakan elevate.cmd .

14
Knox

Cara Powershell v2, menurut Microsoft , adalah klik kanan pada pintasan dan pilih Jalankan sebagai Administrator .

Dan untuk meninggikan dalam jendela Powershell:

start-process powershell –verb runAs

Yang mana dari file batch cmd.exe, pintasan, atau baris Jalankan akan terlihat seperti (berulang-ulang) seperti ini:

powershell "start-process powershell -verb runas"
26
Nathan Hartley

Ini membuka contoh PowerShell baru:

function Run-Elevated ($scriptblock)
{
  # TODO: make -NoExit a parameter
  # TODO: just open PS (no -Command parameter) if $scriptblock -eq ''
  $sh = new-object -com 'Shell.Application'
  $sh.ShellExecute('powershell', "-NoExit -Command $scriptblock", '', 'runas')
}

Saya berharap ada masalah dengan ini - khususnya, Anda tidak akan mendapatkan hasil dari blokir skrip Anda kembali dalam skrip panggilan. Di sisi lain, itu akan ada di instance PS baru sehingga Anda dapat meretasnya di sana.

10
user2278

Jika Anda ingin selal menjalankan PowerShell dengan admin priveleges, Anda dapat mengklik kanan pintasan PowerShell, lalu klik tombol "Advanced ..." pada tab "Shortcut", lalu pilih "Run as Administrator ".

5
Ryan Fisher

Cara mudah ...

Ini adalah cara mengatur perintah mudah untuk mendapatkan hak istimewa admin kapan saja, dari sesi PowerShell mana saja!

Langkah 1: Buka Profil PowerShell Anda. (Izinkan notepad untuk membuat file jika hilang.)

notepad "$profile"

Langkah 2: Tempelkan kode berikut di mana saja dalam file itu. (Pilih berdasarkan versi PowerShell yang ingin Anda jalankan - dan perhatikan bahwa profil tersebut khusus untuk versi, sehingga Anda dapat melakukan ini untuk setiap versi PowerShell Anda jika Anda menjalankannya secara paralel).

# PowerShell 5
function GoAdmin { Start-Process PowerShell –Verb RunAs }

# PowerShell Core
function GoAdmin { Start-Process pwsh –Verb RunAs }

Langkah 3: Mulai ulang PowerShell. Perintah sekarang tersedia secara permanen.

Langkah 4: Setiap kali Anda ingin pergi admin, cukup ketik GoAdmin (dan jangan khawatir tentang mengetikkan huruf yang benar; Fungsi PS sebenarnya tidak sensitif huruf). Anda tentu saja dapat memberi nama fungsi yang lain seperti Elevate atau apa pun, tapi saya tidak ingin risiko konflik jadi saya menamakannya frasa dua kata tanpa tanda hubung, untuk memastikannya tidak akan pernah bertentangan dengan Fitur-fitur PowerShell sendiri.

Perhatikan bahwa jendela administrator terbuka di Shell yang terpisah. Anda dapat menutup Shell asli, atau membiarkannya tetap terbuka. Jika pekerjaan admin Anda melakukan sesuatu yang "besar" seperti menambahkan/memodifikasi variabel lingkungan, maka user-Shell Anda (non-admin) cukup mengetikkan refreshenv untuk memuat ulang lingkungannya dan mendapatkan perubahan. (Sunting: Ditemukan bahwa refreshenv disediakan oleh manajer paket hebat Chocolatey . Ketik Update-SessionEnvironment sebagai gantinya jika Anda tidak memiliki Chocolatey.)

Jadi pada dasarnya, hanya GoAdmin, lakukan hal-hal admin seperti menginstal paket (dengan https://chocolatey.org/ tentu saja!), Lalu tutup jendela admin dan jalankan refreshenv di Shell-pengguna Anda! Voila.

1
Mitch McMabers