Меняем учётную запись, порты и версию платформы в службе ragent 1С 8.3

· 10 мин

Содержание

Изменить службу агента сервера 1С можно тремя способами: через оснастку services.msc (учётная запись, тип запуска, восстановление), командой sc config или правкой параметра ImagePath в реестре (путь к ragent.exe, порты, каталог кластера), либо переустановкой службы ключами ragent.exe -rmsrvc / -instsrvc. Оснастки хватает для смены пароля и пользователя. Для смены версии платформы и портов нужна командная строка или реестр.

Всё ниже относится к платформе 1С:Предприятие 8.3 на Windows Server 2016 и новее. Конфигурация базы (БП, ЗУП, УТ) здесь роли не играет: служба одна на весь сервер.

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

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

Служба запускает процесс ragent.exe. Он, в свою очередь, поднимает менеджер кластера rmngr.exe и рабочие процессы rphost.exe. Если служба не стартует, не работает ничего: ни клиенты, ни консоль администрирования.

Схема обмена по умолчанию:

КомпонентПроцессПорт по умолчаниюКлюч в командной строке службы
Агент сервераragent.exe1540-port
Менеджер кластераrmngr.exe1541-regport
Рабочие процессыrphost.exe1560–1591-range

Клиент сначала обращается к агенту на 1540, затем к менеджеру кластера на 1541 и дальше к рабочему процессу из диапазона. Консоль администрирования серверов тоже ходит через агент. Диапазон портов рабочих процессов потом можно поменять в свойствах рабочего сервера в консоли, но порты самого агента и менеджера задаются только в командной строке службы.

Типичная командная строка службы выглядит так:

"C:\Program Files\1cv8\8.3.24.1586\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug

Что здесь важно:

  • 📁 -d — каталог кластера srvinfo. В нём лежат реестр кластера, список баз, сеансовые данные и журналы регистрации серверных баз.
  • 🔢 Номер версии в пути — именно эта сборка платформы запустится как сервер.
  • 🐞 -debug — разрешает подключать отладчик к серверу. На рабочем сервере его часто оставляют, но без нужды он не обязателен.
  • 🧩 -srvc -agent — признак запуска в режиме службы. Их не трогают.

Подготовка: что проверить до изменения параметров службы

Пятнадцать минут подготовки снимают большую часть проблем после перезапуска.

  1. Узнайте точное имя службы. Откройте services.msc, найдите строку, которая начинается с 1C:Enterprise 8.3 Server Agent, откройте свойства. На вкладке «Общие» есть поле «Имя службы» — оно нужно для sc и для реестра. Отображаемое имя и имя службы могут различаться.
  2. Сохраните текущую конфигурацию службы в файл:
sc qc "1C:Enterprise 8.3 Server Agent (x86-64)" > C:\Temp\ragent_before.txt
reg export "HKLM\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent (x86-64)" C:\Temp\ragent_before.reg
  1. Скопируйте папку srvinfo целиком. Делать это нужно при остановленной службе, иначе часть файлов окажется занята. Копия выручит, если после правок кластер «потеряет» список баз.
  2. Запишите пароль от учётной записи службы. Если пароль неизвестен, сначала задайте новый в «Управлении компьютером» и только потом меняйте службу.
  3. Проверьте, что нужная сборка платформы установлена с компонентом «Сервер 1С:Предприятия». Папка bin должна содержать ragent.exe.

Если на сервере работает несколько служб агента разных версий, выпишите порты каждой. Две службы с одинаковым -port одновременно не запустятся.

Где открыть настройки службы агента сервера

Есть три точки входа. Выбор зависит от того, что именно меняете.

Что меняетеГде удобнееНужен ли перезапуск
Пользователь и парольservices.msc → свойства → «Вход в систему»Да
Тип запускаservices.msc → «Общие» или sc config ... start=Нет, действует при следующей загрузке
Восстановление при сбояхservices.msc → «Восстановление» или sc failureНет
Порты, каталог srvinfo, ключ -debugsc config ... binPath= или реестр ImagePathДа
Версия платформыragent.exe -rmsrvc / -instsrvc или правка ImagePathДа

Оснастка открывается так: Win+R → services.msc. Командная строка нужна с правами администратора: в меню «Пуск» найдите cmd, правой кнопкой — «Запуск от имени администратора».

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

Как изменить учётную запись службы агента сервера 1С

По умолчанию установщик создаёт локального пользователя USR1CV8 и запускает службу от его имени. Менять его приходится в трёх случаях:

  • 🔐 истёк или сменился пароль USR1CV8, и служба перестала стартовать;
  • 🗄️ СУБД (MS SQL Server) подключается с проверкой подлинности Windows, и службе нужна доменная учётная запись с доступом к SQL;
  • 🔑 настраивается аутентификация пользователей 1С средствами ОС через Kerberos — тогда служба работает под доменной учётной записью, для которой регистрируют SPN.

Через оснастку services.msc

  1. Остановите службу (кнопка «Остановить» в свойствах).
  2. Перейдите на вкладку «Вход в систему».
  3. Выберите «С учётной записью» и укажите пользователя: .\USR1CV8 для локального или DOMAIN\svc_1c для доменного.
  4. Дважды введите пароль, нажмите «Применить».
  5. Запустите службу на вкладке «Общие».

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

Через командную строку

sc stop "1C:Enterprise 8.3 Server Agent (x86-64)"
sc config "1C:Enterprise 8.3 Server Agent (x86-64)" obj= ".\USR1CV8" password= "НовыйПароль"
sc start "1C:Enterprise 8.3 Server Agent (x86-64)"

После obj= и password= обязателен пробел — это особенность синтаксиса sc. Без пробела команда вернёт справку вместо результата.

Какие права нужны новой учётной записи

Новому пользователю мало права на вход как служба. Проверьте доступ к папкам:

ПапкаПрава
Каталог кластера (srvinfo или путь из -d)Полный доступ
Каталог платформы C:\Program Files\1cv8\<версия>\binЧтение и выполнение
Временная папка профиля пользователя службыПолный доступ (выдаётся системой)
Папки, куда база выгружает файлы, обработки, обменыЧтение и запись

Не запускайте службу от «Локальной системы» и от администратора домена. Рабочие процессы выполняют серверный код конфигураций, внешние обработки и обмены. Если что-то пойдёт не так, ущерб ограничится правами пользователя службы.

Сменили пользователя при MS SQL с Windows-аутентификацией — дайте новому пользователю логин в SQL Server и права на базы. Иначе служба запустится, а базы будут падать на подключении к СУБД.

Как поменять путь, порты и версию платформы в службе

Правка командной строки через sc config

Пример: переносим агент на порты 2540/2541 и диапазон 2560–2591, чтобы рядом работала вторая служба.

sc stop "1C:Enterprise 8.3 Server Agent (x86-64)"
sc config "1C:Enterprise 8.3 Server Agent (x86-64)" binPath= "\"C:\Program Files\1cv8\8.3.24.1586\bin\ragent.exe\" -srvc -agent -regport 2541 -port 2540 -range 2560:2591 -d \"D:\srvinfo2540\" -debug"
sc start "1C:Enterprise 8.3 Server Agent (x86-64)"

Кавычки внутри binPath= экранируются обратной косой чертой. Ошибка в кавычках — частая причина ошибки 1053 после правки.

Клиенты после смены порта подключаются по адресу server:2541 в строке подключения базы (Srvr="server:2541";Ref="base";). Порт менеджера кластера указывают тогда, когда он отличается от стандартного.

Правка через реестр

Тот же результат даёт параметр ImagePath в ветке:

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

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

Смена версии платформы: переустановка службы

После установки новой сборки платформы служба продолжает смотреть в папку старой версии. Есть два варианта:

  • поменять номер версии в ImagePath — быстро, сохраняет имя службы и учётную запись;
  • удалить службу ключами старой версии и зарегистрировать новую ключами нового ragent.exe.

Второй вариант выглядит так:

"C:\Program Files\1cv8\8.3.22.2239\bin\ragent.exe" -stop
"C:\Program Files\1cv8\8.3.22.2239\bin\ragent.exe" -rmsrvc

"C:\Program Files\1cv8\8.3.24.1586\bin\ragent.exe" -instsrvc -usr .\USR1CV8 -pwd НовыйПароль -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug
"C:\Program Files\1cv8\8.3.24.1586\bin\ragent.exe" -start

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

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

Тип запуска и восстановление службы при сбоях

Тип запуска

Для рабочего сервера ставят «Автоматически». Вариант «Автоматически (отложенный запуск)» полезен, когда СУБД стоит на том же сервере и не успевает подняться до агента 1С: служба 1С стартует позже основной волны служб.

sc config "1C:Enterprise 8.3 Server Agent (x86-64)" start= delayed-auto

Вместо delayed-auto можно указать auto или demand (вручную). Тип «Вручную» оставляют на тестовом сервере, где несколько версий платформы включают по очереди.

Восстановление

Вкладка «Восстановление» отвечает за поведение Windows, если ragent.exe аварийно завершился. Рабочая настройка:

СбойДействие
ПервыйПерезапуск службы через 1 минуту
ВторойПерезапуск службы через 1 минуту
ПоследующиеБез действий
Сброс счётчика ошибокЧерез 1 день

То же самое одной командой (задержка в миллисекундах, сброс в секундах):

sc failure "1C:Enterprise 8.3 Server Agent (x86-64)" reset= 86400 actions= restart/60000/restart/60000//0

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

Диагностика: служба агента 1С не запускается после изменений

Первое, куда смотреть, — «Просмотр событий» (eventvwr.msc) → Журналы Windows → Система, источник Service Control Manager. Там будет код ошибки и имя службы.

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

Для проверки ответа агента без консоли удобна утилита rac из той же папки bin. Перед её использованием запустите службу ras (сервер администрирования), затем:

rac cluster list

Если в ответ пришёл список кластеров с портом 1541 (или вашим), агент и менеджер кластера работают.

Безопасность и дополнительные настройки службы агента

Администраторы кластера и агента

Без администраторов кластера любой, кто знает адрес сервера, откроет консоль и сможет удалять базы из кластера или завершать сеансы. Задайте администратора агента (центрального сервера) и администратора кластера в консоли администрирования серверов. Пароли храните в менеджере паролей отдела.

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

Брандмауэр

Откройте на сервере 1С только нужные порты входящих подключений: 1540, 1541, диапазон рабочих процессов, и 1545, если используете ras. Доступ к ним ограничьте подсетью, где работают пользователи и терминальные серверы.

netsh advfirewall firewall add rule name="1C Server Agent" dir=in action=allow protocol=TCP localport=1540-1541,1560-1591

Вторая служба на том же сервере

Две версии платформы на одном сервере живут параллельно, если у служб разные:

  • имена служб;
  • порты -port, -regport и диапазоны -range (обычно 1540/1541/1560–1591 и 2540/2541/2560–2591);
  • каталоги кластера в -d.

Вторую службу создают командой sc create с собственным именем и командной строкой по образцу из раздела про порты. Ключ -instsrvc для второй службы не подходит: он регистрирует службу со стандартным именем и конфликтует с первой.

Проверка после изменения службы агента
Выполнено: 0 / 6

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

Можно ли переименовать службу агента сервера 1С?
Переименовать существующую службу средствами Windows нельзя. Создают новую через sc create с нужным именем и той же командной строкой, а старую удаляют sc delete после проверки.
Нужно ли перезапускать службу после смены пароля USR1CV8?
Да. Запущенная служба продолжает работать со старым сеансом входа, но при следующем старте не войдёт в систему и выдаст ошибку 1069. Пароль в свойствах службы меняйте сразу вместе с паролем пользователя.
Как запретить истечение пароля у USR1CV8?
В «Управлении компьютером» → Локальные пользователи и группы → Пользователи откройте USR1CV8 и отметьте «Срок действия пароля не ограничен». Для доменной учётной записи это решается политикой паролей домена или управляемой учётной записью службы.
Сохранятся ли базы кластера при переустановке службы?
Сохранятся, если новая служба смотрит в тот же каталог кластера через ключ -d. Список баз хранится в файлах каталога кластера, а не в самой службе.
Где посмотреть, от какой версии платформы работает сервер?
В свойствах службы, поле «Исполняемый файл»: номер сборки входит в путь к ragent.exe. Ещё проще — команда sc qc с именем службы.