Установить программу как службу Windows 10

Службами в Windows называются процессы, стартующие вместе с системой, не имеющие графического интерфейса и работающие в фоновом режиме, причем большинство служб запускается и работают независимо от того, вошел ли пользователь в свою учетную запись или нет. Эту особенность операционной системы можно использовать в практических целях, например, создать собственную службу, которая станет отслеживать изменения в реестре или отправку пакетов TCP/IP .

В статье от 07 декабря 2020 года мы уже рассматривали процедуру создания служб в Windows 10, предлагая использовать для этой цели стороннюю утилиту Non-Sucking Service Manager, укомплектованную простейшим графическим интерфейсом.

Сегодня мы предлагаем познакомиться со способами создания служб исключительно средствами операционной системы. Используйте их, если в качестве службы вам нужно установить процесс исполняемого файла EXE , так как для назначения службами процессов скриптов всё же удобнее использовать Non-Sucking Service Manager.

Командная строка

Для создания служб в Windows можно использовать встроенную консольную утилиту sc.exe, предназначением которой как раз является добавление, удаление, опрос и конфигурирование системных служб.

Запустите командную строку от имени администратора и выполните в ней команду следующего вида:

sc create MyService binPath=»C:service.exe» DisplayName= «ServiceName» type=own start=auto

Sc create

Как нетрудно догадаться, C:service.exe – это путь к исполняемому файлу службы, ServiceName – отображаемое имя (псевдоним) , а MyService – фактическое имя службы, к которому нужно будет обращаться в процессе настройки службы. Параметр type задает статус, в параметр start – тип запуска.

Службы

В данном примере служба имеет статус «Отключена», а тип запуска у нее выставлен «Автоматически», в чем можно убедиться, открыв свойства добавленной службы в оснастке управления службами.

Свойства службы

Если служба станет больше не нужна, вы всегда сможете ее удалить командой:

sc delete MyService

Sc delete

PowerShell

Средствами создания и управления службами обладает также и консоль PowerShell .

Читайте также:
Не могу убрать программу из панели задач Windows 10

Запустите ее от имени администратора и выполните следующую команду:

New-Service -Name MyService -BinaryPathName C:service.exe -DisplayName «ServiceName» -Description » Service Description»

New-Service

Ключевыми параметрами являются -Name и -BinaryPathName: первый принимает произвольное имя устанавливаемой службы, а второй – путь к исполняемому файлу службы.

Моя служба

Параметры -DisplayName и -Description являются дополнительными, они задают отображаемое имя и описание службы.

Свойство моей службы

А вот с удалением службы в PowerShell не всё так однозначно.

Если у вас установлена консоль шестой или более новой версии, службу можно будет удалить командой:

Remove-Service -Name MyService

В противном случае придется использовать вот такую хитрую конструкцию, где MyService – имя службы:

(Get-WmiObject win32_service -Filter «name=’MyService'»).delete()

Get-WmiObject

Для тех, кто не в курсе: узнать текущую версию PowerShell можно командой host , билд будет указан в строке Version.

Host

И возвращаясь к службам отметим, что между службами, созданными в командной строке и PowerShell, нет никакой разницы, поэтому для их удаления в том и другом случае вы можете использовать команду sc delete MyService.

Источник: www.white-windows.ru

Как создать службу в Windows 10

Как создать службу в Windows 10

Назначить любой процесс системной службой в Windows 10 можно с помощью маленькой консольной утилиты sc.exe, входящей в состав операционной системы. Для обращения к ней можно использовать как классическую «Командную строку», так и консоль «PowerShell».

  1. Запустите от имени администратора «Командную строку» или «PowerShell». Первую можно открыть из поиска Windows, вторую – из контекстного меню кнопки «Пуск». Как создать службу в Windows 10-1
  2. Сформируйте команду следующего вида: sc create MyService binPath=»C:MyService.exe» DisplayName= «MyNewService» type=own start=auto . В качестве параметра MyService binPath укажите свой путь к исполняемому файлу создаваемой службы, а в качестве параметра DisplayName — имя службы, которое станет отображаться в оснастке управления службами.
  3. Вставьте сформированную команду в консоль и нажмите клавишу ввода. Как создать службу в Windows 10-2

Как создать службу в Windows 10-3

Готово, осталось только проверить корректность создания службы в системной оснастке «Службы», запустить которую можно командой services.msc в диалоговом окошке, вызванном клавишами Win + R.

Читайте также:
Какой программой открыть файл png в Windows 10

Способ 2: Консоль «PowerShell»

Необходимыми средствами создания служб в Windows 10 располагает другой штатный инструмент – консоль «PowerShell».

  1. Запустите «PowerShell» от имени администратора. Как создать службу в Windows 10-4
  2. Сформируйте команду вида New-Service -Name MyService -BinaryPathName C:MyService.exe -DisplayName «Отображаемое имя службы» -Description «Описание службы» . Имя и описание службы могут быть произвольными.
  3. Вставьте команду в консоль и нажмите клавишу ввода. Как создать службу в Windows 10-5

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

Способ 3: Сторонние программы

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

Скачать Non-Sucking Service Manager с официального сайта

  1. Скачайте архив с утилитой с сайта разработчика и распакуйте в удобное расположение — к примеру, поместите исполняемый файл nssm.exe в корень системного диска.
  2. Запустите «Командную строку» от имени администратора.
  3. Выполните команду C:nssm.exe install MyService , где MyService – название создаваемой службы. Как создать службу в Windows 10-6
  4. В открывшемся окошке инсталлятора в поле «Patch» укажите полный путь к исполняемому файлу службы и нажмите кнопку «Install service». Как создать службу в Windows 10-7

Как создать службу в Windows 10-8

  • Служба будет установлена, подтверждением чему станет появление окошка с уведомлением «Service *Name* installed successfully!». Нажмите в нем «OK» и закройте «Командную строку».
  • Остальные поля в окошке инсталлятора службы заполнять не обязательно, кроме тех случаев, когда в качестве службы устанавливается командный файл, например CMD, BAT или PS1. В этом случае в поле «Patch» указывается путь к приложению-обработчику, а в поле «Arguments» – путь к файлу скрипта.

    Источник: lumpics.ru

    Установка как приложения-службы

    Помимо выполнения в качестве исполняемого файла локального сервера (EXE), com-объект также может упаковать себя для запуска в качестве приложения-службы при активации локального или удаленного клиента. Службы поддерживают множество полезных и пользовательских функций администрирования, включая локальный и удаленный запуск, остановку, приостановку и перезапуск, а также возможность устанавливать сервер для запуска под определенной учетной записью пользователя и станцией окон.

    Читайте также:
    Программа не запускается на Windows 10 x64

    Объект, написанный как услуга, устанавливается для использования COM путем установки значения LocalService под ключом AppID и выполнения стандартной установки службы.

    Классы также могут быть настроены для запуска под определенной учетной записью пользователя при активации удаленным клиентом без записи в качестве приложения-службы. Для этого класс устанавливает имя пользователя и пароль, которые будут использоваться при запуске SCM своего локального сервера.

    Если класс настроен таким образом, вызовы CoRegisterClassObject с этим CLSID завершаются ошибкой, если процесс не был запущен COM от имени фактического запроса на активацию. Другими словами, классы, настроенные для запуска от имени конкретного пользователя, могут не быть зарегистрированы под любым другим удостоверением.

    Имя пользователя берется из именованного значения RunAs под ключом APPID класса. Если имя пользователя — Interactive User, код класса выполняется в контексте безопасности пользователя, вошедшего в систему, и подключен к интерактивной станции окон.

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

    Сервер, зарегистрированный с помощью LocalService или RunAs , может зарегистрировать объект в работающей таблице объектов, чтобы разрешить любому клиенту подключаться к нему. Для этого вызов сервера iRunningObjectTable::Register должен задать флаг ROTFLAGS_ALLOWANYCLIENT. Этот бит должен иметь имя исполняемого файла в разделе AppID реестра, который ссылается на AppID для исполняемого файла. Сервер «activate as activateor» (не зарегистрирован как LocalService или RunAs) может не зарегистрировать объект с этим флагом.

    Источник: learn.microsoft.com

    Рейтинг
    ( Пока оценок нет )
    Загрузка ...
    EFT-Soft.ru