Чи є в Windows 7 командний рядок, який може запускати cmd як адміністратор? [дублікат]


39

На це питання вже є відповідь тут:

У Linux ми можемо використовувати

sudo bash

запускати оболонку як суперпользователь.

У Windows 7 ми можемо використовувати

Меню " Пуск" -> (у вікні пошуку, введіть) cmd -> Клацніть правою кнопкою миші на результат пошуку та виберіть Запустити як адміністратор

запустити командний рядок як адміністратор. Чи є також командний рядок, який схожий на Linux sudoабо suтак, щоб запустити оболонку як адміністратор?


11
Ви також можете шукати cmd (як ви вже робите) та натискати "ctrl + shift + enter", щоб запустити вибрану програму як адміністратора.
Джошуа

Відповіді:


34

runasКоманда найближче до того , що ви шукаєте:

runas /user:username cmd.exe

Формат - runasце ім'я користувача, яке ви хочете запустити, інші параметри, а потім програма, яку ви хочете запустити.

Якщо ви перебуваєте в домені, ви можете використовувати:

runas /user:DOMAIN\USERNAME cmd.exe

Це можна запустити з Runполя ( Win+ R) або з вікна команд.

Однак зауважте, що це не зовсім так sudo- ви не можете використовувати його для піднесення себе, просто запускайте щось як інший користувач. Якщо ви вже маєте адміністративні права, руна до вашого облікового запису надасть вам такий самий доступ, як і звичайна команда (якщо, звичайно, ви не користуєтесь іншим обліковим записом адміністратора, що надасть цим правам адміністратора нову оболонку).


2
Крім того, на відміну від цього sudo, runasвін ніколи не кешуватиме пароль протягом будь-якого періоду часу. Тож, якщо ви планували чергувати пару швидких команд, як ви можете, з послідовними запусками sudo. Тому просто відкрийте вікно консолі та запустіть свої команди там.
Джошуа

тож найкоротша форма "runas / user: DOMAIN \ Administrator cmd.exe" ух ... це досить довгий і важко запам'ятати ... і я можу створити псевдонім, але що робити, якщо я перебуваю на чужому комп’ютері і допомагаю ? чи буде гарною ідеєю, якщо MS може створити спеціальну команду під назвою runasadmin?
nopole

5
Джошуа: Якщо ви не використовуєте /savecred.
grawity

+1, а місцевому адміністратору runas /user:administrator cmd.exeне важко запам'ятати після десятка типів або близько того. Все це - сама команда, runasза якою йде /user:перемикач, за нею користувач, якого ми хочемо запустити, а потім нарешті програма, яку ми хочемо запустити cmd.exe(командний рядок у нашому випадку). Це так близько до одного рядка, який ви можете отримати для запуску командних підказок, підвищених. Крім того, якщо ви робите start-> run іноді є прапорець, щоб запустити програму підвищеною, я не доклав жодних зусиль для з'ясування того, що робить її появою, але це варіант.
MDMoore313

2
Здається, що за замовчуванням у адміністратора немає пароля. І що рахунок фактично вимкнено. Спершу потрібно ввімкнути обліковий запис адміністратора, вказати пароль, а потім він стане фактичним користувачем, на який ви можете увійти та ввійти в нього.
CMCDragonkai

11

Спробуйте створити ярлик до cmd.exe. Клацніть правою кнопкою миші> Властивості. Натисніть кнопку Додатково. І поставте галочку "Запустити як адміністратор" і натисніть кнопку ОК.

Призначте клавішу швидкого доступу, якщо хочете.

Ви також можете призначити місце за замовчуванням для запиту CMD для запуску .. наприклад,% CD%



3

Використовуйте SuRun .

Він працює і в Windows 8. Він запускає програму в режимі "адміністратор" без підказки, але ви маєте більш високий контроль над запуском програм (ви можете побачити це в аплеті панелі управління SuRun). Він чудово працює і в пакетному файлі ...


лише примітка для Windows 8 (і 8.1): мені не вдалося запустити командний рядок як адміністратор, оскільки surun замінює - за замовчуванням налаштування - вбудовані руни функціонують у контекстних меню.
Вовк

1

Створіть пакетний файл, такий як sudo.bat, і введіть наступні команди, а потім збережіть у 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 fms, однак, сценарій не буде працювати , якщо є quotemark в командному рядку.


2
Це призводить до підказки користувача у діалоговому вікні UAC та запуску потрібної команди в окремому вікні.
TOOGAM

1

Якщо ви хочете вирішити командний рядок: завантажте hstart з http://www.ntwind.com/software/hstart.html і витягніть hstart.exe або hstart64.exe кудись на своєму шляху. Ви можете запустити підвищений командний рядок за допомогою hstart /runas cmdабо hstart64 /runas cmd.

Але найшвидший спосіб (як зазначено в коментарі до питання) - все-таки натиснути Windows, набрати cmdта натиснути Ctrl+ Shift+ Enter.


1

Мене розчарувало існуючі рішення для цього, тому я написав невеликий сценарій Node.js, який повинен бути більш знайомим користувачам * nix.

Він піднімає поточного користувача без підказок пароля (лише UAC ), перенаправляє stdin і stdout і працює в тому ж вікні консолі.

https://github.com/tehsenaus/windosu


Це чудово працює - просто скажіть sudo <command>та натисніть Alt + Y у діалоговому вікні UAC.
Брайан Бернс


0

Я включаю справжні suта sudoкоманди зі своєю оболонкою Hamilton C для виконання команди як інший користувач або підвищений (із запитом UAC) або обидва, тобто підвищені як інший користувач. На відміну від runasінших альтернатив, мої suта sudoвміють передавати поточні каталоги, змінні середовища та довгі командні рядки. Це комерційний продукт, але є безкоштовна версія . Повне розкриття: Я автор. Але я також рада відповідати на запитання.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.