Можно ли запустить скрипт при загрузке Windows от имени администратора, добавив его в раздел реестра "Текущая версия \ Выполнить" пользователя "NT AUTHORITY\SYSTEM"?

Это ключ автозапуска реестра Windows для моего текущего пользователя (группа администраторов):

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

и этот для пользователя "NT AUTHORITY\SYSTEM":

HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Run

Это простой скрипт "Test.cmd":

echo "Hello" >> C:\Test.txt

Если я добавлю его к текущему пользователю Run ключ, он работает, но если я добавлю его пользователю SYSTEM, это не так.
Что здесь происходит, и как я могу добавить сценарий.cmd через реестр Windows, который будет выполняться с привилегиями пользователя SYSTEM?

Протестировано на Windows XP, но было бы неплохо получить ответ и для Windows 7.

1 ответ

Я считаю, что ваш первоначальный вопрос / сообщение неверно. Все в соответствии с HKEY_LOCAL_MACHINE применяется независимо от учетной записи пользователя, используемой для входа в систему. Таким образом, ваше первое утверждение неверно. Кто бы вы ни вошли в систему, ваш ключ Run будет находиться в этой ветке реестра:

HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Run

Дополнительные пользователи будут проживать в HKEY_USERS. Если вы отредактировали указанный выше ключ, войдя в систему как администратор, это также отредактирует соответствующий ключ в HKEY_USERS (поскольку HKCU является просто прокси для одной из записей в HKEY_USERS).

Если вы поместите свой скрипт test.cmd в папку HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Windows\CurrentVersion\Run, он будет работать независимо от того, какой пользователь вошел в систему. Теперь ваш оригинальный вопрос в заголовке говорит, что вы хотите запустить команду "при загрузке Windows". Вы действительно имеете в виду во время процесса загрузки (то есть, когда логотип Windows отображается на черном экране), или вы имеете в виду во время процесса входа в систему?

Другие вопросы по тегам