Меняем учётную запись, порты и версию платформы в службе ragent 1С 8.3
Содержание
Изменить службу агента сервера 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.exe | 1540 | -port |
| Менеджер кластера | rmngr.exe | 1541 | -regport |
| Рабочие процессы | rphost.exe | 1560–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— признак запуска в режиме службы. Их не трогают.
Подготовка: что проверить до изменения параметров службы
Пятнадцать минут подготовки снимают большую часть проблем после перезапуска.
- Узнайте точное имя службы. Откройте
services.msc, найдите строку, которая начинается с1C:Enterprise 8.3 Server Agent, откройте свойства. На вкладке «Общие» есть поле «Имя службы» — оно нужно дляscи для реестра. Отображаемое имя и имя службы могут различаться. - Сохраните текущую конфигурацию службы в файл:
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
- Скопируйте папку
srvinfoцеликом. Делать это нужно при остановленной службе, иначе часть файлов окажется занята. Копия выручит, если после правок кластер «потеряет» список баз. - Запишите пароль от учётной записи службы. Если пароль неизвестен, сначала задайте новый в «Управлении компьютером» и только потом меняйте службу.
- Проверьте, что нужная сборка платформы установлена с компонентом «Сервер 1С:Предприятия». Папка
binдолжна содержатьragent.exe.
Если на сервере работает несколько служб агента разных версий, выпишите порты каждой. Две службы с одинаковым -port одновременно не запустятся.
Где открыть настройки службы агента сервера
Есть три точки входа. Выбор зависит от того, что именно меняете.
| Что меняете | Где удобнее | Нужен ли перезапуск |
|---|---|---|
| Пользователь и пароль | services.msc → свойства → «Вход в систему» | Да |
| Тип запуска | services.msc → «Общие» или sc config ... start= | Нет, действует при следующей загрузке |
| Восстановление при сбоях | services.msc → «Восстановление» или sc failure | Нет |
Порты, каталог srvinfo, ключ -debug | sc 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
- Остановите службу (кнопка «Остановить» в свойствах).
- Перейдите на вкладку «Вход в систему».
- Выберите «С учётной записью» и укажите пользователя:
.\USR1CV8для локального илиDOMAIN\svc_1cдля доменного. - Дважды введите пароль, нажмите «Применить».
- Запустите службу на вкладке «Общие».
При смене пользователя оснастка сама выдаёт ему право «Вход в качестве службы» и показывает об этом сообщение. Если в домене это право раздаётся групповой политикой, ручная выдача потом перезапишется — тогда пользователя добавляют в политику.
Через командную строку
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. Там будет код ошибки и имя службы.
secpol.msc → Локальные политики → Назначение прав пользователя.binPath=, путь к несуществующей версии, опечатка в ключах. Сравните sc qc с сохранённым до изменений файлом.netstat -ano | findstr :1540 и по PID найдите процесс в диспетчере задач.-d указывает на другой каталог кластера. Верните путь к прежнему srvinfo или восстановите папку из копии.Для проверки ответа агента без консоли удобна утилита 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 для второй службы не подходит: он регистрирует службу со стандартным именем и конфликтует с первой.
Частые вопросы
Можно ли переименовать службу агента сервера 1С?
sc create с нужным именем и той же командной строкой, а старую удаляют sc delete после проверки.Нужно ли перезапускать службу после смены пароля USR1CV8?
Как запретить истечение пароля у USR1CV8?
Локальные пользователи и группы → Пользователи откройте USR1CV8 и отметьте «Срок действия пароля не ограничен». Для доменной учётной записи это решается политикой паролей домена или управляемой учётной записью службы.Сохранятся ли базы кластера при переустановке службы?
-d. Список баз хранится в файлах каталога кластера, а не в самой службе.Где посмотреть, от какой версии платформы работает сервер?
ragent.exe. Ещё проще — команда sc qc с именем службы.