Простое добавление новых служб сервера 1С или изменение параметров у существующих (с исходниками).

Небольшое .NET-приложение, позволяющее в удобном интерфейсе очень быстро создавать новые службы сервера 1С, изменять параметры по существующим службам, а также удалять ставшие ненужными.
Изменение служб производится с помощью WinAPI, т.е. "родными" средствами Windows.

В первую очередь, не забываем, что программу надо запускать от имени Администратора, иначе операционная система не даст ничего сделать.

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

Пока пользователь не выделит никакую строку — доступна будет только кнопка «Добавить новую службу», по которой откроется окно заполнения необходимых параметров.

Но вбивать все заново ведь лень, поэтому проще выделить уже существующую службу и скопировать ее (кнопка «Добавить» изменится на «Скопировать»).

После нажатия «Скопировать» открывается следующее окно:

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

Необходимо поменять как минимум:
1) Отображаемое имя службы — операционная система контролирует уникальность этих имен
2) Каталог файлов кластера — две службы не могут и ни в коем случае не должны работать с одним каталогом. Укажите новое, пусть и несуществующее имя, служба сама создаст каталог при запуске (если, конечно, у нее будет достаточно прав)
3) Рабочие порты — у каждой службы 1С они должны быть уникальны. Проще всего щелкнуть «+1000» пару раз и программа увеличит на 1000 все четыре необходимые значения.

Галку по отладке ставите исходя из потребностей.

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

Нажимаем «Сохранить изменения».

Если операция завершится успешно, то служба добавится в список:

 Можем теперь ее запустить — выделяем и жмем внизу «Запустить»

 

Служба больше стала не нужна?

Выделяем и жмем «Удалить выделенную службу».

Программа попросит подтвердить удаление и затем выполнит его.

 

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

Замечания, предложения и конструктивную критику оставляйте в комментариях.

 

Исходные коды

Актуальная версия всегда доступна на github — https://github.com/alekseybochkov/ServiceInstaller1C/

Для работы с исходными кодами требуется Visual Studio 2024 с поддержкой Visual Basic (кстати версия Visual Studio 2024 Community Edition бесплатна!).

Опубликовано по лицензии GNU GPL — https://ru.wikipedia.org/wiki/GNU_General_Public_License

31 Comments

  1. AnryMc

    Я файл не скачивал, но идея мне понравилась. Сам однажды потерял почти день добавляя и удаляя это чудо… (порт оказался занят…)

    Если бы он еще перед записью проверял, что данные порты незаняты другой службой, а то стандартными средствами — «геморой».

    Reply
  2. PiccaHut001

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

    Reply
  3. yuraos

    Особа полезно иметь возможность быстро включить-выключить отладку.



    Иногда так паришся с отладкой кода на стороне сервера

    в этих долбанных НЕДОУПРАВЛЯЕМЫХ ФОРМАХ !!!



    А на-горячую, не убивая юзверей, это можно сделать ???

    Reply
  4. Aleksey.Bochkov

    (1) — попробую позже добавить проверку портов.

    (3) — без перезапуска службы отладку включить/отключить нельзя.

    Reply
  5. yuraos

    (3)(4)

    Жалко с отладкой то как получается.

    А «Отладка» — это свойство всего кластера серверов ?

    Или можно замутить кластер из двух серверов 1С

    один основной — рабочий,

    а второй — «отладочный»

    и каким-то образом «загонять» туда подключения для отладки кода на сервере ???

    Reply
  6. yuraos

    (5)

    PS:

    Наверное также было бы интересно рулить составом кластера серверов.

    Добавлять новые сервера, рабочие процессы…

    Правда если дальше двигаться в этом направлении, то альтернативная

    консоль администрирования серверами 1С получится.

    :)))

    Ну может и стоит так и сделать,

    а то штатная консолька через чур уж сырмяжная.

    Reply
  7. Tahallus

    Вешь полезная, особенно для разработчиков которым иногда приходиться по несколько версий сервером использовать

    Reply
  8. NosovK

    Вообще менеджер кластеров 1с очень не удобный. Это базовый функционал, которого в нем нет 🙂

    Я похожую операцию делал при помощи типового regedit… Но програмкой конечно удобнее.

    Говорят в 1с 8.3 сделали нормальный менеджер.

    Reply
  9. alekseies

    Приложение, позволяющее в удобном интерфейсе очень быстро создавать новые службы сервера 1С, изменять параметры по существующим службам, а также удалять ставшие ненужными очень часто необходимо. Здесь меньше движений. На 32 разрядных серверах службы приходится часто перезапускать, плюсую …………….

    Reply
  10. xzorkiix

    Отлично. Забрал.

    Reply
  11. asved.ru

    Было бы неплохо автоматически добавлять разрешение полного доступа для указанного пользователя на каталог файлов кластера.

    Reply
  12. bforce

    За старания и интерфейс плюс.

    Reply
  13. zzerro

    А каков порядок действий, если нужно запустить еще одну службу, но с другой версией 1с?

    Reply
  14. Artemuch2

    Вот бы эта штука сама следила за загрузкой служб добавляла и ли удаляла службы при необходимости та так же балансировала нагрузкой на службы и вешала службу на определенное ядро процессора. А так прикольная штука но нужна буквально на 10 минут в начале установки а далее нет

    Reply
  15. webester

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

    Reply
  16. Ish_2

    (6) У меня не в тему вопрос :

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

    Почему нужно возвращать сервер «из отладки» ?

    Reply
  17. Aleksey.Bochkov

    (13) копируете существующую службу и меняете путь к исполняемому файлу (от другой версии платформы).

    Reply
  18. zzerro

    (17) Тогда вопрос такой: как инсталлировать новую версию платформы, если она сама будет создавать новую службу при установке?

    Reply
  19. zzerro

    (18) Уже не актуально, разобрался, очень помогло. Плюс за разработку, сэкономила время на запуск второго экземпляра сервера..

    Reply
  20. yuraos

    (17)

    а трудно сделать выпадающую менюшку

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

    с автоматической установкой пути к исполняемому файлу?

    Reply
  21. yuraos

    (20)

    и еще одно замечание:

    у меня почему-то не получается с помощью твоей прикладухи

    запустить одновременно два разных сервера 1С.

    если не остановить первую (работающую) службу,

    то при попытке запуска второй службы приложение виснет.



    программное окружение:

    Операционная система:

    — Win-7x64bit

    Сервера 1С:

    — 8.1.15-32bit

    — 8.2.14-32bit

    Reply
  22. yuraos

    (21)

    в прочем возможно дело в самой операционке.

    поскольку из оснастки «Управление компьютером»

    тоже не удается одновременно запустить

    две службы агента сервера 1С.

    Reply
  23. Aleksey.Bochkov

    (20) yuraos, не совсем понимаю что требуется, но ведь исходники приложены :).

    VB.net для 1С-программиста достаточно легок в освоении.

    (22) — скорее всего службы по портам пересекаются. Покажите строки запуска от обоих служб.

    Reply
  24. Rothschild

    (23)

    текущая версия для 8.3 работать будет???

    ***

    а то тут какие-то «хакеры» предлагают «альтернативу»:

    http://infostart.ru/public/255538/

    Reply
  25. Aleksey.Bochkov

    (24) Rothschild, должно работать

    Reply
  26. Evgen54

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

    Reply
  27. Dilovar9

    Так и должно быть?

    Reply
  28. Aleksey.Bochkov

    (27) Dilovar9,

    Нет, такого быть не должно.

    Исходники выложены на github и там можно убедиться, что ничего криминального в коде нет.

    Возможно, антивирусам не нравится создание/удаление служб как таковых, т.к. это операция требует административных прав.

    Reply
  29. catena

    Ахив битый.

    Reply
  30. Gladkov_Anton

    При скачивании архив удаляется системой с сообщением о вирусе

    Reply
  31. Aleksey.Bochkov

    (30) вирусов нет. Как вариант, попробовать собрать приложение из исходных кодов — https://github.com/alekseybochkov/ServiceInstaller1C

    Reply

Leave a Comment

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