Служба ragent больше не нужна: чистое удаление сервера 1С:Предприятия 8.3

· 9 мин

Содержание

Чтобы удалить агент сервера 1С, остановите службу 1C:Enterprise 8.3 Server Agent, снимите её регистрацию командой ragent.exe -rmsrvc или sc delete, затем удалите компонент «Сервер 1С:Предприятия 8» через Панель управления → Программы и компоненты. Каталог srvinfo с реестром кластера после этого остаётся на диске — его стоит сохранить в архив, а потом уже стирать.

Агент сервера — это процесс ragent.exe, который работает как служба Windows (или демон в Linux). Он слушает порт 1540, запускает менеджер кластера rmngr.exe и рабочие процессы rphost.exe. Удаляют его при переезде на другой сервер, при смене версии платформы, когда служба «зависла» на старом релизе, или когда сервер 1С поставили по ошибке на рабочий компьютер.

Агент сервера 1С: из чего он состоит и когда его удалять

Под «агентом сервера» обычно понимают весь серверный комплект 1С на машине. Он оставляет следы в нескольких местах:

  • 🧩 Служба Windows — запись в HKLM\SYSTEM\CurrentControlSet\Services, отображаемое имя вида 1C:Enterprise 8.3 Server Agent (x86-64).
  • 📁 Файлы платформы — C:\Program Files\1cv8\8.3.xx.xxxx\bin, где лежат ragent.exe, rmngr.exe, rphost.exe.
  • 🗂 Каталог данных кластера — по умолчанию C:\Program Files\1cv8\srvinfo. Внутри папка reg_1541 и файл 1CV8Clst.lst — реестр кластера со списком информационных баз.
  • 👤 Пользователь USR1CV8 — локальная учётная запись, от которой установщик запускает службу.
  • 🔌 Правила брандмауэра для портов 1540, 1541 и диапазона 1560–1591, если их создавали.

Когда удаление действительно нужно:

СитуацияЧто делать
Сервер переезжает на другую машинуУдалить полностью после переноса баз
Обновили платформу, а служба смотрит на старую версиюУдалить только регистрацию службы и зарегистрировать новую
На компьютере две службы агента разных версийУдалить лишнюю, оставить одну на порту 1540
Сервер поставили случайно вместе с клиентомУбрать компонент через «Изменить», клиент оставить

При смене версии платформы удалять весь сервер не обязательно. Достаточно переназначить службу на новый ragent.exe — это быстрее и не трогает реестр кластера.

Что сделать до удаления агента сервера

Удаление службы рвёт все сеансы пользователей и фоновые задания. Делайте это вне рабочего времени и предупредите людей заранее.

Перед удалением сервера 1С
Выполнено: 0 / 6

Несколько пояснений к списку:

  1. Список баз. Откройте «Администрирование серверов 1С Предприятия», разверните кластер → Информационные базы. Для каждой базы в свойствах видно сервер СУБД, тип СУБД и имя базы данных. Перепишите это: после удаления реестра кластера базы придётся регистрировать заново.
  2. Сами данные. Базы на MS SQL или PostgreSQL удаление агента не затрагивает — они живут в СУБД. Но резервную копию баз сделайте до любых действий: при ручной чистке легко ошибиться каталогом.
  3. Параметры службы. Посмотрите строку запуска службы:
sc qc "1C:Enterprise 8.3 Server Agent (x86-64)"

В поле BINARY_PATH_NAME будет что-то вроде ragent.exe -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo". Ключ -d показывает, где реальный каталог данных кластера.

  1. Лицензии. Программные лицензии хранятся в C:\ProgramData\1C\licenses. Удаление сервера их не стирает. Если сервер переедет, лицензию на новой машине придётся активировать заново или восстанавливать по пин-коду — по правилам вашего лицензионного соглашения.

Точное имя службы на вашем сервере может отличаться: у старых установок нет суффикса (x86-64), у служб, созданных вручную, имя произвольное. Узнать его можно так: sc query state= all | findstr /i "1C".

Способ 1. Удаление сервера 1С через «Программы и компоненты»

Самый безопасный путь — штатный деинсталлятор. Он сам останавливает и снимает службу, если она была зарегистрирована установщиком.

Полное удаление версии платформы

  1. Откройте Панель управления → Программы и компоненты (или appwiz.cpl через Win+R).
  2. Найдите строку «1С:Предприятие 8 (x86-64)» с номером версии, на которой работает агент.
  3. Нажмите «Удалить» и дождитесь окончания.
  4. Перезагрузите сервер, если установщик попросит.

На машине может стоять несколько версий платформы. Удаляйте ту, на которую указывает BINARY_PATH_NAME из предыдущего раздела.

Удаление только серверного компонента

Если клиент 1С на этой машине нужен, а сервер — нет:

  1. В «Программах и компонентах» выделите нужную версию и нажмите «Изменить».
  2. В мастере выберите вариант изменения состава компонентов.
  3. Для компонента «Сервер 1С:Предприятия 8» выберите «Данный компонент будет недоступен».
  4. Нажмите «Далее» и завершите мастер.

Клиентская часть и конфигуратор останутся, служба и серверные модули уйдут.

Способ 2. Удаление службы агента из командной строки

Этот путь нужен, когда деинсталлятор не убрал службу, когда службу регистрировали вручную или когда надо удалить именно службу, а платформу оставить. Командную строку запускайте от имени администратора.

Через ragent.exe

У агента есть собственные ключи для работы со службой: -instsrvc регистрирует, -rmsrvc снимает регистрацию, -stop останавливает.

cd "C:\Program Files\1cv8\8.3.24.1548\bin"
ragent.exe -stop
ragent.exe -rmsrvc

Номер версии в пути подставьте свой. Команда сработает, если служба создавалась этой же версией ragent.exe с именем по умолчанию.

Через sc

Универсальный вариант — системная утилита sc. Ей неважно, как создавалась служба:

sc query state= all | findstr /i "1C"
sc stop "1C:Enterprise 8.3 Server Agent (x86-64)"
sc delete "1C:Enterprise 8.3 Server Agent (x86-64)"

Пробел после state= обязателен — такой у sc синтаксис. Имя службы берите из строки SERVICE_NAME, а не из отображаемого названия.

То же в PowerShell:

Get-Service | Where-Object { $_.DisplayName -like "*1C*" }
Stop-Service -Name "1C:Enterprise 8.3 Server Agent (x86-64)" -Force
sc.exe delete "1C:Enterprise 8.3 Server Agent (x86-64)"

В PowerShell пишите именно sc.exe: просто sc там — псевдоним другой команды.

Тихое удаление пакета через msiexec

Для удаления на нескольких серверах сценарием подходит msiexec. Код продукта найдите в реестре:

Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\* |
  Where-Object { $_.DisplayName -like "1C*" } |
  Select-Object DisplayName, DisplayVersion, PSChildName

Значение PSChildName — это GUID вида {...}. Затем:

msiexec /x {GUID-из-списка} /qn /norestart

Не используйте для поиска Get-WmiObject Win32_Product: запрос медленный и запускает проверку целостности всех установленных MSI-пакетов.

Если сервер стоит на Linux

На Linux агент работает как служба systemd. Имя юнита зависит от версии и способа установки, поэтому сначала найдите его:

systemctl list-units --all | grep -i 1c
sudo systemctl stop <имя-юнита>
sudo systemctl disable <имя-юнита>

Пакеты установленной платформы покажет dpkg -l | grep 1c-enterprise (Debian, Ubuntu, Astra) или rpm -qa | grep 1c (RHEL-подобные). Удаляйте их пакетным менеджером. Данные кластера по умолчанию лежат в домашнем каталоге пользователя usr1cv8, обычно /home/usr1cv8/.1cv8.

Способ 3. Ручная очистка следов агента сервера

Ручная чистка нужна после неудачной деинсталляции: строки в «Программах и компонентах» уже нет, а служба висит или порт 1540 занят. Порядок такой — от безопасного к радикальному.

  1. Процессы. Проверьте, что не осталось ragent.exe, rmngr.exe, rphost.exe:
tasklist | findstr /i "ragent rmngr rphost"
taskkill /f /im rphost.exe
taskkill /f /im rmngr.exe
taskkill /f /im ragent.exe

taskkill /f обрывает сеансы без сохранения. Убедитесь, что пользователи вышли.

  1. Служба. Удалите её через sc delete, как в способе 2.
  2. Каталог данных. Каталог srvinfo (путь из ключа -d) переместите в архив, а не удаляйте сразу. Если вернётесь к этому серверу, достаточно положить его обратно — кластер и список баз восстановятся.
  3. Файлы платформы. Папку C:\Program Files\1cv8\<версия> удаляйте только той версии, которую убрали из системы. Общие для всех версий файлы в C:\Program Files\1cv8\common не трогайте, если на машине остаются другие версии.
  4. Пользователь. Если службу запускал USR1CV8 и он больше нигде не нужен:
net user USR1CV8 /delete
  1. Брандмауэр. Откройте wf.msc → «Правила для входящих подключений» и удалите правила, созданные для 1С. Их имена задавал тот, кто их создавал, — ищите по портам 1540, 1541, 1560–1591.

Не чистите реестр Windows целиком «твикерами» — они удаляют записи других версий 1С и драйвера ключей защиты. Ручная правка нужна только одна: раздел службы в HKLM\SYSTEM\CurrentControlSet\Services, если sc delete по какой-то причине не сработал.

Сравнение способов:

СпособКогда подходитРиски
«Программы и компоненты»Обычное удаление, сервер ставили установщикомМинимальные
ragent -rmsrvc, sc deleteПлатформу оставить, службу убрать; служба создана вручнуюОшибиться именем службы
msiexec /xУдаление на многих серверах сценариемОшибиться GUID и снести не ту версию
Ручная очисткаПосле сбоя деинсталлятораУдалить нужные файлы других версий

Ошибки при удалении агента и как их обойти

Типовые сообщения, которые встречаются при снятии службы:

Диагностика: выберите симптом

Ещё одна частая ситуация — после переустановки новая служба не стартует, потому что порт 1540 занят. Проверьте, кто его держит:

netstat -ano | findstr ":1540"
tasklist /fi "PID eq 1234"

Вместо 1234 подставьте PID из последней колонки netstat. Обычно это второй ragent.exe другой версии, о котором забыли.

Как проверить, что агент сервера удалён полностью

После удаления пройдитесь по короткому списку:

  • ✅ sc query state= all | findstr /i "1C" не показывает службу агента (служба 1C:Enterprise 8.3 Remote Server, если была, — отдельная, её снимают так же).
  • ✅ tasklist | findstr /i "ragent rmngr rphost" ничего не выводит.
  • ✅ netstat -ano | findstr ":1540 :1541" пусто.
  • ✅ В «Программах и компонентах» нет удалённой версии.
  • ✅ Каталог srvinfo лежит в архиве, а не просто стёрт.
  • ✅ Клиенты 1С на других машинах больше не пытаются подключиться к этому серверу: в списке баз у них не осталось строк Srvr="имя-сервера".

Если сервер переезжает, на новой машине зарегистрируйте базы в кластере заново, указав ту же СУБД и то же имя базы данных. Данные подхватятся, пересоздавать базу не нужно.

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

Удалятся ли базы на SQL-сервере вместе с агентом 1С?
Нет. Агент хранит только регистрацию баз в кластере. Сами данные в MS SQL или PostgreSQL остаются нетронутыми, пока их не удалят средствами СУБД.
Можно ли удалить агент, не удаляя клиент 1С?
Да. Через «Изменить» в «Программах и компонентах» отключите компонент «Сервер 1С:Предприятия 8» или снимите только службу командой sc delete.
Нужна ли перезагрузка после удаления службы?
Обычно нет. Перезагрузка нужна, если служба получила статус «отмечена для удаления» и не исчезает после закрытия оснасток.
Что будет с серверной лицензией после удаления?
Файл лицензии в C:\ProgramData\1C\licenses остаётся. На том же компьютере после переустановки он продолжит работать, при переезде на другую машину лицензию активируют заново.
Как вернуть удалённый кластер со списком баз?
Установите ту же или более новую версию сервера, остановите службу, положите сохранённый каталог srvinfo на прежнее место и запустите службу.