Вопрос или проблема
Я хочу запустить regedit
как другой пользователь (т.е. чтобы редактировать записи реестра этого пользователя).
Итак, я запустил cmd
как Администратор и затем выполнил
runas /profile /savecred /user:OtherUserName regedit
Он просит мой пароль, но после его ввода я получаю
RUNAS ОШИБКА: Невозможно запустить – regedit
740: Запрашиваемая операция требует повышения привилегий.
Я понимаю, что regedit
должен быть запущен как администратор, но я запустил командную строку как администратор. OtherUserName
является пользователем типа Администратор.
Думаю, что, хотя я и выполняю операцию от имени текущего пользователя как администратора, это не передается к OtherUserName
.
Но это то, что я могу сделать в Windows 7 Embedded.
Я пробовал:
-
Групповая политика – “Поведение подсказки повышения привилегий для администраторов” – как
Запрашивать учетные данные
, так иПовышать без запроса
-
Наиболее популярный ответ здесь – Windows 10 pro, после юбилейного обновления я не могу больше использовать “ярлык запуск от имени администратора” (
runas /profile /savecred /user:administrator "cmd.exe"
сначала, но с текущим именем пользователя вместоadministrator
).
ОК, я думаю, что нашел способ обойти это, благодаря этой странице… https://www.itechtics.com/edit-registry-settings-other-users/
reg load HKU\OtherUserName C:\Users\OtherUserName \ntuser.dat
затем
regedit
затем появляется узел
[HKEY_USERS\OtherUserName\...etc.]
в настройках реестра.
Это решает проблему для меня, хотя все же не отвечает на общий вопрос, почему я не могу runas
приложение, требующее повышения привилегий…
Это работает, если использовать с cmd:
runas /user:domain\login "cmd /c ^c:\windows\regedit.exe^"
runas ошибка 740: Запрашиваемая операция требует повышения привилегий и cmd /c? – Форум Windows
Ответ или решение
Рассмотрим задачу: как запустить приложение, требующее повышения привилегий, от лица другого пользователя, используя команду runas
. Прежде всего разберем её теоретически, затем приведем примеры и, наконец, предложим практическое применение с конкретными шагами.
Теория (Theory)
Команда runas
в Windows позволяет запускать программы от имени другого пользователя. Это может быть необходимо в ситуациях, когда требуются привилегии другого пользователя для выполнения определенных задач. Однако, несмотря на кажущуюся простоту этой команды, она имеет некоторые ограничения.
Когда вы используете runas
, учтите следующие моменты:
- Наличие прав администратора: Пользователь, от имени которого выполняется процесс, должен обладать соответствующими правами.
- Повышение привилегий: Некоторые приложения требуют запуска с повышенными привилегиями. Даже если исходная командная строка запущена с правами администратора, привилегии не всегда передаются другому пользователю при использовании
runas
. - Среда выполнения: Операционная система и её настройки безопасности могут влиять на выполнение команд, требующих повышения привилегий.
Пример (Example)
Рассмотрим конкретный пример с попыткой запустить regedit
от имени другого пользователя. Вы используете следующую команду:
runas /profile /savecred /user:OtherUserName regedit
Однако получается ошибка:
RUNAS ERROR: Unable to run - regedit
740: The requested operation requires elevation.
Эта ошибка возникает потому, что regedit
требует запуска с повышенными привилегиями. Даже если текущая консоль имеет привилегии администратора, команда runas
не передает эти привилегии другому пользователю.
Применение (Application)
Как можно обойти это ограничение и выполнить задачу?
- Загрузка реестра другого пользователя: Вы можете временно загрузить hive реестра другого пользователя, отредактировать его и затем выгрузить. Это достигается следующими командами:
reg load HKU\OtherUserName C:\Users\OtherUserName\ntuser.dat
regedit
- Использование
cmd
для повышения привилегий: Можно воспользоваться командойcmd /c
, чтобы вызвать выполнение с повышенными привилегиями. Например:
runas /user:domain\login "cmd /c ^c:\windows\regedit.exe^"
Эта команда обходит ограничение, вызывая сначала командную оболочку, а затем запуская regedit
с необходимыми привилегиями.
-
Настройка UAC (Контроль учетных записей пользователей): Для пользователей, часто работающих с такими командами, может быть полезно настроить UAC так, чтобы уменьшить частоту запроса паролей.
-
Использование сторонних утилит: Есть сторонние программы, которые могут эмулировать поведение команды
runas
с поддержкой повышения привилегий. Это может быть полезным.
Заключение
Будучи IT-экспертом, нужно понимать ограничения встроенных инструментов Windows и иметь в своем арсенале решения для их обхождения. Выбор подхода зависит от конкретной ситуации и требований безопасности системы. Также важно помнить, что правильная настройка прав доступа и учетных записей пользователей может значительно упростить выполнение повседневных задач с помощью командной строки.
Компетенции в управлении доступом и привилегиями не только ускоряют решение задач, но и повышают безопасность системы в целом.