Служба ragent больше не нужна: чистое удаление сервера 1С:Предприятия 8.3
Содержание
Чтобы удалить агент сервера 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С Предприятия», разверните кластер →
Информационные базы. Для каждой базы в свойствах видно сервер СУБД, тип СУБД и имя базы данных. Перепишите это: после удаления реестра кластера базы придётся регистрировать заново. - Сами данные. Базы на MS SQL или PostgreSQL удаление агента не затрагивает — они живут в СУБД. Но резервную копию баз сделайте до любых действий: при ручной чистке легко ошибиться каталогом.
- Параметры службы. Посмотрите строку запуска службы:
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 показывает, где реальный каталог данных кластера.
- Лицензии. Программные лицензии хранятся в
C:\ProgramData\1C\licenses. Удаление сервера их не стирает. Если сервер переедет, лицензию на новой машине придётся активировать заново или восстанавливать по пин-коду — по правилам вашего лицензионного соглашения.
Точное имя службы на вашем сервере может отличаться: у старых установок нет суффикса (x86-64), у служб, созданных вручную, имя произвольное. Узнать его можно так: sc query state= all | findstr /i "1C".
Способ 1. Удаление сервера 1С через «Программы и компоненты»
Самый безопасный путь — штатный деинсталлятор. Он сам останавливает и снимает службу, если она была зарегистрирована установщиком.
Полное удаление версии платформы
- Откройте
Панель управления → Программы и компоненты(илиappwiz.cplчерезWin+R). - Найдите строку «1С:Предприятие 8 (x86-64)» с номером версии, на которой работает агент.
- Нажмите «Удалить» и дождитесь окончания.
- Перезагрузите сервер, если установщик попросит.
На машине может стоять несколько версий платформы. Удаляйте ту, на которую указывает BINARY_PATH_NAME из предыдущего раздела.
Удаление только серверного компонента
Если клиент 1С на этой машине нужен, а сервер — нет:
- В «Программах и компонентах» выделите нужную версию и нажмите «Изменить».
- В мастере выберите вариант изменения состава компонентов.
- Для компонента «Сервер 1С:Предприятия 8» выберите «Данный компонент будет недоступен».
- Нажмите «Далее» и завершите мастер.
Клиентская часть и конфигуратор останутся, служба и серверные модули уйдут.
Способ 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 занят. Порядок такой — от безопасного к радикальному.
- Процессы. Проверьте, что не осталось
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 обрывает сеансы без сохранения. Убедитесь, что пользователи вышли.
- Служба. Удалите её через
sc delete, как в способе 2. - Каталог данных. Каталог
srvinfo(путь из ключа-d) переместите в архив, а не удаляйте сразу. Если вернётесь к этому серверу, достаточно положить его обратно — кластер и список баз восстановятся. - Файлы платформы. Папку
C:\Program Files\1cv8\<версия>удаляйте только той версии, которую убрали из системы. Общие для всех версий файлы вC:\Program Files\1cv8\commonне трогайте, если на машине остаются другие версии. - Пользователь. Если службу запускал
USR1CV8и он больше нигде не нужен:
net user USR1CV8 /delete
- Брандмауэр. Откройте
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="имя-сервера".
Если сервер переезжает, на новой машине зарегистрируйте базы в кластере заново, указав ту же СУБД и то же имя базы данных. Данные подхватятся, пересоздавать базу не нужно.