В 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?
Нополе

5
Джошуа: Если вы не используете /savecred.
Гравитация

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

2
Похоже, что по умолчанию у администратора нет пароля. И что аккаунт на самом деле отключен. Учетная запись администратора должна быть сначала включена, задан пароль, а затем она становится действительным пользователем, в который вы можете войти и войти в систему.
CMCDragonkai

11

Попробуйте создать ярлык для cmd.exe. Щелкните правой кнопкой мыши> Свойства. Нажмите на кнопку Дополнительно. Установите флажок «Запуск от имени администратора» и нажмите «ОК».

Назначьте ему сочетание клавиш, если хотите.

И вы также можете назначить местоположение по умолчанию для приглашения CMD, чтобы начать в .. например,% CD%



3

Используйте SuRun .

Работает и на Windows 8. Он запускает приложение в режиме «admin» без запроса, но у вас есть больший контроль над тем, какие приложения запускаются (вы можете увидеть это в апплете панели управления SuRun). Он отлично работает в пакетном файле тоже ...


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

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скрипт не будет работать, если в командной строке есть кавычка.


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.