Удаление агента сервера 1С:Предприятия 8.3 из Windows без хвостов
Содержание
Службу сервера 1С удаляют в два шага: останавливают её командой sc stop "<имя службы>", а затем убирают командой sc delete "<имя службы>" из командной строки, запущенной от имени администратора. Если нужно убрать сервер 1С:Предприятия целиком, удаляют компонент через «Программы и компоненты», а потом вручную чистят папку srvinfo, ветку реестра службы и пользователя USR1CV8.
Типичная ситуация: на сервере стоят две версии платформы, старый агент 8.3.18 держит порт 1540, и новая служба не стартует. Или сервер переводят в файловый режим, а агент продолжает висеть в автозагрузке. В обоих случаях удалить службу сервера 1С нужно чисто, чтобы при следующей установке не было конфликтов портов и имён.
1. Подготовка: что сохранить до удаления службы 1С
Служба сервера — это процесс ragent.exe, который запускает менеджер кластера rmngr.exe и рабочие процессы rphost.exe. Сами данные информационных баз лежат в СУБД (MS SQL, PostgreSQL), и удаление службы их не трогает. Но список баз кластера, администраторы и настройки хранятся в каталоге службы.
Перед началом сохраните:
- 📁 Каталог
srvinfoцеликом. По умолчанию этоC:\Program Files\1cv8\srvinfo. Внутри папкаreg_1541с файлом1CV8Clst.lst— это реестр кластера: список баз, их параметры подключения к СУБД, администраторы кластера. - 📝 Параметры запуска службы. Откройте её свойства в
services.mscи скопируйте строку «Исполняемый файл». В ней видны порты (-port 1540 -regport 1541 -range 1560:1591) и путь к каталогу данных (-d). - 🔑 Программные лицензии, если они активированы на этом сервере. Обычно файлы лицензий лежат в
C:\ProgramData\1C\licenses. Копия пригодится, если сервер будут поднимать на том же железе. - 👤 Учётную запись службы: под кем она запущена (
USR1CV8или доменный пользователь) и какие у неё права на папки.
Посмотреть точное имя службы проще всего так:
sc query state= all | findstr /i "1C"
Команда покажет строки SERVICE_NAME и DISPLAY_NAME. Для удаления нужно именно имя службы (SERVICE_NAME), а не отображаемое имя. У платформ разных лет оно разное: например, 1C:Enterprise 8.3 Server Agent или с суффиксом разрядности (x86-64). Если на сервере несколько версий, служб будет несколько.
В PowerShell то же самое даёт Get-Service | Where-Object DisplayName -like "*1C*". В колонке Name — нужное имя.
2. Остановка агента сервера 1С и его процессов
Остановка службы обрывает все сеансы пользователей на всех базах кластера. Несохранённые документы пропадут, фоновые и регламентные задания прервутся. Делайте это вне рабочего времени и заранее предупредите пользователей.
Порядок действий:
- Проверьте активные сеансы через консоль администрирования серверов 1С или командой
rac session list(нужен запущенныйras). - Попросите пользователей выйти. Если в базах включена блокировка начала сеансов, установите её заранее.
- Остановите службу:
sc stop "1C:Enterprise 8.3 Server Agent (x86-64)"
- Подождите 20–30 секунд и проверьте, что процессов не осталось:
tasklist | findstr /i "ragent rmngr rphost"
- Если
rphost.exeзавис и не завершается, снимите его принудительно:
taskkill /f /im rphost.exe
taskkill /f /im rmngr.exe
Проверьте, что порты освободились:
netstat -ano | findstr ":1540 :1541"
Пустой вывод — порты свободны. Если строка есть, в последней колонке будет PID процесса, который их держит. Найдите его через tasklist /fi "PID eq 1234".
Если на этом же сервере работает служба администрирования ras (обычно её регистрируют под именем вроде 1C:Enterprise 8.3 Remote Server), остановите и её. Иначе ras.exe останется в памяти и будет мешать удалению файлов платформы.
3. Удаление сервера 1С через «Программы и компоненты»
Если сервер 1С на этой машине больше не нужен, самый чистый путь — штатный деинсталлятор. Он удаляет и файлы платформы, и зарегистрированную при установке службу.
- Нажмите
Win + R, введитеappwiz.cpl. - Найдите строку «1С:Предприятие 8 (x86-64)» с номером версии. Если стоит несколько версий, у каждой своя строка.
- Выберите нужную и нажмите «Удалить».
- Дождитесь окончания и перезагрузите сервер.
Если нужно оставить клиентскую часть, а убрать только сервер, выберите «Изменить» вместо «Удалить». В списке компонентов отключите «Сервер 1С:Предприятия 8» и связанные серверные компоненты, остальное оставьте.
После деинсталляции проверьте, исчезла ли служба:
sc query "1C:Enterprise 8.3 Server Agent (x86-64)"
Ответ «Указанная служба не установлена» (ошибка 1060) означает, что всё прошло штатно. Если служба на месте — переходите к следующему разделу.
4. Как удалить службу сервера 1С командой, не трогая платформу
Этот способ нужен, когда платформа должна остаться (например, на машине работают клиенты или будет переустановлена служба с другими параметрами), а также когда деинсталлятор службу не снял.
Способ 1. Командой sc delete
Запустите командную строку от имени администратора и выполните:
sc stop "1C:Enterprise 8.3 Server Agent (x86-64)"
sc delete "1C:Enterprise 8.3 Server Agent (x86-64)"
Имя службы с пробелами берут в кавычки. А в параметрах вида state= all пробел после знака равенства обязателен, без него sc выдаст справку вместо результата. Ответ [SC] DeleteService: успех означает, что служба удалена.
Способ 2. Через ragent.exe
У самого агента есть ключ для снятия регистрации службы. Перейдите в каталог bin нужной версии и выполните:
cd "C:\Program Files\1cv8\8.3.xx.xxxx\bin"
ragent.exe -rmsrvc
Ключом -instsrvc эта же программа регистрирует службу заново, поэтому способ удобен при переустановке. Если на сервере несколько служб 1С, надёжнее sc delete с точным именем: так вы гарантированно удалите именно ту, что нужно.
Сравнение способов
| Способ | Когда подходит | Что остаётся после |
|---|---|---|
| «Программы и компоненты» | Сервер 1С больше не нужен | Каталог srvinfo, пользователь USR1CV8, правила брандмауэра |
sc delete | Платформу оставляем, удаляем одну конкретную службу | Файлы платформы, srvinfo, пользователь |
ragent.exe -rmsrvc | Переустановка службы той же версии | То же, что после sc delete |
В PowerShell 6 и новее есть командлет Remove-Service -Name "...". В Windows PowerShell 5.1, который стоит по умолчанию в Windows Server 2016–2022, его нет — там используйте sc.exe delete. Именно sc.exe: просто sc в PowerShell — это псевдоним другой команды.
5. Чистка реестра Windows после удаления службы
Обычно sc delete сам удаляет ветку службы. Ручная чистка нужна, если служба осталась в списке после перезагрузки или в ветке остались повреждённые данные.
Перед правкой реестра экспортируйте ветку в .reg-файл. Ошибка в разделе Services может помешать загрузке Windows.
- Откройте
regeditот имени администратора. - Перейдите в раздел:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
- Найдите подраздел с именем службы 1С (например,
1C:Enterprise 8.3 Server Agent (x86-64)). Проверьте, что в параметреImagePathуказан путь кragent.exe, — так вы не удалите чужую службу. - Правой кнопкой по разделу → «Экспортировать», сохраните файл.
- Удалите раздел и перезагрузите сервер.
Ту же операцию можно сделать одной командой с предварительной копией:
reg export "HKLM\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent (x86-64)" C:\backup\1c-agent.reg
reg delete "HKLM\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent (x86-64)" /f
Остальные ключи 1С в реестре (HKLM\SOFTWARE\1C, записи деинсталлятора) трогать не нужно, если вы только удаляете службу. Их стоит убирать лишь тогда, когда платформа удалена, а повторная установка ругается на уже установленную версию.
6. Какие папки сервера 1С удалить вручную
Деинсталлятор не удаляет данные, созданные во время работы сервера. Вот что остаётся на диске:
| Папка | Что в ней | Можно ли удалять |
|---|---|---|
C:\Program Files\1cv8\8.3.xx.xxxx | Файлы платформы нужной версии | Да, если версия удалена и папка осталась |
C:\Program Files\1cv8\srvinfo | Реестр кластера, журналы, сеансовые данные, кэш | Да, после копии |
C:\Users\USR1CV8 | Профиль пользователя службы, кэш | Да, после удаления пользователя |
C:\ProgramData\1C\licenses | Программные лицензии | Нет, если платформа ещё нужна на этой машине |
Путь к srvinfo может отличаться: его задают ключом -d при регистрации службы. Посмотрите его в строке «Исполняемый файл», которую вы сохранили на шаге подготовки.
Если папка не удаляется с сообщением «Файл открыт в другой программе», значит, какой-то процесс 1С ещё жив. Вернитесь к разделу про остановку и проверьте tasklist.
Не удаляйте C:\Program Files\1cv8 целиком, если на машине остаются другие версии платформы или клиент. Удаляйте только папку конкретной версии и srvinfo.
7. Пользователь USR1CV8 и права доступа
При установке сервера 1С с запуском как службы установщик создаёт локального пользователя USR1CV8 и группу пользователей сервера. Под этим пользователем работает служба. Если сервер удаляется окончательно, учётку стоит убрать: неиспользуемая локальная учётная запись — лишняя точка входа.
- Откройте
lusrmgr.msc(на контроллере домена этой оснастки нет — там учётку ищут в «Пользователях и компьютерах Active Directory»). - В разделе «Пользователи» удалите
USR1CV8. - В разделе «Группы» найдите группу, созданную установщиком 1С (в её названии есть «1С:Предприятия»), и удалите её, если в ней нет других участников.
- Удалите папку профиля
C:\Users\USR1CV8. Если система предупреждает, что профиль используется, удалите его черезСвойства системы → Дополнительно → Профили пользователей.
Командой:
net user USR1CV8 /delete
Если служба работала под доменной учётной записью, её удаляет администратор домена. Не удаляйте доменного пользователя, пока не убедитесь, что от его имени не работает ничего другого: служба СУБД, задания планировщика, общие папки.
Последний пункт — брандмауэр. Если для сервера открывали порты 1540, 1541 и диапазон 1560–1591, удалите эти правила в wf.msc → «Правила для входящих подключений». Найти их удобно по номеру порта в колонке «Локальный порт».
8. Если служба 1С не удаляется: диагностика
Большинство проблем при удалении — это ошибки Windows, а не 1С. Найдите своё сообщение ниже.
Если ни один вариант не подошёл, загляните в журнал Windows: eventvwr.msc → «Журналы Windows» → «Система». Отфильтруйте по источнику Service Control Manager — там видно, почему служба не остановилась или не удалилась.
9. Частые вопросы
Пропадут ли базы, если удалить службу сервера 1С?
Можно ли перенести список баз на новый сервер?
1CV8Clst.lst в каталоге reg_1541 сохранённой копией. При большой разнице версий надёжнее зарегистрировать базы вручную.Нужно ли удалять службу перед обновлением платформы?
ragent.exe. Старую службу удаляют, чтобы две версии не конкурировали за один порт.Как удалить службу на сервере без графического интерфейса?
sc stop и sc delete по SSH или в PowerShell Remoting. Для удалённого компьютера используйте sc \\имя_сервера delete "имя службы".