Đạt được các đặc quyền của quản trị viên trong PowerShell


27

Tôi chỉ có một tài khoản trên máy Windows Vista của mình và người dùng đó có quyền quản trị. Tuy nhiên, khi tôi cố gắng thực thi một lệnh trong PowerShell để giết một quy trình nhất định, tôi được chào đón với thông báo "Truy cập bị từ chối". Làm thế nào để tôi trở thành quản trị viên?

Câu trả lời:


14

Cách dễ nhất để làm điều này là khởi chạy Powershell với mã thông báo quản trị. Để thực hiện việc này, bạn nhấp chuột phải vào Powershell (hoặc lối tắt đến nó) và nhấp vào "chạy với tư cách quản trị viên". Ngoài ra, bạn có thể sử dụng elevate.cmd .


25

Cách Powershell v2, theo Microsoft , là nhấp chuột phải vào phím tắt và chọn Run as Administrator .

Và để nâng lên trong cửa sổ Powershell:

start-process powershell verb runAs

Mà từ một tệp bó cmd.exe, phím tắt hoặc dòng Run sẽ trông giống như thế này (lặp đi lặp lại) như thế này:

powershell "start-process powershell -verb runas"

10

Điều này mở ra một thể hiện quyền hạn mới:

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')
}

Tôi hy vọng rằng có vấn đề với điều này - đặc biệt, bạn sẽ không nhận được đầu ra của scriptblock của mình trong tập lệnh gọi. Mặt khác, nó sẽ ở đó trong phiên bản PS mới để bạn có thể hack với nó ở đó.


5

Nếu bạn muốn luôn chạy PowerShell với quyền quản trị viên, bạn có thể nhấp chuột phải vào phím tắt PowerShell, sau đó nhấp vào nút "Nâng cao ..." trên tab "Phím tắt", sau đó chọn "Chạy với tư cách Quản trị viên".


0

Cách dễ dàng ...

Đây là cách thiết lập một lệnh dễ dàng để nhận đặc quyền quản trị viên bất cứ lúc nào, từ bất kỳ phiên PowerShell nào!

Bước 1: Mở Hồ sơ PowerShell của bạn. (Cho phép notepad tạo tệp nếu thiếu.)

notepad "$profile"

Bước 2: Dán đoạn mã sau vào bất cứ đâu trong tập tin đó.

function GoAdmin { start-process powershell verb runAs }

Bước 3: Khởi động lại PowerShell. Lệnh này hiện có sẵn vĩnh viễn.

Bước 4: Bất cứ lúc nào bạn muốn đi quản trị viên, chỉ cần gõ GoAdmin(và đừng lo lắng về việc nhập đúng trường hợp; các hàm PS thực sự không phân biệt chữ hoa chữ thường). Tất nhiên bạn có thể đặt tên cho chức năng này theo cách khác Elevatehoặc bất cứ điều gì, nhưng tôi không muốn có bất kỳ nguy cơ xung đột nào nên tôi đặt tên cho cụm từ đó không có bất kỳ dấu gạch nối nào, để đảm bảo nó sẽ không bao giờ xung đột với các tính năng của PowerShell.

Lưu ý rằng cửa sổ quản trị mở trong một vỏ riêng. Bạn có thể đóng vỏ ban đầu, hoặc giữ cho nó mở. Nếu công việc quản trị viên của bạn làm một việc gì đó "lớn" như thêm / sửa đổi các biến môi trường, thì trình vỏ người dùng của bạn (không phải quản trị viên) có thể chỉ cần nhập refreshenvđể tải lại môi trường của nó và nhận các thay đổi.

Về cơ bản, chỉ cần GoAdminthực hiện các thao tác quản trị viên như cài đặt các gói (với https://chatioatey.org/ tất nhiên!), Sau đó đóng cửa sổ quản trị và chạy refreshenvtrong trình bao người dùng của bạn! Voila.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.