Способ может пригодиться, когда использование групповых политик может быть неприемлемо: нет прав, нет времени, нет AD в конце концов. К тому же, зачастую, для применения политики нужно не менее двух перезагрузок клиентской машины.
Кто-то из читателей наверняка слышал про утилиту psexec. С её помощью можно выполнять команды на удалённом компьютере(-ах). Вот ею мы и воспользуемся.
Ставить будем клиента версии 4.3. Для полноценной его работы требуется .NET Framework 3.5 SP1. По своему опыту могу сказать, что далеко не всегда он установлен, поэтому его тоже включим в скрипт.
Для начала нужно создать два ресурса: один с пакетами инсталляции, второй для журналов установки.
К примеру такие:
\\SERVERNAME\dv_install
\\SERVERNAME\dv_install_logs
Минимальные права для первого - чтение для учётной записи из-под которой будет происходит установка, для второго - чтение\запись для этой же учётной записи.
Если нужно, скачиваем полный дистрибутив NET Framework 3.5 SP1 (231 мб) и кладём его в папку с пакетами клиента DV.
Далее, при помощи генератора преобразований (в консоли настройки) нужно создать преобразования для пакетов DocsVision TakeOffice и DocsVision Client.
В первом пакете, в общем случае, нужно откорректировать значения свойств: BASE_NAME, SERVER_NAME, SITE_URL, SOAP_SERVICE_URL. Во втором - DV_URL. Преобразования сохранить в директории с целевым пакетом.
Теперь нужно создать bat-файлы для установки пакетов.
Файл InstallDVClient.bat
\\SERVERNAME\dv_install\dotnetfx35_wSP1.exe /quiet /norestart
msiexec /i \\SERVERNAME\dv_install\Prerequisites\Prerequisites.msi /quiet /norestart /l* \\SERVERNAME\dv_install_logs\Prerequisites_%COMPUTERNAME%.log
msiexec /i \\SERVERNAME\dv_install\DocsVisionClient\DocsVisionClient1848.msi TRANSFORMS="\\SERVERNAME\dv_install\DocsVisionClient\dv43.mst" ALLUSERS=1 /quiet /norestart /l* \\SERVERNAME\dv_install_logs\Client_%COMPUTERNAME%.log
msiexec /i \\SERVERNAME\dv_install\TakeOfficeClient\TakeOfficeClient1848.msi TRANSFORMS="\\SERVERNAME\dv_install\TakeOfficeClient\dv43.mst" ALLUSERS=1 /quiet /norestart /l* \\SERVERNAME\dv_install_logs\TakeOffice_%COMPUTERNAME%.log
msiexec /i \\SERVERNAME\dv_install\WorkflowClient\WorkflowClient1848.msi ALLUSERS=1 /quiet /norestart /l* \\SERVERNAME\dv_install_logs\Workflow_%COMPUTERNAME%.log
msiexec /i \\SERVERNAME\dv_install\DocsVisionManagedClient\DocsVisionManagedClient1848.msi ALLUSERS=1 /quiet /norestart /l* \\SERVERNAME\dv_install_logs\ManagedClient_%COMPUTERNAME%.log
del %WINDIR%\System32\InstallDVClient.bat
Кому не нужно ставить Framework - убирают первую строку.
Установка будет производиться в режиме "для всех пользователей", на что указывает флаг ALLUSERS=1 (Prerequisites и ManagedClient всегда ставятся в этом режиме). Кому было лень создавать файлы-трансформеры, могут также указать все нужные параметры прямо в файле, но мне это кажется слишком громоздким. Логи будут складываться во вторую шарку. Для каждого компьютера свои логи для каждого пакета.
Файл Install.bat
psexec.exe @C:\DV_Remote_Install\Comps.txt -u Administrator -p password -d -c -f InstallDVClient.bat
В файле Comps.txt хранится список имён (или IP-адресов) компьютеров на которых нужно произвести установку.
Параметр -u в данном случае обязателен, поскольку иначе удалённый процесс установки запустится от имени текущего пользователя с помощью механизма имперсонации. Из соображений безопасности, запущенный в таком режиме процесс не сможет получить доступ к сетевым ресурсам. Итак, указываем пользователя, обладающего административными привилегиями на всех целевых машинах. Пароль можно явно не указывать, в таком случае его нужно будет ввести при запуске команды.
Параметр -d указывает программе не дожидаться окончания выполнения команды. Если его не указать, то установка будет производиться последовательно на каждом компьютере, что значительно увеличит время развёртывания.
Опции -с и -f указывают, что файл InstallDVClient.bat нужно перед выполнением предварительно скопировать на целевую машину, т.к. его там изначально нет.
Вот и всё. Можно запускать Install.bat и ждать. NET Framework будет ставиться 10-20 минут, потом установятся пакеты пакеты клиентской части (~5 минут). В случае возникновения проблем смотрим логи.
Таким же образом, в случае необходимости, пакеты можно удалить с клиентских машин. Для этого у msiexec существует ключ -x.
Читать дальше
2 коммент.:
Михаил, привет. Спасибо за статью. Существует ли способ удалить DV 3.6, установленный для конкретного пользователя? Или единственный способ - запустить скрипт удаления под этим пользователем.
С уважением, Михаил
Я не автор данного поста. Если речь идет о групповом удалении, то конечно, нужно запустить скрипт удаления.
Отправить комментарий