Mendapatkan hak administrator di PowerShell

27

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 saya menjadi administrator?

Brian
sumber

Jawaban:

14

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 .

Knox
sumber
25

Cara Powershell v2, menurut Microsoft , adalah mengeklik kanan pintasan dan memilih Run as Administrator .

Dan untuk meninggikan dalam jendela Powershell:

start-process powershell verb runAs

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

powershell "start-process powershell -verb runas"
Nathan Hartley
sumber
10

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.

pengguna2278
sumber
5

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

Ryan Fisher
sumber
0

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 di file itu.

function GoAdmin { start-process powershell verb runAs }

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

Langkah 4: Kapan pun Anda ingin masuk admin, cukup ketik GoAdmin(dan jangan khawatir mengetik huruf yang benar; fungsi PS sebenarnya tidak sensitif huruf). Anda tentu saja dapat menamai fungsi itu sesuatu yang lain seperti Elevateatau apa pun, tetapi saya tidak ingin risiko konflik jadi saya menamakannya frasa dua kata tanpa tanda hubung, untuk memastikannya tidak akan pernah bertentangan dengan 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 shell pengguna Anda (non-admin) cukup mengetik refreshenvuntuk memuat ulang lingkungannya dan mendapatkan perubahan.

Jadi pada dasarnya, GoAdminlakukan saja admin admin seperti menginstal paket (dengan https://chocolatey.org/ tentu saja!), Lalu tutup jendela admin dan jalankan refreshenvdi shell-pengguna Anda! Voila.

Mitch McMabers
sumber