Для выполнения некоторых действий в Windows недостаточно иметь права администратора. Например, вы не можете заменять или удалять системные файлы и некоторые ключи реестра, останавливать системные службы или выполнять некоторые другие потенциально небезопасные действия, которые могут повлиять на стабильность вашей операционной системы. В этих случаях системный администратор может стать владельцем файлов или других объектов или выполнять действия от имени системной учетной записи. В этой статье мы рассмотрим, как запустить приложение или командную строку в качестве привилегированного SYSTEM
(LocalSystem
) в Windows 10.
Содержание:
- Как запустить CMD под учетной записью локальной системы в Windows (версии до Vista)?
- Как запустить CMD/Process как SYSTEM в Windows 10 с помощью PSExec?
services.msc
) и обратите внимание на сервисы, которые Локальная система в Вход в систему как столбец. Эти службы работают под учетной записью SYSTEM.Как запустить CMD под учетной записью локальной системы в Windows (версии до Vista)?
В Windows XP и Windows Server 2003 (которые больше не поддерживаются) был интересный трюк, который позволял вам запустить программу или интерактивную командную строку (cmd.exe) с системными привилегиями, используя Task Планировщик. Достаточно было открыть командную строку под учетной записью администратора и выполнить следующую команду:
at 10:23 /interactive cmd.exe
где, 10:23
текущее время + одна минута (в 24-часовом формате)
Когда наступит указанное время, появится командная строка, работающая под учетной записью локальной системы. Если вы запустили эту команду в сеансе терминала (RDP) в Windows Server 2003/XP, обратите внимание, что командная строка с правами System отображается только в сеансе консоли (подключиться к консоли компьютера можно через mstsc /console
или mstsc /admin
).
Windows 10 не поддерживает запуск интерактивной командной строки с помощью at
команда. Рекомендуется использовать schtasks.exe
вместо.
Предупреждение. Из-за улучшений безопасности эта задача будет выполняться в ожидаемое время, но не в интерактивном режиме. Используйте утилиту schtasks.exe, если требуется интерактивная задача ('schtasks /?' для подробностей). Запрос не поддерживается.
Как запустить CMD/Process как SYSTEM в Windows 10 с помощью PSExec?
В Windows 7 и более поздних версиях интерактивная командная строка не может быть запущена под системной учетной записью с помощью планировщика заданий. Чтобы запускать команды как NT Authority\System, вы можете использовать PSExec.exe утилита от Sysinternals.
PSExec не нужно устанавливать. Откройте командную строку с повышенными привилегиями («Запуск от имени администратора»), перейдите в папку, в которой находится PSexec.exe, и выполните следующую команду:
psexec -i -s cmd.exe
-я – позволяет запустить процесс/приложение в интерактивном режиме (пользователь может взаимодействовать с приложением на рабочем столе; если вы не используете этот параметр, процесс запускается в сеансе консоли),
–с – означает, что процесс (в данном случае командная строка) должен запускаться от имени системной учетной записи.
При первом запуске PsExec вам будет предложено принять лицензионное соглашение.
После запуска команды появится новое окно командной строки. Администрация NT\Система счет. Убедитесь, что это правда, выполнив эту команду:
whoami
Таким образом, вы можете запускать любую программу, команду или скрипт от имени системной учетной записи. Достаточно заменить cmd.exe в параметре PsExec на имя исполняемого файла приложения, которое вы хотите запустить.
В появившемся окне командной строки вы можете запускать любые команды от имени SYSTEM. Теперь вы можете изменять, переименовывать или удалять системные файлы/ключи реестра, принадлежащие TrustedInstaller или SYSTEM. Все программы или процессы, которые вы запускаете в этом окне, будут работать с повышенными привилегиями LocalSystem. Например, вы можете остановить системную службу или закрыть файл, открытый системным процессом.
psexec -s \\mun-b21pc12 cmd.exe
Если “Couldn’t install PSEXESVC service
», убедитесь, что:
- Командная строка запускается от имени администратора;
- Другой экземпляр службы PSEXESVC не запущен
Существует также ряд сторонних инструментов для запуска приложений от имени системной учетной записи (AdvancedRun , Запуск от имени системы, PowerRun), но не вижу смысла их использовать. Во-первых, они сторонние и нельзя быть уверенным, что в них нет вредоносного кода. Во-вторых, официальная утилита PsExec от Microsoft отлично справляется со своей задачей.