- как из файла (ApplyCFPath), так и из хранилища(ConfigurationRepositoryF)
- как для основной конфигурации, так и для расширения(Extension)
- как с использованием доменной, так и парольной(BaseUser, BaseUserPass) авторизации
- Перед обновлением завершает работу всех пользователей
- Перед обновлением может выполнить обработку WorkloadBeforeUpdatePath
- Перед обновлением запомнит состояние работы РЗ и заблокирует их выполнение
- Перед обновлением блокирует базу случайным или указанным кодом(PermissionCode)
- После обновления применит конфигурацию
- После обновления восстановит сохранённое состояние работы РЗ
- После обновления может выполнить обработку WorkloadAfterUpdatePath
- После обновления может запустить выполнение обработчиков обновления конфигурации (UpdateByClientInTheEnd)
- После обновления разблокирует базу
TargetBase # имя целевой базы для обновления
TargetBaseServer # имя сервера целевой базы для обновления
TargetBasePort # порт сервера целевой базы, если отличается от стандартного то 1541
TargetBaseAgentPort # порт агента сервера целевой базы, если отличается от стандартного то 1540
PermissionCode # код разрешения доступа, если не указан, то устанавливается произвольный
ApplyCFPath # путь к применяемому файлу конфигурации, если отсутствует, то просто применяем конфигурацию
WorkloadBeforeUpdatePath # имя обработки, выполняемой перед обновлением конфигурации. Если файла нет, пропускаем этап
WorkloadAfterUpdatePath # имя обработки, выполняемой после обновления конфигурации. Если файла нет, пропускаем этап
BaseUser # имя пользователя для подключения к базе
BaseUserPass # пароль пользователя для подключения к базе
ConfigurationRepositoryF # адрес хранилища конфигурации
ConfigurationRepositoryN # имя пользователя хранилища конфигурации
ConfigurationRepositoryP # пароль пользователя хранилища конфигурации
Extension # имя расширения хранилища конфигурации
UpdateByClientInTheEnd # /C ЗапуститьОбновлениеИнформационнойБазы
UseRAServer # использовать RASserver с указанный именем и портом
LockMessage # сообщение, используемое для блокировки базы 1С
C1Files # Каталог для используемой версии 1С
Обновление базы basename на сервере serv конфигурацией из файла ApplyCFPath c:\1C\1cfv.cf под именем user с паролем pwd. База блокируется кодом 1, перед обновлением выполняется внешняя обработка отключения РИБ DistributedInfoBase_OFF.epf, после обновления - обработка c:\1C\DistributedInfoBase_ON.epf подключет РИБ
powershell.exe -NoProfile -File c:\dev\C1Updater\C1Updater.ps1 ^
-TargetBase basename ^
-TargetBaseServer serv ^
-TargetBasePort 1541 ^
-TargetBaseAgentPort 1540 ^
-ApplyCFPath c:\1C\1cfv.cf ^
-PermissionCode 1 ^
-WorkloadBeforeUpdatePath c:\1C\DistributedInfoBase_OFF.epf ^
-WorkloadAfterUpdatePath c:\1C\DistributedInfoBase_ON.epf ^
-BaseUser user ^
-BaseUserPass pwd
Обновление расширения repo_ext в базе targetbase на сервере targetserv из привязанного к базе хранилища tcp://server:port/repo_name под именем repo_user и паролем repo_pwd. После применения конфигурации запускаем БСПшные обработчики обновления в конфигурации. Используем RAS-сервер ras_host:port (вместо COM-соединения), указанную версию 1С и блокируем с сообщение "Ты не зайдёшь!" Для авторизации в базе используется доменная авторизация.
powershell -NoProfile -File c:\dev\C1Updater\C1Updater.ps1 ^
-TargetBase targetbase ^
-TargetBaseServer targetserv ^
-TargetBasePort 1541 ^
-TargetBaseAgentPort 1540 ^
-ApplyCFPath "c:\temp\1Cv8_demo.cf" ^
-ConfigurationRepositoryF tcp://server:port/repo_name ^
-ConfigurationRepositoryN repo_user ^
-ConfigurationRepositoryP repo_pwd ^
-Extension repo_ext ^
-UpdateByClientInTheEnd 1 ^
-UseRAServer targetserv:port ^
-LockMessage "Ты не зайдёшь!" ^
-C1Files "c:\program files\1Cv8\8.3.16.1148\bin"
Важный момент - Операции, совершаемые RAS-сервером, осуществляются под УЗ RAS-сервера. Если вы завели его с авторизацией под системной учётной записью, то в базу вы можете не попасть.