К статье
Практический материал

Администрирование · 11 мин

Как запустить 1С как службу Windows

Как запустить 1С как службу Windows: регистрация агента сервера 1С, запуск через sc и NSSM, настройка автозапуска, проверка работы и типичные ошибки.

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

Под «запуском 1С как службы» обычно понимают две разные задачи. Первая — регистрация агента сервера 1С:Предприятия как системной службы, что делается штатными средствами платформы. Вторая — запуск клиентского приложения или сторонней обработки в фоновом режиме, для чего применяются внешние инструменты вроде NSSM или планировщика задач.

Важно понимать ограничения: тонкий и толстый клиент 1С не рассчитаны на работу в качестве службы напрямую — у них есть графический интерфейс и привязка к пользовательской сессии. Корректно «службой» работает именно серверный компонент (ragent), а также регламентные задания, выполняемые на сервере. Ниже разобраны оба сценария с конкретными командами и проверками результата.

Что именно можно запустить как службу

Платформа 1С:Предприятие 8 имеет клиент-серверную архитектуру, и только серверная часть спроектирована для работы в фоновом режиме. Агент сервера (ragent.exe) — это процесс, который управляет кластером серверов, распределяет соединения и запускает рабочие процессы. Именно он регистрируется в диспетчере служб Windows и стартует вместе с операционной системой.

Файловые базы в клиентском режиме службой не запускаются. Если нужно выполнять фоновые операции над файловой базой (обмены, выгрузки, обновления), правильный путь — перевести базу на сервер 1С и использовать регламентные задания, либо запускать пакетный сеанс через планировщик задач Windows с правами конкретной учётной записи.

Регистрация агента сервера 1С при установке

Самый простой способ — отметить нужную опцию ещё на этапе установки. В установщике сервера 1С:Предприятия есть пункт «Установить сервер 1С:Предприятия 8 как сервис Windows». Если он выбран, программа установки сама создаст службу, пропишет параметры запуска и предложит указать учётную запись, от имени которой служба будет работать.

Для учётной записи службы рекомендуется создать отдельного пользователя (по умолчанию установщик предлагает USR1CV8) и выдать ему права на каталоги сервера: папку srvinfo с реестром кластера, каталоги журналов и временных файлов. После установки служба появится в оснастке services.msc и будет запускаться автоматически при старте системы.

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

Ручная регистрация службы через командную строку

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

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

cmd
cd "C:\Program Files\1cv8\8.3.22.1750\bin"
ragent.exe -instsrvc -usr .\USR1CV8 -pwd ПарольСлужбы
net start "Агент сервера 1С:Предприятия 8.3 (x86-64)"

Для удаления службы используется зеркальная команда с ключом -rmsrvc. Она пригодится при переустановке платформы или при переносе кластера на другую версию. Удалять службу нужно при остановленном агенте, иначе Windows может пометить её «на удаление» без фактического снятия до перезагрузки.

Порядок регистрации службы вручную
  1. 1
    Создайте отдельную учётную запись для службы и задайте ей надёжный пароль
  2. 2
    Выдайте учётной записи права на каталог srvinfo и папки платформы
  3. 3
    Откройте командную строку от имени администратора
  4. 4
    Выполните ragent.exe -instsrvc с указанием пользователя и пароля
  5. 5
    Запустите службу через services.msc или командой net start
  6. 6
    Проверьте подключение клиентом и наличие баз в консоли кластера

Настройка нестандартных портов и нескольких агентов

По умолчанию агент сервера использует порт 1540, рабочие процессы — диапазон 1560–1591. Если на одном компьютере должны работать несколько версий платформы или несколько независимых кластеров, каждому агенту назначаются собственные порты через параметры -port, -regport и -range в строке запуска службы.

Параметры прописываются в реестре службы: ключ ImagePath в ветке HKLM\\SYSTEM\\CurrentControlSet\\Services содержит полную команду запуска. Изменять её удобнее всего заново зарегистрировав службу с нужными ключами, либо аккуратно отредактировав значение через regedit с последующей перезагрузкой службы.

При нестандартных портах не забудьте открыть их в брандмауэре Windows и указать порт в строке подключения клиентов (например, Сервер:1541). Несовпадение портов — одна из самых частых причин ситуации «служба работает, а клиенты не подключаются».

Запуск клиентских задач в фоне без службы

Если задача — периодически выполнять обработку в файловой базе (обмен с сайтом, выгрузка отчётов, обновление курсов), клиент 1С запускают в пакетном режиме через планировщик заданий Windows. Создаётся задача с триггером по расписанию, действием «запуск программы» и параметрами командной строки 1С: путь к базе, пользователь, пароль и имя обработки или команда Execute.

В свойствах задачи важно включить режим «Выполнять вне зависимости от регистрации пользователя» и указать учётную запись с доступом к базе. Это фактически заменяет службу: задача стартует без входа в систему и работает в фоне. Завершение сеанса обеспечивает команда завершения работы в самой обработке или параметр /DisableStartupDialogs с явным выходом.

cmd
"C:\Program Files\1cv8\8.3.22.1750\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Trade" /NАдминистратор /PПароль /Execute"D:\Scripts\obmen.epf" /DisableStartupDialogs

Альтернатива — утилита NSSM (Non-Sucking Service Manager), которая оборачивает любой исполняемый файл в службу Windows. Она подходит для сопутствующих скриптов и агентов обмена, но для самого клиента 1С это обходной путь: у процесса не будет корректной интерактивной сессии, и диагностика ошибок усложнится. Предпочтительный вариант для регулярных задач — всё же сервер 1С с регламентными заданиями.

Сравнение вариантов фонового запуска

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

Штатный и самый надёжный способ для клиент-серверного режима; требует лицензии на сервер 1С

Планировщик задач + пакетный режим

Подходит для файловых баз и разовых регламентных операций; не даёт постоянно работающего процесса

NSSM или srvany

Универсальная обёртка в службу для скриптов и утилит; для клиента 1С — обходной путь с ограниченной диагностикой

Проверка работы службы и диагностика

После регистрации убедитесь, что служба действительно работает: откройте services.msc, найдите «Агент сервера 1С:Предприятия» и проверьте состояние «Выполняется» и тип запуска «Автоматически». Затем запустите консоль администрирования серверов 1С, добавьте сервер и раскройте список кластеров — базы должны быть видны.

Функциональная проверка — подключение клиента: создайте в списке информационных баз новую базу на сервере 1С и войдите в неё. Если клиент подключается и работает, цепочка «служба → агент → рабочий процесс → СУБД» функционирует корректно.

При проблемах первым делом смотрите журнал событий Windows (раздел «Система» и «Приложение») и технологический журнал платформы. Ошибка старта службы с кодом о доступе почти всегда означает нехватку прав учётной записи на каталог srvinfo или неверный пароль, указанный при регистрации.

Контрольные точки

Как проверить результат

Состояние службы в services.msc
Норма

Статус «Выполняется», запуск «Автоматически»

Тревожный признак

Служба остановлена или падает сразу после старта

Процесс ragent.exe в диспетчере задач
Норма

Процесс есть, запущен от учётной записи службы

Тревожный признак

Процесс отсутствует или работает от администратора интерактивно

Консоль кластера
Норма

Кластер виден, список баз открывается

Тревожный признак

Ошибка подключения к агенту, пустой список

Подключение клиента
Норма

База открывается в режиме Предприятие

Тревожный признак

Ошибка соединения с сервером 1С

Типичные ошибки и ограничения

Частая ошибка — регистрация службы от имени обычного администратора домена вместо выделенной учётной записи. Когда у администратора меняется пароль по политике безопасности, служба перестаёт стартовать после первой же перезагрузки. Для служб используйте отдельную учётную запись с паролем без срока действия или управляемую учётную запись службы (gMSA) в доменной среде.

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

Наконец, не пытайтесь запускать как службу интерактивный клиент 1С с графическим интерфейсом: службы в Windows работают в изолированной сессии без рабочего стола, и приложение с окнами либо завершится с ошибкой, либо «зависнет» невидимым. Для фона — пакетный режим, регламентные задания или сервер.

Типичные ошибки
01
Служба зарегистрирована от личной учётной записи администратора — после смены пароля агент перестаёт стартовать
02
Не выданы права на каталог srvinfo — служба стартует и сразу падает с ошибкой доступа
03
Две версии платформы используют одни порты — клиенты подключаются не к тому кластеру или получают отказ
04
Попытка запустить оконный клиент 1С как службу — процесс зависает в изолированной сессии без интерфейса
05
В планировщике не включён режим «вне зависимости от регистрации пользователя» — задача не запускается без входа в систему

Частые вопросы

Можно ли запустить файловую базу 1С как службу?

Нет, файловая база — это набор файлов, а не работающий процесс. Службой может быть агент сервера 1С (клиент-серверный режим) или отдельный фоновый исполнитель. Для файловой базы регламентные операции выполняют через планировщик задач с запуском клиента в пакетном режиме.

Служба зарегистрирована, но не стартует. С чего начать?

Откройте просмотр событий Windows и найдите ошибку службы — чаще всего это неверный пароль учётной записи или отсутствие прав на каталог srvinfo. Проверьте пароль, выдайте права на папки платформы и попробуйте запустить ragent.exe вручную из командной строки с теми же параметрами, чтобы увидеть текст ошибки.

Нужно ли перерегистрировать службу после обновления платформы?

Да, если обновление ставит новую версию платформы в отдельный каталог. Старая служба ссылается на старый ragent.exe. Правильный порядок: остановить старую службу, удалить её ключом -rmsrvc, установить новую версию и зарегистрировать службу из её каталога bin.

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

Зарегистрируйте вторую службу с уникальными портами через параметры -port, -regport и -range, а также отдельным каталогом srvinfo. Каждому кластеру нужен свой набор портов, иначе агенты будут конфликтовать при старте.

Чем NSSM отличается от штатной регистрации службы?

NSSM — универсальная обёртка, которая превращает любую программу в службу и умеет перезапускать её при падении. Для агента сервера 1С она не нужна — у ragent есть штатные ключи регистрации. NSSM оправдан для вспомогательных скриптов и агентов обмена, у которых нет собственной поддержки служб.

Итог

Что важно запомнить

Как служба Windows штатно запускается агент сервера 1С — через опцию установщика или команду ragent.exe -instsrvc с выделенной учётной записью. Клиентское приложение службой не работает: для фоновых задач в файловом режиме используйте планировщик задач и пакетный режим, а в клиент-серверном — регламентные задания. После настройки всегда проверяйте состояние службы, видимость кластера в консоли и реальное подключение клиента.