Использование runas для запуска netsh от имени администратора
Я пытаюсь выполнить отладку для поставщика на компьютере с Windows 7. Мне нужно бежать netsh
установить параметр. Я попытался запустить его из окна cygwin/shell, но получил ошибку "Запуск от имени администратора".
Погуглив, я вижу, что есть runas
команда, которая, кажется, работает как sudo
, Так как моя учетная запись пользователя (me
) это админ, я стараюсь runas /user:me "netsh ..."
Я получаю подсказку для me
пароль пользователя; Я вхожу в это; netsh
(предположительно работает в новом cmd
окно) мигает открытым и закрытым; и я получаю успешный возврат от команды (т. е. $? == 0).
Но, видимо, этого недостаточно, поскольку параметр не изменился. Я наконец-то обошел это, выполнив команду "Запуск от имени администратора" на ярлыке оболочки (а затем запустил netsh
обычно).
Какой трюк сделать Windows/runas
пойми это me
на самом деле администратор?
1 ответ
Существует разница между входом в учетную запись, которая входит в группу администраторов, и выполнением (а) повышенного уровня или (б) в качестве встроенной учетной записи администратора.
Каждый раз, когда вы работаете в качестве администратора, вы всегда повышены - по определению. Так что если вы run /user:administrator
это окно будет приподнято при открытии, вы не получите приглашение UAC и netsh
Команда должна работать.
Но поскольку встроенная учетная запись администратора всегда работает с повышенными правами и не генерирует запросы UAC из runas
это угроза безопасности, особенно если у него нет пароля. Вот почему Microsoft отключает учетную запись администратора по умолчанию и требует, чтобы вы сначала включили ее:
В Windows® 7 встроенная учетная запись администратора по умолчанию отключена. В предыдущих версиях Windows учетная запись администратора создавалась автоматически во время работы с сервером (OOBE) с пустым паролем.
Учетная запись администратора с пустым паролем представляет собой угрозу безопасности. Для лучшей защиты системы встроенная учетная запись администратора по умолчанию отключена во всех чистых установках и обновлениях Windows 7.
Вот как вы это включите. (Вы можете открыть MMC, введя "mmc" в поле "Run..." в меню "Пуск".)
Измените свойства учетной записи администратора с помощью консоли управления (MMC) "Локальные пользователи и группы".
- Откройте консоль MMC и выберите Локальные пользователи и группы.
- Щелкните правой кнопкой мыши учетную запись администратора и выберите "Свойства".
- Откроется окно свойств администратора.
- На вкладке Общие снимите флажок Учетная запись отключена.
- Закройте консоль MMC.
Также имейте в виду, что runas
НЕ позволяет передавать аргументы в программу, которую вы запускаете:
RUNAS USAGE:
RUNAS [ [/noprofile | /profile] [/env] [/savecred | /netonly] ]
/user:<UserName> program
RUNAS [ [/noprofile | /profile] [/env] [/savecred] ]
/smartcard [/user:<UserName>] program
RUNAS /trustlevel:<TrustLevel> program
Если вы хотите запустить команду с повышенными правами под своим собственным идентификатором пользователя или передать аргументы, вам нужен подлинный sudo
или же su
(как этот, часть моей собственной оболочки Hamilton C:) с интерлюдией, отмеченной в манифесте приложения как требующая повышения прав. Если вы сделаете это таким образом, вы увидите приглашение UAC.