Створення служби Windows 10

Рекламний блок

Буває, що є певний виконуваний файл, який необхідно зареєструвати в системі як служби Windows 10. Існує безліч різних способів, які дозволяють це зробити. Зараз ми розглянемо два основних і перевірених методу створення служби Windows.

Створення служби за допомогою програми Sc.exe

Перший спосіб дозволяє створювати служби, використовуючи утиліти, що працюють через командний рядок. В даному випадку використовується інструмент sc.exe. Він дозволяє взаємодіяти з функціями API і виконувати операції зі службами Windows 10. Незважаючи на те, що дана програма навіть не володіє графічним інтерфейсом, вона є потужним інструментом і може контролювати стан служб, створювати, редагувати і керувати ними.
Якщо створювати службу, з допомогою sc.exe, то не виникає необхідності в зміні параметрів реєстру та списку служб в диспетчері. Крім того, утиліта здатна працювати зі службами на локальному комп'ютері, і виконувати ті ж дії на віддалених машинах.
Щоб створити новий сервіс, відкрийте командний рядок від імені адміністратора і запустіть команду «Sc create». Вона запише нову службу до бази диспетчера служб. Синтаксис команди представлений наступним чином:


sc create [ServiceName] [binPath= ]

Де:


  • ServiceName — цим параметром визначається ім'я розділу служби в реєстрі;
    Це ім'я не збігається з тим іменем, яке буде відображатися диспетчері (наприклад, в Services).
  • BinPath — в цьому параметрі записуємо шлях, де зберігається виконуваний файл.
  • Щоб було зрозуміліше, в якості прикладу, ми створимо службу «MySevice». При цьому, коротке ім'я буде «My New Service». Вказуємо тип служби і вмикаємо автозапуск:


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

    Тепер відкрийте оснастку «Services» і погляньте на те, що вийшло:

    оснастка «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

    параметры службы windows 10

    Якщо не вважати додаткову можливість додавання описів до служб, PowerShell володіє таким же функціоналом, як і утиліта Sc.exe. Але є один маленький мінус — тут немає простої команди для видалення служби. Тому доводиться використовувати такий ось, трохи мудрований, код:


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

    Так що утиліта sc.exe в цьому плані буде краще. І з цієї причини я віддаю перевагу саме її.

    Рекламний блок