Убираем лишнюю службу сервера 1С из Windows и Linux, не трогая базы
Содержание
Чтобы удалить сервис 1С в Windows, остановите службу агента сервера и выполните из папки bin нужной версии платформы команду ragent.exe -rmsrvc либо sc delete "<имя службы>" в командной строке от имени администратора. Информационные базы при этом не удаляются: данные живут в СУБД или в файлах .1CD, а служба — только процесс, который их обслуживает.
Чаще всего убрать службу нужно после обновления платформы: в списке висят два агента сервера разных версий, они спорят за порт 1540, и новый сервер не стартует. Ниже — пошагово, как правильно удалить сервис 1С на Windows и Linux, что сохранить заранее и как убедиться, что от службы ничего не осталось.
Какие сервисы 1С бывают и когда их убирают
Под «сервисом 1С» обычно понимают одну из служб операционной системы. Каждая ставится отдельно и удаляется отдельно.
| Служба | Что делает | Порт по умолчанию |
|---|---|---|
Агент сервера 1С:Предприятия (ragent.exe) | Запускает менеджер кластера и рабочие процессы, принимает подключения клиентов | 1540 (агент), 1541 (менеджер кластера), 1560–1591 (рабочие процессы) |
Сервер администрирования RAS (ras.exe) | Даёт доступ к кластеру утилите rac и сторонним консолям | 1545 |
Хранилище конфигурации на сервере (crserver.exe) | Групповая разработка через сервер хранилища | 1542 |
Удалять службу имеет смысл в таких случаях:
- 🔁 после перехода на новую версию платформы остался агент старой версии;
- ⚔️ два агента на одном компьютере конфликтуют по портам;
- 🖥️ сервер 1С переносят на другую машину, а старую выводят из работы;
- 🧹 служба была установлена «на пробу» и теперь мешает;
- 🔧 службу нужно переустановить с другим пользователем или другими портами.
Если же вы имели в виду интернет-сервисы внутри программы (проверку контрагентов, обмен с банком, 1С:Отчётность) — их не удаляют, а отключают в настройках. Об этом — в разделе про альтернативы.
Подготовка: что сохранить до удаления службы
Удаление службы само по себе безопасно для данных. Опасны сопутствующие действия: снос папки srvinfo, удаление «лишней» версии платформы, на которой работают пользователи.
Остановка агента сервера обрывает сеансы всех пользователей кластера. Делайте это вне рабочего времени и предупредите людей заранее.
Что проверить и сохранить:
- Список баз кластера. Откройте консоль администрирования серверов 1С и выпишите имена информационных баз, адрес СУБД и имя базы данных для каждой. Без этого после переустановки придётся восстанавливать настройки по памяти.
- Папку реестра кластера. Для службы, установленной по умолчанию, это
C:\Program Files\1cv8\srvinfo. Внутри лежатreg_1541с файлом1CV8Clst.lst— там описание кластера и баз. Скопируйте папку целиком в архив. - Точное имя службы. Откройте
services.msc, найдите службу 1С, двойным щелчком откройте свойства. Строка «Имя службы» — это то, что нужно командамsc. Отображаемое имя может отличаться. - Учётную запись службы. На вкладке «Вход в систему» видно, от чьего имени работает агент (часто
USR1CV8). Пригодится, если будете ставить службу заново. - Версию. В свойствах службы есть «Исполняемый файл» — путь вида
C:\Program Files\1cv8\8.3.24.1548\bin\ragent.exe. По номеру в пути понятно, какая версия перед вами.
Если базы файловые, сервер 1С им не нужен вовсе. Удаление службы на работу файловых баз не влияет.
Быстро посмотреть все службы 1С на компьютере можно в PowerShell:
Get-Service -DisplayName "*1C*" | Format-Table Name, DisplayName, Status
Get-CimInstance Win32_Service | Where-Object { $_.PathName -like "*1cv8*" } | Select-Object Name, State, PathName
Вторая команда показывает путь к исполняемому файлу, то есть сразу видно версию платформы каждой службы.
Как удалить сервис 1С в Windows: три способа
Начинайте с первого способа. Остальные нужны, когда первый недоступен или не сработал.
Способ 1. Командой ragent -rmsrvc
Это штатный способ: служба агента удаляется тем же исполняемым файлом, которым была установлена.
- Запустите командную строку от имени администратора.
- Остановите службу:
sc stop "<имя службы>"или кнопкой «Остановить» вservices.msc. - Перейдите в папку
binтой версии, чью службу удаляете:
cd /d "C:\Program Files\1cv8\8.3.24.1548\bin"
ragent.exe -rmsrvc
- Обновите окно
services.msc(клавиша F5) — службы в списке быть не должно.
Команду запускайте именно из каталога версии, которую убираете. Если вызвать ragent.exe новой версии, можно удалить не ту службу.
Способ 2. Через sc delete
Подходит для любой службы 1С: агента, RAS, сервера хранилища. Особенно удобен для RAS — его обычно регистрируют вручную через sc create, поэтому и убирают так же.
sc query "1C:Enterprise 8.3 Server Agent (x86-64)"
sc stop "1C:Enterprise 8.3 Server Agent (x86-64)"
sc delete "1C:Enterprise 8.3 Server Agent (x86-64)"
Имя в примере — типичное для 64-разрядного агента, но у вас оно может быть другим. Берите его из свойств службы, как описано в подготовке.
Правила синтаксиса, на которых спотыкаются чаще всего:
- имя с пробелами и скобками — только в двойных кавычках;
scработает с именем службы, а не с отображаемым именем;- в PowerShell пишите
sc.exe, потому чтоscтам — псевдоним другой команды.
В PowerShell 7 есть отдельная команда Remove-Service -Name "<имя>". В Windows PowerShell 5.1, который встроен в систему, её нет — используйте sc.exe delete.
Способ 3. Через удаление компонента платформы
Если версия платформы целиком больше не нужна, удалите её вместе со службой:
- Откройте
Параметры → Приложения(илиappwiz.cpl). - Найдите «1С:Предприятие 8 (x86-64)» нужной версии — в списке может быть несколько строк с разными номерами.
- Выберите «Изменить», если хотите убрать только серверные компоненты, или «Удалить», чтобы снести версию полностью.
Перед удалением версии проверьте, что на ней не работают пользователи терминального сервера и не запускаются регламентные обработки по расписанию.
Какой способ выбрать
| Способ | Когда подходит | Риски |
|---|---|---|
ragent.exe -rmsrvc | Удаляете агент, платформа этой версии остаётся | Запуск из папки не той версии |
sc delete | RAS, хранилище, «осиротевшая» служба без файлов | Ошибка в имени службы |
| Деинсталлятор платформы | Версия не нужна совсем | Пропадёт клиент этой версии у всех, кто им пользовался |
Удаление служб 1С скриптом
Когда серверов несколько или старые агенты накопились за годы, удобнее скрипт. Ниже пример для PowerShell, который находит службы 1С конкретной версии, останавливает и удаляет их. Номер версии в первой строке замените на свой.
$version = "8.3.22.1709"
$services = Get-CimInstance Win32_Service | Where-Object { $_.PathName -like "*1cv8\$version\*" }
foreach ($s in $services) {
Write-Host "Останавливаю $($s.Name)"
Stop-Service -Name $s.Name -Force -ErrorAction SilentlyContinue
Write-Host "Удаляю $($s.Name)"
sc.exe delete "$($s.Name)"
}
Отбор идёт по пути к исполняемому файлу, поэтому скрипт не заденет службы других версий. Сначала запустите его без последнего цикла и посмотрите на список $services — так вы увидите, что именно будет удалено.
Простой вариант для bat-файла, если имя службы известно точно:
@echo off
set SVC=1C:Enterprise 8.3 Server Agent (x86-64)
sc stop "%SVC%"
timeout /t 15 /nobreak
sc delete "%SVC%"
Пауза в 15 секунд нужна, чтобы рабочие процессы rphost успели завершиться до удаления.
Скрипт останавливает службу без вопросов. Не запускайте его в рабочее время: все пользователи кластера потеряют несохранённые данные.
Особенности для Linux, клиент-сервера и облака
Сервер 1С на Linux
В новых версиях платформы служба агента на Linux оформлена как юнит systemd, в имени которого есть номер версии. В старых установках встречается скрипт /etc/init.d/srv1cv83. Найдите, что у вас:
systemctl list-units --all | grep -i 1cv8
systemctl list-unit-files | grep -i -E "1cv8|ras"
Дальше остановите и отключите найденный юнит, подставив его имя:
sudo systemctl stop <имя юнита>
sudo systemctl disable <имя юнита>
Если версия больше не нужна, удалите пакеты платформы штатным менеджером пакетов (apt или dnf). Каталог данных кластера, обычно в домашней папке пользователя usr1cv8, при этом лучше сначала скопировать.
Клиент-серверный вариант на нескольких машинах
Если кластер состоит из нескольких рабочих серверов, не удаляйте службу на сервере, который указан центральным, пока не перенесёте его роль. Сначала уберите лишний рабочий сервер из кластера в консоли администрирования, затем удаляйте службу на той машине.
СУБД (PostgreSQL или MS SQL Server) — отдельная служба. Удаление агента 1С её не останавливает, и базы данных в СУБД остаются на месте.
Облачная 1С
В 1С:Фреш и у других провайдеров облака служб на вашей стороне нет. Удалять нечего: серверной частью управляет провайдер. На компьютере пользователя стоит только тонкий клиент или браузер. Ненужные встроенные сервисы приложения отключают в его настройках, как в обычной базе.
Ошибки при удалении службы и что с ними делать
Ещё одна частая ситуация — удалили не ту службу. Это поправимо: зарегистрируйте её заново той же командой из папки bin, например ragent.exe -instsrvc с указанием пользователя, под которым служба работала. Реестр кластера в srvinfo подхватится, если вы его не трогали.
Как проверить, что сервис 1С удалён полностью
Удаление записи службы не гарантирует, что от сервера ничего не осталось. Пройдите по пунктам:
- Служба. Команда
sc query "<имя службы>"должна вернуть ошибку 1060 — служба не существует. - Процессы. В диспетчере задач на вкладке «Подробности» не должно быть
ragent.exe,rmngr.exe,rphost.exeудалённой версии. - Порты. Выполните:
netstat -ano | findstr ":1540 :1541 :1545"
Пустой вывод — порты свободны. Если строка есть, по номеру PID в последнем столбце найдите процесс в диспетчере задач.
- Автозагрузка и планировщик. Проверьте, что в планировщике заданий Windows нет задач, которые запускают удалённую версию
ragent.exe. - Новый сервер. Если вы ставили другую версию, откройте консоль администрирования и подключитесь к кластеру. Базы должны быть видны, пользователи — входить.
Папку srvinfo удаляйте последней и только когда уверены, что новый кластер работает. До этого она — единственная страховка.
Отключить вместо удалить: когда это разумнее
Удаление необратимо в том смысле, что службу придётся регистрировать заново с теми же параметрами. Если не уверены, что служба больше не понадобится, просто отключите её.
Отключение службы сервера
Через services.msc: свойства службы → «Тип запуска» → «Отключена» или «Вручную». То же из командной строки:
sc config "1C:Enterprise 8.3 Server Agent (x86-64)" start= disabled
sc config "1C:Enterprise 8.3 Server Agent (x86-64)" start= demand
Пробел после start= обязателен — без него sc выдаст ошибку синтаксиса. Первая строка запрещает запуск, вторая переводит в ручной режим.
На Linux аналог — systemctl disable без удаления пакетов.
Отключение интернет-сервисов в программе
Если под «сервисом» вы имели в виду функции внутри БП 3.0 или ЗУП 3.1, откройте раздел Администрирование → Интернет-поддержка и сервисы. Там собраны подключаемые сервисы: проверка контрагентов, обновление классификаторов, новости и другие. Снимите флажки у тех, что не используете.
Фоновую нагрузку от регулярных обращений к сервисам дают регламентные задания. Их список открывается в Администрирование → Обслуживание в группе регламентных операций. Отключайте задание только если понимаете, за что оно отвечает: например, без обновления курсов валют расчёты в валюте будут вестись по старым курсам.
Что дают оба варианта
| Вариант | Обратимость | Когда выбирать |
|---|---|---|
| Удаление службы | Нужна повторная регистрация | Версия выведена из работы навсегда |
| Тип запуска «Отключена» | Включается за минуту | Переходный период, тест новой версии |
| Отключение сервиса в программе | Флажок в настройках | Функция не нужна, но база работает |