Доброго времени суток.

Нужно программно зайти в реестр кластера 1С, создать/обновить или удалить там определенную базу данных.

Каким образом это реализовать программно, использую средство RAS/RAC от 1с, минуя старую технологию COM.

Есть ли методы прямого выполнения команд RAS, с возможностью получения результата исполнения команды или ошибки в случае не отработки?
---
https://infostart.ru/public/1234139/

Web-сервис/Http-сервис сначала нужно создать в конфигураторе и описать их функции.
---
Ветка в СП Средства интеграции и администрирования - Администрирование сервера "1С:Предприятия"
Например:

```1c
    &НаКлиенте
    Процедура ПолучитьКластеры(Команда)
    СписокКластеров.Очистить();
    Агент = Новый АдминистрированиеСервера("localhost", "1545");
    Агент.ВыполнитьАутентификацию();
    Кластеры = Агент.ПолучитьКластеры();
    Для Каждого Кластер Из Кластеры Цикл
    СписокКластеров.Добавить(Кластер, Кластер.Имя);
    КонецЦикла;
    КонецПроцедуры

    &НаКлиенте
    Процедура ПолучитьБазы(Команда)
    СписокБаз.Очистить();
    Кластер = Элементы.СписокКластеров.ТекущиеДанные;
    Если Кластер <> Неопределено Тогда
    АдминистрированиеКластера = Кластер.Значение;
    АдминистрированиеКластера.ВыполнитьАутентификацию();
    Базы = АдминистрированиеКластера.ПолучитьИнформационныеБазы();
    Для Каждого База Из Базы Цикл
    СписокБаз.Добавить(База, База.Имя);
    КонецЦикла;
    КонецЕсли;
    КонецПроцедуры

    &НаКлиенте
    Процедура ПолучитьСеансы(Команда)
    СписокСеансов.Очистить();
    База = Элементы.СписокБаз.ТекущиеДанные;
    Если База <> Неопределено Тогда
    АдминБаза = База.Значение;
    Сеансы = АдминБаза.ПолучитьСеансы();
    Для Каждого Сеанс Из Сеансы Цикл
    СписокСеансов.Добавить(Сеанс, Сеанс.ИмяПриложения);
    КонецЦикла;
    КонецЕсли;
    КонецПроцедуры

    &НаКлиенте
    Процедура ЗавершитьСеанс(Команда)
    Сеанс = Элементы.СписокСеансов.ТекущиеДанные;
    Если Сеанс <> Неопределено Тогда
    АдминСеанс = Сеанс.Значение;
    АдминСеанс.ЗавершитьСеанс();
    КонецЕсли;
    КонецПроцедуры
```
---
В общем случае - да, но не анонимно.
ODATA
Web-Сервис
HTTP-Сервис
---
Ветка в СП Средства интеграции и администрирования - Администрирование сервера "1С:Предприятия"
Например:

```1c
    &НаКлиенте
    Процедура ПолучитьКластеры(Команда)
    СписокКластеров.Очистить();
    Агент = Новый АдминистрированиеСервера("localhost", "1545");
    Агент.ВыполнитьАутентификацию();
    Кластеры = Агент.ПолучитьКластеры();
    Для Каждого Кластер Из Кластеры Цикл
    СписокКластеров.Добавить(Кластер, Кластер.Имя);
    КонецЦикла;
    КонецПроцедуры

    &НаКлиенте
    Процедура ПолучитьБазы(Команда)
    СписокБаз.Очистить();
    Кластер = Элементы.СписокКластеров.ТекущиеДанные;
    Если Кластер <> Неопределено Тогда
    АдминистрированиеКластера = Кластер.Значение;
    АдминистрированиеКластера.ВыполнитьАутентификацию();
    Базы = АдминистрированиеКластера.ПолучитьИнформационныеБазы();
    Для Каждого База Из Базы Цикл
    СписокБаз.Добавить(База, База.Имя);
    КонецЦикла;
    КонецЕсли;
    КонецПроцедуры

    &НаКлиенте
    Процедура ПолучитьСеансы(Команда)
    СписокСеансов.Очистить();
    База = Элементы.СписокБаз.ТекущиеДанные;
    Если База <> Неопределено Тогда
    АдминБаза = База.Значение;
    Сеансы = АдминБаза.ПолучитьСеансы();
    Для Каждого Сеанс Из Сеансы Цикл
    СписокСеансов.Добавить(Сеанс, Сеанс.ИмяПриложения);
    КонецЦикла;
    КонецЕсли;
    КонецПроцедуры

    &НаКлиенте
    Процедура ЗавершитьСеанс(Команда)
    Сеанс = Элементы.СписокСеансов.ТекущиеДанные;
    Если Сеанс <> Неопределено Тогда
    АдминСеанс = Сеанс.Значение;
    АдминСеанс.ЗавершитьСеанс();
    КонецЕсли;
    КонецПроцедуры
```
---
Агент = Новый АдминистрированиеСервера("localhost", "1545");

Ругается:

Тип не определен (АдминистрированиеСервера)
 Агент = Новый <<?>>АдминистрированиеСервера("localhost", "1545"); (Проверка: Сервер)

Что на сервере, что на клиенте. У меня платформа 8.3.13.1513.
---
Нужна 8.3.14.
---
(2)
Возможно ли новыми методами получить пользователей базы данных и назначить им права?
---
Вряд ли. т.к. работа с пользователями ИБ - это уже внутри ИБ должно происходить.
---
елями ИБ - это уже внутри ИБ долж

А есть ли способ подключиться к базе, минуя COM?
---
В общем случае - да, но не анонимно.
ODATA
Web-Сервис
HTTP-Сервис
---
есть примеры, как по каждой из приведенных технологий сделать коннект к базе?
---
https://infostart.ru/public/1234139/

Web-сервис/Http-сервис сначала нужно создать в конфигураторе и описать их функции.
---
Получается, если есть более 100 баз, то в конфигураторе каждой из них нужно создавать и описывать web сервис?
---
Да. ODATA доступен на уровне платформы, необходимо только выполнить публикацию БД на веб-сервере.
---
необходимо только выполнить публикацию БД на веб-сервере

То есть без написания кода в этих "более 100-ни" баз не обойтись?

Или все таки есть волшебное средство, по которому можно подключиться к базе.

В принципе мне нужно в базе куда коннект идет получить список пользователей, добавить/удалить пользователя, назначить ему права.
---
С помощью ODATA, с использованием логин/пароля пользователя с полными правами внутри базы
По-другому - только COM остается, но там тоже нужны логин и пароль.
---
C 8.3.14 работа из кода
Для более ранних посмотрите моудль АдминистрированиеКластераRAS в БСП 3.1
Там еще через ЗапуститьКоманду реализовано. На 3.1.2.202 во всяком случае так

(5) Не видел даже просто в командах RAC таких функций, работа с ИБ, сеансами, соединениями - то же что и в старой консоли.
---
С RAS лучше работать минуя 1С. Зачем вам через платформу управлять базами данных.
Вот пример как я это делаю через консоль:

```1c
    .\rac.exe cluster list $addr
    .\rac.exe infobase --cluster=$id summary list $addr
    .\rac.exe session --cluster=$cid list --infobase=$iid $addr
    .\rac.exe infobase update --infobase=$iid --infobase-user=$usr --infobase-pwd=$pswd --cluster=$cid --sessions-deny=$block --permission-code=156 --scheduled-jobs-deny=$block --denied-to=" $addr
```
---
Нужно именно через 1С. Так как запилена самописная система управления базами.
---
тогда в помощь библиотека irac от onescript. Т.к. язык используется один, ни что не мешает его внедрить в 1С:
https://github.com/arkuznetsov/irac
---
а роли как привязывать? если к примеру зоопарк конфигураций
каждый раз формировать список ролей?