Служба агента сервера 1С осталась после удаления: чистим Windows до нуля
Содержание
Удалить службу сервера
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С через «Программы и компоненты»
Это самый чистый путь, если сервер ставился обычным установщиком.
- Откройте
Панель управления → Программы и компоненты(илиappwiz.cplчерезWin+R). - Найдите строку вида
1С:Предприятие 8 (x86-64) (8.3.xx.xxxx). Каждая установленная версия — отдельная строка. - Выберите нужную версию и нажмите
Изменить, если хотите убрать только сервер, илиУдалить, если уходит вся платформа этой версии. - В режиме изменения снимите компонент «Сервер 1С:Предприятия 8» и, если стоял, «Модули расширения веб-сервера». Клиент можно оставить.
- Дождитесь окончания и перезагрузите сервер.
💡 Вариант «Изменить» удобен на машине, где администратор сам работает в 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. По нему в диспетчере задач видно, какой процесс держит порт.
Как убедиться, что служба удалена и сервер готов к новой установке
Пройдите короткую проверку перед установкой новой версии:
Дальше ставьте платформу нужной версии с компонентом «Сервер 1С:Предприятия 8» и отметкой установки как сервиса Windows. Установщик создаст службу заново, с пользователем USR1CV8 и каталогом srvinfo по умолчанию.
После запуска откройте консоль администрирования, добавьте центральный сервер и зарегистрируйте базы по сохранённому списку. Для каждой базы укажите то же имя базы в СУБД — тогда данные подхватятся без загрузки .dt.