четверг, 3 июня 2021 г.

Создание службы в Windows 10 (sc, powershell)

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

Создание службы с помощью программы Sc.exe


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

позволяет взаимодействовать с функциями API и выполнять операции со службами Windows 10. Несмотря на то, что данная программа даже не обладает графическим интерфейсом, она является мощным инструментом и может контролировать состояние служб, создавать, редактировать и управлять ими.


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


Чтобы создать новый сервис, откройте командную строку от имени администратора и запустите команду «Sc create». Она запишет новую службу к базе диспетчера служб. Синтаксис команды представлен следующим образом:


sc create [ServiceName] [binPath= ] <параметр1= > <параметр2= >


Где:


ServiceName — данным параметром определяется имя раздела службы в реестре;

Данное имя не совпадает с тем именем, которое будет отображаться диспетчере (например, в Services).

BinPath — в этом параметре записываем путь, где хранится исполняемый файл.


Чтобы было понятнее, в качестве примера, мы создадим службу «MySevice». При этом, отображаемое имя будет «My New Service». Указываем тип службы и включаем автозапуск:


Sc create MyService binPath=C:\MyService\MyService.exe DisplayName=″My New Service″ type=own start=auto


Теперь откройте оснастку «Services» и взгляните на то, что получилось.


Параметры службы, которая уже была создана и запущена, можно изменить при помощи команды Sc config. К примеру, мы заменим имя службы, которое отображается как:


Sc config MyService DisplayName=″My Service″


А еще можно избавиться от службы полным ее удалением. Для этого используйте такую команду:


Sc delete MyService


С помощью утилиты PowerShell


Ну а с помощью такого мощного инструмента, как PowerShell можно хоть горы двигать. Он обладает большими возможностями и способен работать с различными службами. Здесь, для добавления новой службы, существует специальная команда «New -Service». Давайте попробуем новую службу, как и в прошлом примере, будем использовать те же имена и значения, только добавим дополнительный параметр, в виде описания. И так, команда, для создания нового сервиса, выглядит следующим образом:


New-Service -Name MyService -BinaryPathName C:\MyService\MyService.exe` -DisplayName ″My New Service″ -Description ″Very Important Service !!!″


Для изменения параметров служб, существует команда «Set -Service»:


Set-Service -Name MyService -Description ″Not Very Important Service″ -StartupType Manual


Если не считать дополнительную возможность добавления описаний к службам, PowerShell обладает таким же функционалом, как и утилита Sc.exe. Но есть один маленький минус — здесь нет простой команды для удаления службы. Поэтому приходиться использовать такой вот, немного мудреный, код:


(Get-WmiObject win32_service -Filter ″name=′MyService′″).delete()


Так что утилита sc.exe, в этом плане будет получше.

Источник: здесь

Комментариев нет:

Отправить комментарий