Chạy như người dùng khác và nâng cao


24

Trong Windows Explorer, tôi có thể nhấp chuột phải vào tệp thực thi và chọn 'Chạy với tư cách quản trị viên' sẽ khởi chạy quy trình đã chọn với các đặc quyền nâng cao hoặc tôi có thể nhấp chuột phải vào tệp thực thi và nhấp vào 'Chạy với tư cách người dùng khác', chỉ định tên người dùng và mật khẩu sẽ khởi chạy quy trình với các đặc quyền tiêu chuẩn sử dụng bối cảnh người dùng được chỉ định.

Làm cách nào để tôi chạy như một người dùng khác VÀ chạy trong bối cảnh nâng cao? Một ví dụ hoàn hảo về điều này sẽ là mở một dấu nhắc lệnh nâng cao bằng cách sử dụng bối cảnh người dùng khác mà người dùng hiện đang đăng nhập.


Tôi nghĩ rằng powershell start-processlệnh có thể có thể làm điều này.
jiggunjer

Câu trả lời:


22

Tôi không nghĩ rằng một lựa chọn như vậy tồn tại.

Vì công việc xung quanh bạn có thể bắt đầu dòng lệnh với tư cách quản trị viên và thực hiện lệnh sau để chạy dòng lệnh với quyền quản trị viên như người dùng khác.

runas / netonly / user: YourUser cmd.exe


7
Hoặc bạn có thể nhấp chuột phải vào tệp thực thi, sau đó chọn thuộc tính> khả năng tương thích và sau đó chọn Cấp đặc quyền và kiểm tra Chạy chương trình này với tư cách quản trị viên. Sau đó thay đổi nhấp chuột phải vào tệp thực thi và chạy như một người dùng khác.
JamesTheDev

@NewProgrammerJames Nice, cảm ơn bạn đã nhập :)
Yass

@NewProgrammerJames Thủ thuật này không hoạt động với CMD trực tiếp trên W2008R2 trở lên, nhưng có thể điều chỉnh một ứng dụng tùy chỉnh.
Vesper

Điều này sẽ hoạt động ngay cả khi người dùng cuối không thuộc nhóm quản trị viên?
jiggunjer

@jiggunjer Không, theo như tôi biết.
Yass

11

Vâng, psexec hoàn toàn làm điều này.

Ví dụ sau hoạt động hoàn toàn trên Windows 8.1; chạy dấu nhắc lệnh với tư cách Quản trị viên, sau đó:

// -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"

Từ Mike : Điều này hoạt động cho Windows 10!
fixer1234

7

Bạn có thể làm điều đó thông qua PowerShell:

Start-Process powershell -Credential domain\differentUserName -ArgumentList '-noprofile -command &{Start-Process "TheApp.exe" -verb runas}'

1

Tôi nhận thấy đây là một câu hỏi rất cũ, nhưng những câu trả lời không có lý tưởng và nó đã bị hoại tử. Tất cả các câu trả lời hiện tại yêu cầu nhập các lệnh cổ xưa và biết đường dẫn chính xác để thực thi của bạn. Một tùy chọn lý tưởng sẽ làm cho điều này có thể bằng cách sử dụng cùng một quy trình bạn đã sử dụng để leo thang đặc quyền.

Nếu bạn có phiên bản Windows không phải là Home (Vista đến 10), bạn có thể sử dụng Trình quản lý chính sách bảo mật để nhắc nhở bạn cung cấp mật khẩu bất cứ khi nào độ cao xảy ra. Nó cũng cung cấp cho bạn tùy chọn để chọn một người dùng hoàn toàn khác và nhập mật khẩu của họ ... điều này sẽ khiến quá trình nâng cao chạy như họ.

Chỉ cần mở menu bắt đầu và nhập secpol.mscvà nhấn enter để khởi chạy nó (nếu có). Bạn đang tìm kiếm Local Policies> Security Options> User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode> Prompt for credentials. Vista có một tùy chọn tương tự không đề cập đến "Chế độ phê duyệt của quản trị viên" nhưng nó cũng làm điều tương tự.

Tôi nghĩ rằng đây là một lựa chọn tự nhiên hơn nhiều so với các tùy chọn khác được cung cấp ở đây và khá gợi nhớ đến gksudo trên * nix. Nhưng nếu phiên bản Windows của bạn không bao gồm secpol.msc, bạn sẽ phải thực hiện một số hack registry để kích hoạt nó.


Tôi đã làm điều này và nó không hoạt động. Và nó luôn yêu cầu lấy dấu vân tay của tôi thay vì mặc dù tôi không định cấu hình xác thực dấu vân tay của mình.
iroel

@iroel Nghe có vẻ khác biệt như có vấn đề về cấu hình với các hệ thống con xác thực của windows của bạn. Bạn nên xem xét việc tìm kiếm SU cho một giải pháp cho vấn đề đó và, nếu bạn không tìm thấy gì, hãy xem xét việc đăng nó như một câu hỏi. Tất cả các hệ thống của tôi được thiết lập theo cách này và không ai trong số họ yêu cầu lấy dấu vân tay. Tùy thuộc vào tài khoản tôi đang xác thực khi họ yêu cầu mật khẩu hoặc số pin.
Cliff Armstrong

Tôi sử dụng dấu vân tay để xác thực. Nó xảy ra. 2 giải pháp có thể áp dụng: làm cho người dùng có đặc quyền quản trị (nhưng không có ý nghĩa trong trường hợp này), tạo người dùng khác và đặt dấu vân tay (sử dụng ngón tay không được đăng ký cho người dùng nhất định) và sử dụng ngón tay đó khi được yêu cầu nâng cao đặc quyền. Tôi sử dụng giải pháp cuối cùng trong trường hợp này. Ít nhất nó làm việc cho tôi.
iroel

Nếu bạn đang được nhắc lấy dấu vân tay thì bạn đã thiết lập người dùng mà bạn đang cố đăng nhập để yêu cầu lấy dấu vân tay hoặc có gì đó không đúng với cài đặt cửa sổ của bạn. Ngừng hẳn. Tôi sử dụng thiết lập này trên ba máy tính khác nhau và không ai trong số họ yêu cầu lấy dấu vân tay. Tôi đã thiết lập điều này trên hàng tá máy tính cho khách hàng. Windows sẽ nhắc nhập mã pin # khi đăng nhập vào người dùng có mã pin # được định cấu hình và mật khẩu cho tất cả người dùng khác. Nó sử dụng bất kỳ phương thức xác thực nào bạn đã cấu hình cho người dùng đó.
Cliff Armstrong

0

Tôi thấy rằng nếu tôi đăng nhập với tư cách là tài khoản Run As, bạn có thể đặt cờ "chạy chương trình này với tư cách quản trị viên" trên trang thuộc tính / khả năng tương thích. Sau đó đăng nhập vào tài khoản phụ và thực hiện thao tác nhấp chuột khi chạy sẽ mở nó với tư cách quản trị viên.


Điều này nghe có vẻ là một tùy chọn tuyệt vời, nhưng không có trang tương thích trong Thuộc tính của cmd.exe.
Sandra
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.