Как правильно обновить платформу через групповую политику

Если вы задумали обновить платформу 1С автоматически, используя Active Directory (AD), то знайте – это просто и возможно. Однако имеется ряд подводных камней. Эта статья поможет вам обойти их.

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

Описание процесса

Файл *.msi с обновлением мы запускаем из АД. То есть специально обученный человек заталкивает ссылочку на этот файл в АД. Причем ставим свойство assign (есть еще published, но оно нам не подходит) и применяем политику на компьютер (то есть политика сработает при включении компа). Только при экспериментах будьте осторожны, если обновление поставите на чистую систему (где нет , собственно, той версии, которую обновляем), то будет потом непросто его корректно удалить - Книга знаний: v8: Как деинсталлировать 1С:Предприятие 8.х

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

del "c:\Program Files\1cv8\bin\bg\*.*" /Q /S /F
del "c:\Program Files\1cv8\bin\de\*.*" /Q /S /F
del "c:\Program Files\1cv8\bin\en\*.*" /Q /S /F
del "c:\Program Files\1cv8\bin\ka\*.*" /Q /S /F
del "c:\Program Files\1cv8\bin\kk\*.*" /Q /S /F
del "c:\Program Files\1cv8\bin\lt\*.*" /Q /S /F
del "c:\Program Files\1cv8\bin\lv\*.*" /Q /S /F
del "c:\Program Files\1cv8\bin\ro\*.*" /Q /S /F
del "c:\Program Files\1cv8\bin\uk\*.*" /Q /S /F
del "c:\Program Files\1cv8\bin\vi\*.*" /Q /S /F

Что делать, если вы уже некорректно обновили и появились проблемы с языком приложения?

Надо сделать 2 файла:

Первый называется Delete_old_lnks.bat. Его содержимое:

@echo off

del "%1\c$\Program Files\1cv8\bin\bg\*.*" /Q /S /F
del "%1\c$\Program Files\1cv8\bin\de\*.*" /Q /S /F
del "%1\c$\Program Files\1cv8\bin\en\*.*" /Q /S /F
del "%1\c$\Program Files\1cv8\bin\ka\*.*" /Q /S /F
del "%1\c$\Program Files\1cv8\bin\kk\*.*" /Q /S /F
del "%1\c$\Program Files\1cv8\bin\lt\*.*" /Q /S /F
del "%1\c$\Program Files\1cv8\bin\lv\*.*" /Q /S /F
del "%1\c$\Program Files\1cv8\bin\ro\*.*" /Q /S /F
del "%1\c$\Program Files\1cv8\bin\uk\*.*" /Q /S /F
del "%1\c$\Program Files\1cv8\bin\vi\*.*" /Q /S /F

exit

Второй файл называется Delete_old_lnks_bulk.bat. его содержимое:

@echo off
REM 
for /F "usebackq skip=3 tokens=1,* delims=, " %%i in (`C:\WINDOWS\SYSTEM32\net.exe view`) do (
title %%i
echo %%i
start Delete_old_lnks.bat %%i
)

Запускать нужно файл Delete_old_lnks_bulk.bat. Он у всех ВКЛЮЧЕННЫХ на тот момент машинах удалит ненужные языковые файлы.