Служба агента сервера 1С осталась после удаления: чистим Windows до нуля

· 9 мин

Содержание

Удалить службу сервера 1С 8.3 можно двумя способами. Штатный: деинсталлировать компонент «Сервер 1С:Предприятия» через Панель управления → Программы и компоненты. Ручной: остановить службу и выполнить в командной строке от имени администратора sc.exe delete "имя службы".

Частое заблуждение: удалили платформу, значит, служба ушла вместе с ней. Нет. Если агент регистрировали вручную через ragent -instsrvc или ставили несколько версий подряд, служба 1C:Enterprise 8.3 Server Agent остаётся в списке и при следующей установке мешает: порт 1540 занят, новый сервер не стартует.

Перед удалением службы сервера 1С: что проверить и сохранить

Удаление сервиса не трогает сами информационные базы. Данные в MS SQL или PostgreSQL остаются на месте, файловые базы тоже. Но кластер «забудет» список баз, а пользователи потеряют подключение.

Остановка службы агента обрывает все сеансы на этом сервере. Несохранённые документы у пользователей пропадут. Делайте это вне рабочего времени и заранее предупредите людей.

Иногда удалять службу вовсе не нужно. Если задача — обновить платформу на сервере, ставьте новую версию поверх: установщик перерегистрирует агент под новый ragent.exe. Если сервер просто не стартует, сначала посмотрите журнал событий Windows и права пользователя службы. Полное удаление оправдано, когда переходите на другую версию с чистым кластером, выводите машину из эксплуатации или в системе остались «осиротевшие» службы от старых установок.

Что сделать до остановки:

  • 📋 Выгрузите список баз кластера. Откройте консоль администрирования серверов 1С и перепишите для каждой базы имя, СУБД, сервер базы данных и имя базы в СУБД. Без этого после переустановки базы придётся регистрировать по памяти.
  • 💾 Сделайте резервную копию баз средствами СУБД или выгрузку .dt. Удаление службы их не затронет, но копия перед работами на сервере обязательна.
  • 🔑 Найдите программные лицензии. Они лежат в C:\ProgramData\1C\licenses. Эту папку не удаляйте: файл лицензии привязан к оборудованию, и восстанавливать его придётся через повторную активацию.
  • 📁 Узнайте, где лежит каталог кластера srvinfo. Об этом ниже, в разделе про реестр.

Посмотрите, какие службы 1С вообще есть на машине. Откройте cmd от имени администратора:

sc queryex type= service state= all | findstr /i "1C"

В выводе будут строки SERVICE_NAME и DISPLAY_NAME. Для удаления нужно именно SERVICE_NAME. Типичные варианты:

Что за службаТипичное имя
Агент сервера, 64 бита1C:Enterprise 8.3 Server Agent (x86-64)
Агент сервера, 32 бита1C:Enterprise 8.3 Server Agent
Сервер администрирования (ras)имя задают вручную, часто 1C:Enterprise 8.3 Remote Server

Если на сервере стоят две версии платформы рядом, у служб бывают суффиксы с номером версии. Не гадайте — берите имя из вывода команды.

Теперь остановите службу:

sc.exe stop "1C:Enterprise 8.3 Server Agent (x86-64)"

Через 10–20 секунд проверьте, что процессы ragent.exe, rmngr.exe и rphost.exe исчезли из диспетчера задач. Если рабочий процесс завис и не завершается, добейте его:

taskkill /f /im rphost.exe
taskkill /f /im rmngr.exe
taskkill /f /im ragent.exe

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

Это самый чистый путь, если сервер ставился обычным установщиком.

  1. Откройте Панель управления → Программы и компоненты (или appwiz.cpl через Win+R).
  2. Найдите строку вида 1С:Предприятие 8 (x86-64) (8.3.xx.xxxx). Каждая установленная версия — отдельная строка.
  3. Выберите нужную версию и нажмите Изменить, если хотите убрать только сервер, или Удалить, если уходит вся платформа этой версии.
  4. В режиме изменения снимите компонент «Сервер 1С:Предприятия 8» и, если стоял, «Модули расширения веб-сервера». Клиент можно оставить.
  5. Дождитесь окончания и перезагрузите сервер.

💡 Вариант «Изменить» удобен на машине, где администратор сам работает в 1С: клиент и конфигуратор останутся, а служба и серверные модули уйдут.

После перезагрузки снова выполните sc queryex ... | findstr /i "1C". Пусто — переходите к чистке. Служба осталась — значит, её регистрировали не этим установщиком, удаляйте вручную.

Как удалить службу 1С вручную через командную строку

Ручной способ нужен, когда платформа уже удалена, а служба висит. Или когда агент регистрировался руками под другой версией.

Через sc.exe

Командная строка от имени администратора:

sc.exe stop "1C:Enterprise 8.3 Server Agent (x86-64)"
sc.exe delete "1C:Enterprise 8.3 Server Agent (x86-64)"

Ответ [SC] DeleteService: успех означает, что запись удалена.

Три детали, на которых спотыкаются:

  • 🔤 Имя с пробелами и двоеточием берите в кавычки целиком.
  • 🪟 В PowerShell пишите именно sc.exe, а не sc. Там sc — псевдоним командлета Set-Content, и команда молча создаст файл вместо удаления службы.
  • ↔️ Пробел после type= и state= в команде запроса обязателен, это синтаксис sc.

Через PowerShell

Найти службы:

Get-Service | Where-Object { $_.DisplayName -like "*1C*" } | Format-Table Name, DisplayName, Status

Остановить и удалить:

Stop-Service -Name "1C:Enterprise 8.3 Server Agent (x86-64)" -Force
sc.exe delete "1C:Enterprise 8.3 Server Agent (x86-64)"

Командлет Remove-Service есть только в PowerShell 6 и новее. В стандартном Windows PowerShell 5.1 его нет, поэтому удаление всё равно делаем через sc.exe.

Через ragent.exe

У агента есть свой ключ снятия регистрации:

"C:\Program Files\1cv8\8.3.xx.xxxx\bin\ragent.exe" -rmsrvc

Подставьте каталог той версии, под которой служба регистрировалась. Ключ работает, если служба создана этим же ragent штатно. Если имя меняли или каталога версии уже нет, надёжнее sc.exe delete.

Сервер администрирования ras

Служба ras для удалённого администрирования часто создаётся отдельно командой sc create. Удаление платформы её не трогает. Найдите её тем же findstr и удалите sc.exe delete по точному имени.

Чистка после удаления: srvinfo, реестр, пользователь USR1CV8

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

Где лежит каталог кластера

Путь к srvinfo записан в параметрах запуска службы. Если служба ещё не удалена, посмотрите:

sc.exe qc "1C:Enterprise 8.3 Server Agent (x86-64)"

В строке BINARY_PATH_NAME после ключа -d указан каталог. По умолчанию это C:\Program Files\1cv8\srvinfo. Там же видны порты: -port 1540, -regport 1541, -range 1560:1591.

В srvinfo\reg_1541 хранится реестр кластера: список зарегистрированных баз, рабочих серверов, администраторов. Отдельные папки внутри — сеансовые данные и кэши.

ЗадачаЧто делать с srvinfo
Чистая установка, кластер не нуженУдалить каталог целиком
Переустановка с сохранением списка базСкопировать srvinfo в архив, после установки вернуть reg_1541
Переезд на другой серверНе переносить — базы зарегистрировать заново

Если удаляете из-за «битого» кластера (не запускается, падает), переносить старый reg_1541 на новую установку бессмысленно — проблема вернётся. Зарегистрируйте базы заново по списку, который сохранили перед работами.

Реестр Windows

Команда sc delete сама удаляет раздел службы:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<имя службы>

Если раздел остался после перезагрузки, удалите его вручную в regedit. Перед этим экспортируйте ветку в .reg файл — на случай ошибки.

Остальные ключи 1С в реестре на работу новой службы не влияют. Чистить реестр «программами-чистильщиками» не нужно.

Папки платформы

  • 📂 C:\Program Files\1cv8\8.3.xx.xxxx — каталог удалённой версии. Если остался пустым или с парой файлов, удалите.
  • 📂 C:\Program Files\1cv8\common и conf — общие для всех версий. Удаляйте, только если на машине не осталось ни одной платформы.
  • 📂 C:\ProgramData\1C\licenses — лицензии. Не трогать.

Пользователь службы

Установщик по умолчанию создаёт локального пользователя USR1CV8, от которого работает агент. Если сервер 1С здесь больше не нужен, удалите его:

net user USR1CV8 /delete

Профиль пользователя C:\Users\USR1CV8 после этого можно удалить через Свойства системы → Дополнительно → Профили пользователей.

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

Удаление службы сервера 1С на Linux

На Linux сервер работает как сервис systemd или как старый init-скрипт. Имена отличаются по версиям платформы, поэтому сначала ищем:

systemctl list-units --all | grep -i 1c
ls /etc/init.d/ | grep -i srv1cv8

Остановить и выключить автозапуск:

sudo systemctl stop <имя_сервиса>
sudo systemctl disable <имя_сервиса>

Затем удалите пакеты сервера. Найдите их по списку:

dpkg -l | grep -i 1c-enterprise     # Debian, Ubuntu, Astra
rpm -qa | grep -i 1c-enterprise     # RHEL, РЕД ОС, ALT

И удалите через apt remove или dnf remove по точным именам из вывода. Каталог кластера на Linux по умолчанию лежит в домашнем каталоге пользователя usr1cv8, обычно /home/usr1cv8/.1cv8/1C/1cv8. Его судьба та же, что у srvinfo в Windows.

Ошибки при удалении службы и что с ними делать

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

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

netstat -ano | findstr ":1540 :1541"

В последней колонке — PID. По нему в диспетчере задач видно, какой процесс держит порт.

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

Пройдите короткую проверку перед установкой новой версии:

Сервер чист перед установкой
Выполнено: 0 / 7

Дальше ставьте платформу нужной версии с компонентом «Сервер 1С:Предприятия 8» и отметкой установки как сервиса Windows. Установщик создаст службу заново, с пользователем USR1CV8 и каталогом srvinfo по умолчанию.

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

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

Удалятся ли базы данных вместе со службой сервера 1С?
Нет. Базы на MS SQL или PostgreSQL остаются в СУБД, файловые базы — на диске. Пропадает только их регистрация в кластере, если удалить каталог srvinfo.
Можно ли удалить службу одной версии и оставить другую?
Да. У каждой версии своя строка в «Программах и компонентах» и, как правило, своя служба. Удаляйте по точному имени, проверив путь к ragent.exe командой sc qc.
Нужно ли удалять драйвер HASP после удаления сервера?
Только если аппаратный ключ на этой машине больше не нужен. Драйвер ставится отдельно и к службе агента не относится.
Почему служба вернулась после перезагрузки?
Чаще всего служба удалена одной версии, а в автозапуске стоит другая с похожим именем. Либо её заново создаёт скрипт или групповая политика. Проверьте весь список служб с фильтром 1C.
Слетит ли лицензия на сервер при переустановке?
Не слетит, если не удалять папку C:\ProgramData\1C\licenses и не менять оборудование. Новая установка платформы использует тот же файл лицензии.