Trên Windows 7, có một dòng nhắc lệnh có thể bắt đầu cmd với tư cách quản trị viên không? [bản sao]


39

Câu hỏi này đã có câu trả lời ở đây:

Trên Linux, chúng ta có thể sử dụng

sudo bash

để chạy một cái vỏ như siêu người dùng.

Trên Windows 7, chúng ta có thể sử dụng

Menu bắt đầu -> (trong hộp tìm kiếm, nhập) cmd -> Nhấp chuột phải vào kết quả tìm kiếm và chọn Run as Administrator

để chạy một dấu nhắc lệnh như một quản trị viên. Có phải cũng có một dòng nhắc lệnh giống như của Linux sudohoặc suđể bắt đầu một trình bao với tư cách quản trị viên?


11
Bạn cũng có thể tìm kiếm cmd (giống như bạn đã làm) và nhấn "ctrl + shift + enter" để khởi chạy chương trình đã chọn với tư cách quản trị viên.
Joshua

Câu trả lời:


34

Các runaslệnh là điều gần nhất với những gì bạn đang tìm kiếm:

runas /user:username cmd.exe

Định dạng là runas, tên người dùng bạn muốn chạy, các tùy chọn khác, và sau đó là chương trình bạn muốn chạy.

Nếu bạn đang ở trên một tên miền, bạn có thể sử dụng:

runas /user:DOMAIN\USERNAME cmd.exe

Điều này có thể được chạy từ Runhộp ( Win+ R) hoặc từ cửa sổ lệnh.

Tuy nhiên, lưu ý rằng điều này không chính xác như thế sudo- bạn không thể sử dụng nó để nâng cao bản thân, chỉ cần chạy một cái gì đó như một người dùng khác. Nếu bạn đã có quyền quản trị, một runas vào tài khoản của bạn sẽ cung cấp cho bạn quyền truy cập giống như lệnh thông thường (tất nhiên, trừ khi, bạn chạy một tài khoản quản trị viên khác , sẽ cấp quyền cho quản trị viên đó cho vỏ mới).


2
Ngoài ra, không giống như sudo, runassẽ không bao giờ lưu trữ mật khẩu trong bất kỳ khoảng thời gian nào. Vì vậy, nếu bạn đang lên kế hoạch xếp hàng một vài lệnh nhanh như bạn có thể với các lần chạy liên tiếp sudo. Vì vậy, chỉ cần mở một cửa sổ giao diện điều khiển và chạy các lệnh của bạn ở đó.
Joshua

vì vậy hình thức ngắn nhất là "runas / user: DOMAIN \ Administrator cmd.exe" wow ... nó khá dài và khó nhớ ... và tôi có thể tạo bí danh, nhưng nếu tôi ở trên máy tính của người khác và giúp đỡ ? Sẽ là một ý tưởng tốt nếu MS có thể tạo một lệnh đặc biệt gọi là runasadmin?
nopole

5
Joshua: Trừ khi bạn sử dụng /savecred.
grawity

+1 và đối với quản trị viên cục bộ runas /user:administrator cmd.exekhông khó để nhớ sau hàng tá loại. Tất cả chỉ là lệnh runastheo sau bởi công /user:tắc, theo sau là người dùng chúng tôi muốn chạy nó, cuối cùng là chương trình chúng tôi muốn chạy, cmd.exe(dấu nhắc lệnh trong trường hợp của chúng tôi). Đây là gần với một dòng bạn có thể nhận được để chạy các dấu nhắc lệnh nâng cao. Ngoài ra, nếu bạn bắt đầu-> chạy đôi khi có một hộp kiểm để chạy chương trình nâng cao, tôi sẽ không đặt bất kỳ nỗ lực nào để tìm ra cái gì làm cho nó xuất hiện, nhưng đó là một tùy chọn.
MDMoore313

2
Theo mặc định, quản trị viên không có mật khẩu. Và tài khoản đó thực sự bị vô hiệu hóa. Tài khoản quản trị viên cần được kích hoạt trước tiên, được cung cấp mật khẩu và sau đó trở thành người dùng thực tế mà bạn có thể đăng nhập và chạy vào.
CMCDragonkai

11

Hãy thử tạo một lối tắt đến cmd.exe. Nhấp chuột phải> Thuộc tính. Bấm vào nút Nâng cao. Và đánh dấu vào ô "Chạy với tư cách Quản trị viên" và nhấp vào OK.

Chỉ định nó là một phím tắt nếu bạn muốn.

Và bạn cũng có thể chỉ định vị trí mặc định cho lời nhắc CMD để bắt đầu .. ví dụ:% CD%



3

Sử dụng SuRun .

Nó cũng hoạt động trên Windows 8. Nó chạy ứng dụng ở chế độ "quản trị viên" mà không cần nhắc nhở, nhưng bạn có quyền kiểm soát tốt hơn đối với những ứng dụng nào đang chạy (bạn có thể thấy nó trên ứng dụng bảng điều khiển của SuRun). Nó hoạt động rất tốt trong một tệp bó quá ...


chỉ là một lưu ý cho Windows 8 (và 8.1): Tôi không thể khởi chạy một dấu nhắc lệnh với tư cách quản trị viên, bởi vì surun thay thế - theo cài đặt mặc định - chức năng runas tích hợp trong menu ngữ cảnh.
Sói

1

Tạo một tệp bó như sudo.bat và nhập các lệnh sau rồi lưu trong PATH:

@echo Set objShell = CreateObject("Shell.Application") > %temp%\sudo.tmp.vbs
@echo args = Right("%*", (Len("%*") - Len("%1"))) >> %temp%\sudo.tmp.vbs
@echo objShell.ShellExecute "%1", args, "", "runas" >> %temp%\sudo.tmp.vbs
@cscript %temp%\sudo.tmp.vbs

sudo cmd net start fmsTuy nhiên, để sử dụng nó, tập lệnh sẽ không hoạt động nếu có dấu ngoặc kép trong dòng lệnh.


2
Điều này dẫn đến việc nhắc người dùng với hộp thoại UAC, sau đó chạy lệnh mong muốn trong một cửa sổ riêng.
TUYỆT VỜI 3/2/2015

1

Nếu bạn muốn một giải pháp dòng lệnh: tải hstart từ http://www.ntwind.com/software/hstart.html và giải nén hstart.exe hoặc hstart64.exe vào một nơi nào đó trên đường dẫn của bạn. Bạn có thể bắt đầu một dấu nhắc lệnh nâng cao bằng hstart /runas cmdhoặc hstart64 /runas cmd.

Nhưng cách nhanh nhất (như đã lưu ý trong một nhận xét cho câu hỏi) vẫn là nhấn Windows, nhập cmdvà nhấn Ctrl+ Shift+ Enter.


1

Tôi đã thất vọng với các giải pháp hiện có cho việc này, vì vậy tôi đã viết một tập lệnh Node.js nhỏ quen thuộc hơn với người dùng * nix.

Nó nâng người dùng hiện tại không có lời nhắc mật khẩu (chỉ UAC ), chuyển hướng stdin và stdout và chạy trong cùng một cửa sổ giao diện điều khiển.

https://github.com/tehsenaus/windosu


Điều này hoạt động rất tốt - chỉ cần nói sudo <command>và nhấn Alt + Y trong hộp thoại UAC.
Brian Burns


0

Tôi bao gồm chính hãng susudocác lệnh với trình bao Hamilton C của tôi để chạy lệnh với tư cách là người dùng khác hoặc được nâng lên (với dấu nhắc UAC) hoặc cả hai, tức là nâng lên như một người dùng khác. Không giống như runasvà các lựa chọn thay thế khác, tôi susudobiết cách vượt qua các thư mục hiện tại, các biến môi trường và các dòng lệnh dài. Đây là một sản phẩm thương mại nhưng có một phiên bản miễn phí . Tiết lộ đầy đủ: Tôi là tác giả. Nhưng tôi cũng rất vui khi trả lời các câu hỏi.


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.