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

Как запустить программу от имени системы

Запуск командной строки/ программы от имени SYSTEM в Windows

date26.08.2020
useritpro
directoryWindows 10, Windows Server 2012 R2, Windows Server 2016
commentsкомментариев 9

В Windows для выполнения некоторых действий недостаточно иметь права администратора. Например, вы не сможете заменить или удалить системные файлы, некоторые ветки реестра, остановить системные службы или выполнить другие потенциально небезопасные действия, которые могут нарушить стабильность системы. Системному администратору в таких случая приходится назначать себе владельцем таких объектов или выполнять действия от имени системы. В этой статье мы рассмотрим, как запустить программу или командную строку в Windows от имени привилегированного аккаунта SYSTEM (Local System).

системные службы windows запущены от имени localsystem

Встроенная учетная запись SYSTEM используется диспетчером управления службами SCM (Service Control Manager) для запуска и управления системными службами. Из-под учетной записи System (может называться NT AUTHORITY\SYSTEM, Local System или Computer\LocalSystem)запускается большинство системных служб и процессов (в том числе ядро NT Kernel). Откройте оснастку управления службами services.msc и обратите внимание на службы, у который в столбце LogOnAs указано Local System. Эти службы запушены из-под учетной записи SYSTEM.

Запуск командной строки от Local System в старых версиях Windows (до Vista)

В снятых с поддержки Windows XP и Windows Server 2003 была интересная возможность, позволяющая запустить программу или же интерактивную командную строку (cmd) с правами системы через планировщик. Достаточно войти с правами администратора, открыть командную строку и набрать в ней:

at 12:23 /interactive cmd.exe

, где 12:23 – текущее время + одна минута (в 24 часовом формате).

После наступления указанного времени перед вами открывается окно командной строки, запущенное с правами Local System. Если вы выполнили эту команду в терминальном (rdp) сессии Windows Server 2003/XP, имейте в виду, что командная строка с правами System отображается только в консольной сессии (как подключиться к rdp консоли).

Запуск пограмм от имени системы в Windows

В Windows 10 запуск интерактивной строки с помощью команды at не поддерживается. Вместо него рекомендуется использовать schtasks.exe .

windows 10 команда at устарела и не поддерживается

Запуск программ от имени системы с помощью PSExec в Windows 10

Начиная с Windows 7 трюк с запуском интерактивной командной строки от имени системы через планировщик не работает. Для запуска команд от имени NT Authority\ System можно использовать утилиту PSExec.exe от Sysinternals.

Утилита PSExec не требует установки. Откройте командную строку с правами администратора (“Run as administrator”) перейдите в каталог, в котором находится исполняемый файл PSexec.exe и наберите:

psexec -i -s cmd.exe

параметр -i запускает приложение в интерактивном режиме (пользователь может взаимодействовать с программой на рабочем столе, если это параметр не указывать, процесс запускается в консольной сесии), —s означает что командную строку нужно запустить из-под системы

запуск интерактивной cmd.exe из psexec с правами system

После выполнения команды появится новое окно с командной строкой, запущенной из-под учетной записи NT Authority\System. Проверьте это, выполнив команду:

psexec whoami проверка что командная строка запущена от имени NT Authority\System

В открывшемся окне командной строки вы можете выполнять любые команды в контексте SYSTEM. Теперь вы сможете изменить, переименовать или удалить системные файлы/ветки реестра, владельцем которых является TrustedInstaller или SYSTEM. Все программы или процессы, которые вы запустите их этого окна также будут запущены с повышенными привилегиями LocalSystem. Например, можно остановить системную службу, или закрыть дескриптор занятого системой файла.

psexec -s \\msk-PCBuh2 cmd.exe

При появлении ошибки couldn’t install PSEXESVC service , убедитесь, что:

служба PSEXESVC уже запущена

  • командная строка запущена от имени администратора;
  • проверьте, возможно служба PSEXESVC уже запущена.

Есть еще ряд сторонних утилит для запуска программ от имени System (AdvancedRun , RunAsSystem, PowerRun), но я не вижу смысла использовать их смысла. Т.к. во-первых это сторонние утилиты, и вы не можете гарантировать что в их коде нет вредоносных закладок, и во-вторых официальная утилита PsExec от Microsoft отлично справляется с задачей.

jameszero.net

Запуск программ от имени SYSTEM и TrustedInstaller

В современных операционных системах Windows права администратора не позволяют выполнять такие действия, как замена, переименование или удаление системных файлов, редактирование некоторых ветвей реестра. Цель этого ограничения понятна – безопасность системы в целом и защита от выстрела в ногу пользователем в частности, но иногда возникает необходимость прибегнуть к такому радикальному средству, как запуск программ от имени SYSTEM или TrustedInstaller.

Разобраться в вопросе и собрать инструмент для получения полных прав меня заставила ошибка (?) в программе COMODO Internet Security 8 версии, которая добавляет к системным файлам Windows свои NTFS-потоки, и не удаляет их после отключения данной фичи или деинсталляции COMODO. Удалить показанные на скрине потоки удалось лишь в ручную с правами TrustedInstaller.

Запуск программ от имени SYSTEM и TrustedInstaller

За основу инструментария взята утилита DevxExec.exe , распространяемая по лицензии Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License (Бесплатно для некоммерческого использования при соблюдении условий лицензии).

При обычном запуске DevxExec.exe покажет параметры командной строки, которыми вы и можете воспользоваться для элевации прав, но я предлагаю более удобный вариант. После установки предлагаемого решения, в контекстном меню EXE и CMD-файлов при зажатом Shift добавятся пункты «Запуск от имени SYSTEM» и «Запуск от имени TrustedInstaller»

RunAsTrustedInstaller в контекстном меню

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

Таким образом, права любой программы можно повысить в два клика, но будьте осторожны, неумелое использование полномочий СИСТЕМЫ и TrustedInstaller с большой вероятностью приведёт к переустановке Windows, именно поэтому я спрятал пункты контекстного меню за Shift. Ну и конечно, не пренебрегайте резервным копированием , когда система ещё работает стабильно. Деинсталляция инструментария «Запуск программ от имени SYSTEM и TrustedInstaller» доступна из панели «Программы и компоненты»

  • No related posts.

Здравствуйте,подскажите как отредактировать .inf файл чтобы запуск программ работал,без зажатой клавиши Shift.

Добрый день!
Закомментируйте символом точка с запятой строки с параметром «Extended»:

;HKCR,»exefile\shell\runastrust»,»Extended»,0x0
.
.
;HKCR,»cmdfile\shell\runastrust»,»Extended»,0x0

Здравствуйте.Спасибо,большое всё получилось.
По похожему принципу у меня работает утилита: PsExec.exe для запуска от имени System.
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\exefile\shell\runassystem]
@=»Запуск от имени SYSTEM»
«Icon»=»C:\\Windows\\System32\\imageres.dll,73″

[HKEY_CLASSES_ROOT\exefile\shell\runassystem\command]
@=»C:\\Windows\\System32\\PsExec.exe -d -i -s \»%1\»»

но выскакивает окно cmd.exe пробовал добавить параметр -h ,но окно всё равно выскакивает,не могли бы Вы подсказать,можно ли скрыть окно cmd.exe.

Консольное окно без дополнительных утилит не скрыть. Возможно вам подойдёт новая версия INF-файла, в ней я добавил запуск программ от имени SYSTEM. Перекачайте по ссылке выше.

Кстати, в отличие от данного замечательного инструмента «Запуск от имени SYSTEM и TrustedInstaller»!,- утилита Руссиновича PsExec v2.11 ни в какую не захотела работать на Win 8.1, выдая ошибку «Error establishing communication with PsExec service on…» (и в поиске решения, сделал вывод, что PsExec сыпится error-ами не только у меня).

Здравствуйте.Новая версия INF-файла,это как раз то,что нужно. 2 в 1. Снимаю голову,склоняю шляпу. Ну или наоборот.

Здравствуйте, выражаю глубочайшую благодарность! Давно нуждался, и искал утилиту для запуска прог. от имени «Системы», для правки реестра — особенно для удаления защищенных разделов. Для удобства поставил вашу программу, чтоб запуск от System и TrustedInstaller отображались без зажатого Shift-а.

Спасибо за отзыв. Рад, что предложенный инструментарий оказался полезным не только мне.

Спс, запихну этот твик в свою сборочку системы.

psexec — крут и замечателен, но он не умеет давать права TrustedInstaller.
А теперь самое главное: процесс работающий от имени TrustedInstaller приобретает определенные возможности по копированию/удалению части системных файлов и разделов реестра, у которых проставлен овнер TrustedInstaller, но в остальном прав у этой учетки очень мало, учетка довольно сильно ограничена. Учетка SYSTEM в отличие от TrustedInstaller — наоборот имеет огромные полномочия (но при этом по умолчанию не имеет доступ записи к системным файлам и разделам реестра где овнер — TrustedInstaller).
Т.е. по сути Microsoft отделил часть полномочий от SYSTEM к почти бесправной TrustedInstaller дабы уменьшить вероятность повреждения системы процессами работающим от SYSTEM. Причем запустить процесс от TrustedInstaller не так уж и просто (штатно этим занимается служба «Установщик модулей Windows»), но на самом деле и не нужно.
Если стоит задача чтобы процесс получил ВСЕ полномочия как SYSTEM, так и TrustedInstaller — необходимо чтобы процесс был запущен от имени учетки SYSTEM, но при этом получил от службы «Установщик модулей Windows» тикет безопасности TrustedInstaller.
Нашел только одну утилитку, которая реально делает это именно так как требуется:
http://technopriest.ru/registry-edit-with-trusted-installer-permissions
но правда не очень понравилась функциональность — чуток перепилил программку под себя.

Полезная утилита, спасибо, возьму в коллекцию инструментов)

А нельзя ли для всех выложить Ваш переделанный вариант ? Особенно интересует нельзя ли встроить в контекст меню,по правой кнопке для .exe файлов.Функциональность действительно неудобная.

Утилита DevxExec.exe совместима только с 64-разрядными приложениями. Пример:
DevxExec.exe /user:TrustedInstaller C:\Windows\SysWOW64\reg.exe Import a.reg — ошибка: Error 193 (Create Process). %1 не является приложением Win32.
Использование 32-разрядной утилиты reg.exe — необходимое условие
автоматического перенаправления записи в реестре на ветку \Wow6432Node.
Можете ли подсказать решение?
Утилита TShel.exe реализована в двух версиях: для 32- и 64-разрядных приложений. Но там другая беда: 32-разрядная версия безоговорочно уничтожается антивирусными программами KIS и Avira (в других не проверял) как вирус, не подлежащий излечению.

Ошибка из-за отсутствия кавычек.
Вот так должно работать:

dp0DevxExec.exe» / user :TrustedInstaller «» %WinDir% \ SysWOW64 \ reg . exe » import » %

ПРОБЛЕМА 1:
При запуске программ с пробелом(-ами) в пути возникает ошибка:
Error 2 (Create Process). Не удается найти указанный файл.
CommandLine: «C:\Windows\devxexec.exe» /user:SYSTEM D:\programs\prog 20 my.exe

ПРИЧИНА: Требуются кавычки, например: «D:\programs\prog 20 my.exe»

ПРОБЛЕМА 2:
При запуске некоторых .EXE файлов от имени TrustedInstaller появляется ошибка:
Error 740 (Create Process). Запрошенная операция требует повышения.
CommandLine: «C:\Windows\devxexec.exe» /user:TrustedInstaller «D:\programs\prog 20 my.exe»

ПРОБЛЕМА 3:
Требуются такие же функции для запуска файлов с расширениями: .BAT; .MSI,; .MSC.

Запуск программ от имени администратора

Как запускать программу от имени администратора

Этот вариант подойдет в тех случаях, когда нужно запустить программу от имени администратора через EXE-объект или ярлык на рабочем столе либо в любом каталоге. Тогда по необходимому объекту надо просто кликнуть правой кнопкой мыши и в появившемся контекстном меню выбрать пункт «Запуск от имени администратора».

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

Способ 2: Меню «Пуск»

Некоторые пользователи задействуют меню «Пуск», чтобы там найти и запустить какую-либо программу. Там тоже присутствует пункт, отвечающий за открытие с повышенными правами. Для этого следует открыть само меню, через поиск отыскать приложение и справа щелкнуть по соответствующей надписи.

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

Способ 3: Панель задач

Часто используемые приложения пользователи привыкли добавлять на панель задач, чтобы получать возможность быстро их запустить. В этих ситуациях тоже может потребоваться использовать наивысшие полномочия. Тогда нужно нажать ПКМ по самому значку, потом снова по названию программы и выбрать пункт «Запуск от имени администратора«.

Использование панели задач для запуска программы от имени администратора

Способ 4: Горячая клавиша

Данный вариант рекомендуется, когда юзер хочет оптимизировать свое взаимодействие с компьютером, применяя стандартные горячие клавиши. Комбинация Ctrl + Shift + Enter для запуска ПО с повышенными правами сработает, если оно было изначально выделено или, например, найдено через поиск в меню «Пуск».

Использование горячей клавиши для запуска программы от имени администратором

Способ 5: «Командная строка»

«Командная строка» — стандартное приложение операционных систем Windows, которое позволяет в ручном режиме, используя различные утилиты, выполнять действия на компьютере. Относится это и к запуску софта или системных инструментов, что осуществляется так:

    Откройте «Командную строку» любым удобным методом. Детальнее обо всех возможных вариантах читайте в отдельной статье на нашем сайте по ссылке ниже.

Переход к Командной строке для запуска программы от имени администратора

Ввод команды для запуска программы от имени администратора

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

Отдельно хотелось бы уточнить про системную учетную запись Администратор. По умолчанию обычному пользователю пароль от нее может быть неизвестен, а также часто он попросту отсутствует. Тогда вводимая команда не сработает. Пароль потребуется узнать или сбросить его, задав новый. Об этом читайте развернуто в материалах от других наших авторов далее.

Способ 6: «Диспетчер задач»

Метод с использованием «Диспетчера задач» пригодится, если возможности запустить приложение через «Проводник» нет. Этот инструмент позволяет создать новую задачу, выставив для нее соответствующий уровень привилегий.

    Кликните правой кнопкой мыши по пустому месту на панели задач и выберите там пункт «Диспетчер задач».

Переход в Диспетчер задач для запуска программы от имени администратора

Создание новой задачи для запуска программы от имени администратора

Запуск программы от имени администратора через Диспетчер задач

Способ 7: Свойства исполняемого файла

Следующие методы будут направлены на настройку параметра, отвечающего за перманентный запуск конкретной программы от имени администратора. Сначала разберем вариант, когда софт открывается через исполняемый файл.

    Кликните по объекту ПКМ и через контекстное меню перейдите в «Свойства».

Переход в свойства исполняемого файла для запуска программы от имени администратора

Переход на вкладку Совместимость для запуска программы от имени администратора

Настройка параметров исполняемого файла для запуска программы от имени администратора

Способ 8: Свойства ярлыка

Если от исполняемого файла программы был создан ярлык, настроить рассматриваемую опцию через «Совместимость» не получится, поскольку там эта вкладка отсутствует. Однако можно задать дополнительные параметры запуска другим методом, который выглядит так:

    Сделайте по ярлыку клик правой кнопкой мыши и выберите «Свойства».

Переход в свойства ярлыка для запуска программы от имени администратора

Переход к дополнительным настройкам ярлыка для запуска программы от имени администратора

Настройка запуска программы от имени администратора через свойства ярлыка

Способ 9: Создание параметра в реестре

Последний возможный вариант запуска ПО от имени администратора, который практически не пользуется популярностью, — создание параметра в «Редакторе реестра». Тогда выбранное приложение при каждом запуске будет использовать повышенные права.

    Вызовите окно «Выполнить», используя стандартное сочетание клавиш Win + R. Введите там regedit и нажмите на Enter.

Переход к редактору реестра для настройки запуска программы от имени администратора

Переход по ключу реестра для настройки запуска программы от имени администратора

Создание параметра для запуска программы от имени администратора

Ввод названия для параметра при настройке запуска программы от имени администратора

Ввод значения для параметра при настройке запуска программы от имени администратора

В завершение отметим, что иногда пользователи сталкиваются с ситуацией, что строка «Запустить от имени администратора» просто отсутствует в «Проводнике». Чаще всего это вызвано системными сбоями, но иногда может случаться из-за настроек контроля учетных записей. Если вы столкнулись с такой проблемой, сначала советуем изменить параметры UAC, а в случае нерезультативности перейти к восстановлению системных файлов, о чем читайте далее.

ЗакрытьМы рады, что смогли помочь Вам в решении проблемы.
ЗакрытьОпишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

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

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