Nâng cao chương trình đang chạy cho quản trị viên (Windows 7)


35

Đôi khi bạn có thể mở một chương trình mà bạn muốn chạy với tư cách quản trị viên, nhưng bạn có thể đã mở nó không phải là quản trị viên. Có thể nâng cao các đặc quyền của một chương trình đã chạy trong Windows 7 hay tôi phải đóng và khởi động lại với tư cách quản trị viên?


8
sudo cho chiến thắng!
Josh K

1
@Josh K - er - Làm thế nào bạn có thể nâng cao một ứng dụng đã chạy bằng cách sử dụng sudo?
Sathyajith Bhat

Thật kỳ diệu, bạn phải giải mã man sudođể biết thêm thông tin.
Josh K

2
@Josh, nếu không có gì khác, bạn luôn có thể sử dụng pseudo;)
Tomas Aschan

Câu trả lời:


26

Tiếc là không có. Một quy trình đang chạy không thể được nâng lên thành đặc quyền của quản trị viên. Tôi đang tìm kiếm một nguồn có thẩm quyền hơn, nhưng bây giờ tôi đã tìm thấy:

  1. "Các chương trình không thể được nâng lên một khi chúng đã được khởi chạy ..."

  2. "Mã chỉ có thể được nâng lên ở cấp quy trình khi khởi động, điều đó có nghĩa là một quy trình đang chạy không thể được nâng lên."


1
Điều này là hoàn toàn sai sự thật. API win32 hỗ trợ nâng cao các ứng dụng tùy ý đang chạy, mặc dù ứng dụng đang được đề cập phải tự phơi bày chức năng. Bài viết này và mã nguồn đi kèm thể hiện cách thực hiện điều này. Có thể hình dung rằng người ta có thể viết một ứng dụng để chọn và nâng cao các quy trình khác ...
Fopedush 23/12/13

8
@Fopedush Mặc dù bài báo đó mô tả kỹ thuật này là "tự nâng cao", những gì mà các chương trình ví dụ đó thực sự đang làm là khởi chạy một phiên bản mới của quá trình sử dụng ShellExecuteExvà động từ "runas". Tôi không nghĩ rằng việc đạt được nhu cầu của OP để nâng cao một chương trình đã chạy (chẳng hạn như nó sẽ mất tất cả trạng thái của nó).
Stephen Jennings

khi một phiên bản Total Commander 8.01 không nâng cao bị chặn trong một hoạt động như sao chép vào thư mục con của chương trình, nó cung cấp khả năng "thử lại với tư cách quản trị viên". Điều này có thể được mở rộng cho các quá trình "nước ngoài" (không tự)?
n611x007

3
@naxa Tôi chưa sử dụng Total Commander, nhưng tôi sẵn sàng đặt cược tùy chọn "thử lại với tư cách quản trị viên" thực sự tạo ra một quy trình nâng cao hoàn toàn riêng biệt để thực hiện công việc đặc quyền. Process Explorer thực hiện điều này khi bạn chọn "Hiển thị chi tiết cho tất cả các quy trình", nó sẽ khởi chạy một bản sao nâng cao mới của chính nó và đóng bản sao không liên quan. Nếu đó là trường hợp, thì các chương trình cần phải được viết cụ thể để biết cách khởi chạy quy trình thứ hai một cách chính xác.
Stephen Jennings

1
@StephenJennings Bạn hoàn toàn đúng - mẫu mã tôi đã liên kết thực tế chỉ khởi chạy lại bằng lệnh runas. Tôi nên đã hiệu đính mã ngoài bài viết trước khi bình luận. Tôi đã có ấn tượng rằng api WIN32 đã phơi bày một số loại cơ chế độ cao - nhưng có lẽ tôi đang đánh giá sai. Tôi sẽ đào xung quanh và đăng lại nếu tôi có thể tìm thấy những gì tôi đang nghĩ đến.
Fopedush
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.