Простой способ запустить прикладную программу в скрытом режиме

Работа в фоновом режиме от имени Системы, TrustedInstaller или Local Service — не единственное отличие процессов системных служб от процессов прикладных приложений. Все ключевые системные процессы запускаются в рамках изолированного сеанса с идентификатором 0, тогда как для вошедших в систему пользователей Windows открывает отдельный сеанс с идентификаторами 1, 2, 3 и так далее в зависимости от того, сколько всего пользователей работает в системе.

Вы можете убедиться в этом сами, выполнив в запущенной от имени администратора PowerShell команду get-process -name имя-процесса. Обратите внимание на данные столбца SI: если вы видите в нем 0, значит процесс работает в привилегированном изолированном сеансе, тогда как 1 указывает на то, что процесс запущен в рамках сеанса пользовательского.

Get-process

Для чего нужно такое разделение догадаться несложно.

Оно необходимо, чтобы процессы более «низкого» порядка не могли получить непосредственный доступ к критически важным процессам системы. Эту особенность Windows можно использовать для запуска прикладных программ в скрытом режиме без назначения их процессов службами, как в примере работы с инструментом Non-Sucking Service Manager, который был рассмотрен нами в статье «Как в Windows 10 создать собственную системную службу».

Есть и более простые решения.

Утилита PsExec

Воспользуйтесь бесплатной тулзой PsExec, созданной Марком Руссиновичем.

Скачайте архив с утилитами со странички docs.microsoft.com/ru-ru/sysinternals/downloads/psexec, распакуйте его и скопируйте исполняемый файл psexec.exe в системную папку System32.

Проводник

Запустите от имени администратора PowerShell и выполните команду вида .\psexec -i 0 -d путь-к-программе.

Например, командой .\psexec -i 0 -d notepad можно запустить в скрытом режиме Блокнот.

Psexec

В результате текстовый редактор будет запущен в скрытом режиме в рамках сеанса с идентификатором 0, но от имени пользователя.

Диспетчер задач

Планировщик заданий

Получить те же результаты можно средствами штатного Планировщика заданий.

Создайте новую задачу, на вкладке «Действие» укажите путь к запускаемой программе, а на вкладке «Общие» активируйте радиокнопку «Выполнять для всех пользователей». Это всё.

Планировщик

Сохраните задачу и запустите ее из главного окна Планировщика.

Планировщик заданий

Программа или скрипт запустятся и продолжат работу в скрытом режиме и в том же сеансе, в котором работают системные службы.

Оцените Статью:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)
Загрузка...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *