Использование runas для запуска netsh от имени администратора

Использование 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 учетная запись администратора автоматически создавалась во время Out-of-Box-Experience (OOBE) с пустым паролем.

Учетная запись администратора с пустым паролем представляет собой риск для безопасности. Для лучшей защиты системы встроенная учетная запись администратора по умолчанию отключена во всех чистых установках и обновлениях Windows 7.

Вот как это включить. (Вы можете открыть MMC, введя «mmc» в поле «Выполнить...» в меню «Пуск».)

Измените свойства учетной записи администратора с помощью консоли управления локальными пользователями и группами Microsoft (MMC).

  1. Откройте консоль MMC и выберите Локальные пользователи и группы.
  2. Щелкните правой кнопкой мыши учетную запись администратора и выберите «Свойства».
  3. Откроется окно «Свойства администратора».
  4. На вкладке Общие снимите флажок Учетная запись отключена.
  5. Закройте консоль 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.

Связанный контент