![]() |
Тихое развертывание ПО - из консоли - с файлового сервера
Вложений: 1
Периодически возникает необходимость развернуть набор ПО на одном или ряде ПК, это можно сделать различными способами, в разных ситуациях администраторы используют тот или иной, удобный им в данном конкретном случае.
Хочу поделиться одним из способов, который я периодически применяю (есть много других способов, это один из них. он не заменяет SCCM, etc, он дает альтернативу). Резюме: Это самописный скрипт, который после запуска выполняет поочередно скрипты (тихой установки) в определенной директории и выводит информацию в графическом виде, вот так: ![]() После установки последнего приложения, включается таймаут на 120 секунд и консоль закрывается. Есть идеи по оптимизации кода и улучшениях алгоритма работы, например добавление уведомлений и ведении логов, но пока немного не до этого, я думаю что решение конкретной задачи, должно быть быстрым и эффективным, а сюси пуси можно оставить на потом. Но, ближе к сути. Весь набор, состоит из: \install_all.bat - тело основного скрипта, запуск которого инициирует установку всего ПО и выводит процесс в консоль. \uac_off.bat - скрипт, отключающий UAC. Пока не используется, создан на перспективу обновления install_all.bat \uac.off.reg - ключ реестра, отключающий UAC. Инъекцию ключа выполняет uac_off.bat \distr.cmd - каталог со скриптами установки. \distr.cmd\*[1.bat-14.bat в текущем примере] - скрипты установки. ------ code: ------ install_all.bat: Код:
@echo off Имена пакетов установки, пока вбиты жестко, в дальнейшем можно сделать перехват имен как параметров. appname и append нужны тут только для видимости ширины поля и не используются. блок :render рисует таблицу, по имеющимся параметрам. REM DROP - сброс статуса всех пакетов в значение stat_uns REM WORK - делает call \\path\%%i.bat с 1, до endnum, с шагом 1. ставим выполняемому пакету статус 50%, рисуем таблицу, вызываем скрипт, ставим статус 100%, и так далее, пока %%i меньше либо равно endnum Можно будет провести оптимизацию и делать обход подкаталога захватывая имена пакетов как переменные и не указывая endnum. install_all.bat отделен от скриптов установки, для удобства чтения кода и работы с ним. В примере выше, путь \\sr-datastore-323\_distr\ это шаренный каталог на сервере sr-datastore-323. т.е. все файлы, как установки, так и скрипты хранятся на файловом сервере. \\sr-datastore-323\_distr\!install_dir\ корневой каталог установщика \\sr-datastore-323\_distr\!install_dir\distr.cmd\ каталог со скриптами тихой установки от 1.bat о 14.bat в текущем примере, номер соответствует "set app_%=" В вашем случае, пути будут другие. Во всех примерах ниже, будет указан сетевой путь до файлов лежащих на этом файловом сервере. ----------------- \uac_off.bat - скрипт выполняющий инъекцию в реестр Код:
@echo off Код:
Windows Registry Editor Version 5.00 Каталог distr.cmd: Всё ПО ставится в тихом режиме, никаких действий выполнять не требуется, установка проходит все пункты поочередно и отображает процесс в консоли. ? Link and stuff - выполняем всякие полезные штуки, создаем ярлыки и т.д., кому что надо: Код:
if exist "C:\Users\Public\Desktop\desktop.ini" ( Код:
"\\sr-datastore-323\_adm\_distr\_corp\office 2010\setup.exe" Код:
"\\sr-datastore-323\_adm\_distr\_corp\AdobeAcrobat Reader\AdbeRdr1000_ru_RU.exe" /msi EULA_ACCEPT=YES /qn Код:
"\\sr-datastore-323\_adm\_distr\_corp\FineReader\Setup.exe" /qn Код:
"\\sr-datastore-323\_adm\_distr\_corp\Adobe Flash\install_flash_player.exe" -install Код:
"\\sr-datastore-323\_adm\_distr\_corp\Java\Java 7\jre-7-windows-i586.exe" /s /NoRestart Код:
"\\sr-datastore-323\_adm\_distr\_corp\Free Commander\fc_setup.exe" /SP- /VERYSILENT /LANG=Russian /NORESTART Код:
if exist "%ProgramFiles%\VideoLAN\VLC\uninstall.exe" ( Код:
"\\sr-datastore-323\_adm\_distr\_corp\WinRAR_4.01_corp\wrar401ru.exe" /s Код:
"\\sr-datastore-323\KLSHARE\Packages\KavWks 6.0.4.1424\exec\setup.exe" /s Код:
"\\sr-datastore-323\KLSHARE\Packages\NetAgent 8.0.2134\exec\setup.exe" /s Код:
"\\sr-datastore-323\_adm\_distr\_corp\Net_ Framework\Package\DotNet_1.0-4.0.exe" /S Код:
"\\sr-datastore-323\1C81Admin\setup.exe" /s /v/qn "C:\Program Files (x86)\1cv81\bin\1cv8.exe" enterprise /Ssr-1c-125\base ? Consultant Plus - запуск стандартного "установщика" консультанта, вопрос с тихой установкой пока толком не решен, поэтому этот пункт последний в списке, есть идеи по реализации тихой установки окольными путями: Код:
"\\sr-kncges-323\ConsultantPlus\cons.exe" Есть что изменить в install_all.bat, есть куда улучшать, вижу вектора движения, пока нет особого желания и необходимости. Приму любые идеи, критику и предложения. |
Сразу говорю не селен в написании скриптов )) По этой причине и спрашиваю.
Вопрос возник по данному батнику. Сделал следующие файлы. Код:
\install_all.bat Код:
\distr.cmd - каталог со скриптами установки. Код:
\distr.cmd\*[1.bat-14.bat в текущем примере] - скрипты установки. ?? На данный момент у меня в файле distr.cmd - прописаны пути до bat файлов. До этого в distr.cmd были прописаны пути ключами тихой установки. Все конено работает но криво и без построения графика. Если прописать call "\\server\soft\hiden_install\distr.cmd\" - работает , но криво. Если оставить call "\\server\soft\hiden_install\distr.cmd\%%i.bat" - отдает "неверно задано имя папки" запускается отсчет в 120 сек. Как быть то ? |
tutitam, по поводу пакетного файла лучше пишите непосредственно автору.
|
Отправил, но судя по активности автора на форуме, что то мне подсказывает, что ответа возможно придется ждать долго :)
|
tutitam, написали именно на почту?
|
Iska, И на поту в том числе.
|
C выше описанной проблемой разобрался, все дело в том, что не внимательно читал пост автора.
Но все же остается вопрос - почему то не отрисовывается график, выдает кракозябру. |
Проблема решена.
Для того чтобы корректно отрисовывалась таблица, скрипт нужно сохранять в кодировке ОЕМ 866. Спасибо Zorge.R., помог разобраться. |
Время: 18:26. |
Время: 18:26.
© OSzone.net 2001-