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

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

Как удалить службу агента сервера 1С 8.3

Как полностью удалить службу агента сервера 1С 8.3 в Windows: команда sc delete, реестр, остановка службы, очистка каталогов и проверка результата.

Служба «Агент сервера 1С:Предприятия 8.3» (обычно называется «1C:Enterprise 8.3 Server Agent» с указанием версии платформы и порта) создаётся при установке компоненты «Сервер 1С:Предприятия» и регистрируется в Windows автоматически. При переустановке платформы, смене разрядности, переносе сервера или после некорректного удаления программы служба может остаться в системе и мешать: занимать порты 1540–1541, конфликтовать с новой версией агента или запускать старый исполняемый файл ragent.exe.

Удалить такую службу корректно можно несколькими способами: штатным скриптом платформы, командой sc delete, через реестр или полной деинсталляцией сервера 1С. Выбор зависит от того, нужно ли сохранить сам сервер 1С или требуется убрать только конкретный экземпляр службы, например дубликат с неправильным портом.

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

Когда нужно удалять службу агента сервера 1С

Типичные ситуации, в которых требуется удаление службы, а не просто её остановка:

  • после обновления платформы в системе остались службы старых версий, которые пытаются запуститься и занимают порты;
  • агент был зарегистрирован повторно с другими параметрами, и теперь существует две службы, ссылающиеся на один кластер;
  • сервер 1С переносится на другую машину, и старый экземпляр нужно полностью вывести из эксплуатации;
  • служба повреждена: не запускается, не удаляется штатным деинсталлятором, ссылается на несуществующий путь к ragent.exe;
  • меняется разрядность сервера (x86 на x86-64), и старую службу нужно убрать до регистрации новой.

Если цель — просто перезапустить кластер или освободить память, удалять службу не нужно: достаточно перезапуска через оснастку services.msc. Удаление — это операция именно для случаев, когда экземпляр службы больше не должен существовать в системе.

Подготовка: что проверить перед удалением

Сначала определите точное имя службы. Откройте «Службы» (Win+R → services.msc) и найдите строку вида «1C:Enterprise 8.3 Server Agent (x86-64)». Двойной клик откроет свойства, где указано внутреннее имя службы и путь к исполняемому файлу. Имя службы с версией и разрядностью понадобится для команды удаления — у разных установок оно отличается.

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

Решите заранее, что делать с каталогом srvinfo (обычно C:\Program Files\1cv8\srvinfo или в каталоге, указанном в параметрах запуска службы через ключ -d). В нём хранится реестр кластера — список баз, настройки, учётные данные администраторов кластера. Если сервер будет переустановлен с сохранением конфигурации, сделайте копию этого каталога.

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

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

Через графический интерфейс: откройте services.msc, найдите службу агента, нажмите «Остановить». Дождитесь статуса «Остановлена». Если служба «зависла» в состоянии «Остановка», подождите пару минут — агент завершает рабочие процессы rphost, и это занимает время.

Через командную строку с правами администратора:

cmd
net stop "1C:Enterprise 8.3 Server Agent (x86-64)"

Если служба не останавливается штатно, найдите PID процесса ragent.exe в диспетчере задач и завершите его принудительно (taskkill /PID <номер> /F). Это крайняя мера: принудительное завершение агента аналогично обрыву питания для кластера.

Удаление службы командой sc delete

Самый прямой способ убрать службу — встроенная утилита Windows sc. Командная строка должна быть запущена от имени администратора (Win+X → «Командная строка (администратор)» или «Windows PowerShell (администратор)»).

Порядок действий
  1. 1
    Остановите службу: net stop "1C:Enterprise 8.3 Server Agent (x86-64)"
  2. 2
    Выполните: sc delete "1C:Enterprise 8.3 Server Agent (x86-64)"
  3. 3
    Убедитесь в ответе [SC] DeleteService: успешно
  4. 4
    Обновите список в services.msc (F5) и проверьте, что служба исчезла
cmd
sc stop "1C:Enterprise 8.3 Server Agent (x86-64)"
sc delete "1C:Enterprise 8.3 Server Agent (x86-64)"

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

Если команда вернула ошибку «Отказано в доступе» — командная строка запущена без прав администратора. Если «Указанная служба не установлена» — имя указано неверно или служба уже удалена; проверьте список командой sc query state= all | find "1C".

Удаление через деинсталлятор и повторную регистрацию

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

Полное удаление сервера выполняется через «Параметры → Приложения» (или «Установка и удаление программ»): найдите «1С:Предприятие 8 (8.3.x.xxxx)», запустите удаление и снимите/оставьте компоненты по необходимости. Деинсталлятор останавливает и удаляет службу агента автоматически.

После деинсталляции проверьте, не осталось ли «осиротевших» служб от других версий платформы — каждая установленная версия сервера создаёт собственную службу, и они удаляются независимо.

Очистка остатков: реестр и каталоги

Иногда после sc delete или неудачной деинсталляции в системе остаются следы. Проверьте ветку реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services — там не должно быть раздела с именем удалённой службы. Если раздел остался, удалите его вручную через regedit (предварительно экспортировав ветку на всякий случай) и перезагрузите сервер.

Каталог srvinfo удаляйте только если кластер больше не нужен вовсе. Если планируется чистая установка сервера той же версии, остатки srvinfo со старыми настройками могут вызвать конфликты — тогда каталог переименовывают (например, в srvinfo.old), а не удаляют, сохраняя возможность отката.

Также проверьте планировщик задач и автозагрузку на предмет сторонних скриптов, которые перезапускают агент, — после удаления службы они будут сыпать ошибками в журнал.

Типичные ошибки
01
Удаление службы без остановки — служба остаётся в списке с пометкой на удаление до перезагрузки и продолжает держать порты
02
Использование отображаемого имени вместо системного имени службы — sc возвращает ошибку, и администратор думает, что служба «не удаляется»
03
Удаление srvinfo до выяснения, какие базы были зарегистрированы в кластере — приходится вручную восстанавливать список баз
04
Удаление только службы при смене разрядности без установки 64-битного сервера — кластер остаётся неработоспособным

Проверка результата

После удаления убедитесь, что система в ожидаемом состоянии. Обновите оснастку «Службы» — записи агента быть не должно. Выполните sc query "1C:Enterprise 8.3 Server Agent (x86-64)": корректный ответ — «Указанная служба не установлена».

Проверьте, что порты освобождены: команда netstat -ano | find "1540" не должна показывать LISTENING на портах 1540–1541 от процесса ragent. Если порт занят — либо служба не остановлена, либо работает другой экземпляр агента (другая версия платформы).

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

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

Служба в services.msc
Норма

Запись агента отсутствует после обновления списка

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

Служба видна или помечена на удаление — нужна остановка или перезагрузка

Порты 1540–1541
Норма

netstat не показывает прослушивание портов агентом

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

Порт занят — работает другой экземпляр службы

Реестр Services
Норма

Раздела с именем службы нет в HKLM\SYSTEM\CurrentControlSet\Services

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

Раздел остался — удалить вручную и перезагрузить

Часто задаваемые вопросы

Можно ли удалить службу агента 1С без прав администратора?

Нет. Остановка и удаление служб Windows требуют прав локального администратора. Если сервер входит в домен, могут дополнительно действовать ограничения групповых политик — тогда понадобятся права администратора домена или делегированные права на управление службами.

Что будет с базами 1С после удаления службы?

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

Служба удалилась, но после перезагрузки появилась снова. Почему?

Скорее всего, в системе установлена ещё одна версия платформы, чей агент зарегистрирован отдельно, либо сторонний скрипт/утилита заново регистрирует службу при загрузке. Проверьте список установленных версий 1С и планировщик задач.

Как удалить службу, если сервер 1С установлен на Linux?

На Linux агент сервера обычно запускается как systemd-юнит или скриптом. Остановите юнит (systemctl stop), отключите автозагрузку (systemctl disable) и удалите файл юнита, затем выполните systemctl daemon-reload. Команда sc delete относится только к Windows.

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

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

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

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

Итог

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

Удаление службы агента сервера 1С 8.3 — это остановка службы, команда sc delete с точным именем и проверка, что порты 1540–1541 освобождены. Данные баз при этом не затрагиваются, но каталог srvinfo стоит сохранить, если кластер планируется поднимать заново. На боевом сервере все работы выполняйте только после завершения сеансов пользователей.