Hatred Incorporated
Windows Server 2003: установка программ через групповые политики
С помощью AD можно разворачивать софт на клиентских компах. При этом инсталлятор должен иметь формат MSI. Часто если разработчик не предоставляет отдельный инсталлятор, то внутри ЕХЕ можно найти MSI, распаковав его. Вот несколько примеров:
* Инсталлятор Java распаковывает MSI по пути %user%AppDataLocalLowSun или Oracle
* Comodo Internet Security 5 можно открыть 7zip’ом и найти внутри MSI нужного компонента (например, фаервола)
Установка из MSI лишена дополнительного мусора, встроенного рядом с ним в EXE, а иногда и некоторых компонентов, например автоапдейтера. Необходимость в этой ерунде при установке из AD сомнительна в любом случае. Но всё же, дополнительно хотелось бы поменять ещё и оставшиеся параметры установки или уже самой программы, чтоб она ставилась предварительно сконфигурированной. Для этого можно и нужно пользоваться специальными программами от разработчика. Например:
#13. Настройка групповых политик на Windows Server 2019.
1) Adobe Customization Wizard для Adobe Reader
2) Custom Installation Wizard (часть Office Resource Kit) для Microsoft Office
Первая (здесь и далее на её примере и Adobe Reader в частности), позволяет выключить функцию автообновления ещё на этапе установки или вообще не устанавливать любые сетевые функции, в результате чего «хорошеет» интерфейс Adobe Reader, избавляясь от ненужных (кому как) панелей и пунктов меню. Для сохранения результатов программе нужен файл (хоть бы и пустой) setup.ini рядом с MSI. Он будет (как и setup.exe с помощью которого должна устанавливаться «модифицированная» версия) если изначально распаковывалась полная версия. Если MSI качался отдельно, то файл нужно просто создать, а последующую установку выполнять bat-файлом такого содержания:
msiexec /i AdbeRdr11000.msi TRANSFORMS=AdbeRdr11000.mst /passive
Если конфигурация программы хранится в реестре, то нужно найти нужные ключи и подсунуть их установку в инсталлятор. Так, за отображение размеров страницы не в дюймах, а в миллиметрах отвечает параметр «iPageUnits»=dword:00000002 ключа HKEY_CURRENT_USERSoftwareAdobeAcrobat Reader11.0Originals
Чтобы при первом запуске программа спрашивала, какой язык интерфейса использовать (все «языковые» версии также поддерживают английский), можно поменять значение по умолчанию на пустое ключа HKEY_CURRENT_USERSoftwareAdobeAcrobat Reader11.0Languagenext
Запись этих значений в реестр можно встроить в инсталлятор, добавив строки в таблицу Registry. Root – это ветка куда пишутся ключи, так:
0 – HKCR
1 – HKCU
2 – HKLM
Если значение числовое, то в поле Value его надо записывать со знаком #, иначе создастся строковый параметр.
В случае Adobe Customization Wizard есть и другой способ – Launch Other Application. Можно запустить консольную reg.exe с параметрами add «HKCUSoftwareAdobeAcrobat Reader11.0Originals» /v iPageUnits /t REG_DWORD /d 2 /f и выставить Wait в Yes чтобы команда выполнилась на завершающем этапе установки.
Настройка AD GP: Как установить Google Chrome через Групповые политики
Если специальной утилиты от разработчика не существует, то на помощь может прийти программа Orca: https://www.technipages.com/download-orca-msi-editor
С её помощью можно немного настроить сам процесс установки: добавить что-то в реестр, удалить ненужные ярлыки и т.п., потому как доступен редактор таблиц.
При развёртывании через AD параметры к ветке HKCU не применяются (софт ставится до входа юзера, т.ч. нет никакого current), т.ч. нужно писаться в правильный (во все?) подключ HKU. Как вариант, записаться в HKU.DEFAULT, но параметры оттуда применяются только для новосозданных юзеров. Не проблема подготовить весь нужный софт и развернуть его до использования ПК любым пользователем, но может же появиться новый софт, который надо будет доставить всем в уже давно работающем домене. И тогда правкой таблиц явно не обойтись.
Следующее – обновления в формате MSP. ГП не позволяют ставить даже их! Потому нужно интегрировать обновление в установщик MSI. Делается это так:
1) установщик распаковывается командой msiexec /a TARGETDIR=
msiexec /a AdbeRdr11000.msi TARGETDIR=C:TMP
2) распакованный (. ) установщик патчится командой msiexec /a /p
msiexec /a C:TMPAdbeRdr11000.msi /p AdbeRdrUpd11023.msp
После этого установку надо производить из этой папки с помощью ранее упоминавшегося BAT-файла. Там же находится и инсталлятор (можно переименовать, например AdbeRdr11023.msi), и сама пропатченная версия (в подпапках!).
msiexec /i AdbeRdr11023.msi TRANSFORMS=AdbeRdr11023.mst /passive
Распакованная версия может показаться шикарным решением, когда нужно с установкой докинуть ещё и файлы. Не стоит спешить! Например, при «установке» (с ключом /a) Comodo Internet Security, распаковывается драйвер именно под ту ОС, на которой выполняется команда. В результате, развёртывание через ГП распакованной версии чревато её неработоспособностью на ПК с другой ОС. Можно конечно распаковать несколько версий под разные ОС, в каждую подложить соответствующий драйвер из drivers.cab и с помощью фильтров WMI выполнять их установку, но это уже другая история.
Ну, и наконец, собственно, разворачивание софта через ГП.
Для начала нужно все предназначенные программы сложить в одну папку и открыть к ней сетевой доступ (с разрешением на Чтение для Прошедших проверку).
Добавляются программы через dsa.msc / gpmc.msc → Конфигурация компьютера → Конфигурация программ: Создать → Пакет. В открывшемся окне нужно указать
сетевой путь (UNC, \namepath), а не локальный (C:path)! Далее указать «Особый» если будет применяться MST (да и в любом случае Особый, хуже не будет). Следом откроются Свойства. Важными являются следующие:
Развёртывание → Дополнительно: Не использовать языковые установки при развёртывании: например, для Adobe Acrobat украинская версия не устанавливалась без этой галочки на систему с русским языком интерфейса (региональные стандарты стояли Укр/Укр).
Модификации → Добавить. здесь можно указать преобразующий файл MST.
Теоретически, основную массу софта стоит разворачивать через Конфигурацию компьютера. Конф. пользователя может быть полезна для ГП специфического подразделения: например, пользователь сканера работает за разными ПК и ему нужна программа Finereader с единственной лицензией. Также развёртывание через пользователя позволяет устанавливать программы выборочно самому пользователю (тут Публичный вместо Особый) через Установку и удаление программ.
В этом случае программы могут устанавливаться в %user%Local SettingsApplication DataApps и если используется Политика ограничения программ, то нужно это учитывать. Как и то, что нужно разрешение на запуск программ по UNC-пути, используемого в ГП!
Тогда следует добавить в исключения (Неограниченный) такие пути:
%HKEY_CURRENT_USERSoftwareMicrosoftWi ndowsCurrentVersionExplorerShell FoldersLocal AppData%Apps
\srvr001
Источник: hatred-inc.livejournal.com
Инсталляция приложений с помощью групповых политик
Для назначения или публикации приложений с помощью групповых политик вам необходимо центральное место для исходных файлов приложений. Путь к этому месту должен быть доступен для всех компьютеров, к которым применяется данная политика. Простейший способ состоит в создание папки общего доступа на файловом сервере и копировании в нее исходных файлов.
Убедитесь, учетные записи машин ваших терминальных серверов имеют право чтения и выполнения в этой папке. Группы Authenticated Users и Everyone включают машинные учетные записи.
Создание административных инсталляций
Пакеты MSI обычно включают в себя все требуемые файлы, упакованные в файлы CAB. Для оптимизации установки программ, заблаговременно распакуйте эти файлы, создав административную инсталляцию.
Для создания административной инсталляции, запустите Windows Installer Service с опцией “/a” и укажите путь к пакету MSI, который вы хотите распаковать.:
msiexec /a d:proplus.msi
Появится мастер, похожий на рисунке, который запрашивает каталог для административной инсталляции. Если приложение требует лицензионного ключа, мастер его запросит. Ключ будет зашифрован и включен в административную инсталляцию, поэтому в дальнейшем он не будет спрашиваться.
По завершении административной инсталляции, скопируйте новые исходные файлы в общую папку.
Добавление пакетов в GPO
В главе 4 мы создали OU для терминальных серверов и прикрепили к ней три объекта групповых политик. Один из них — это Terminal Server Machine Policy. Этот объект содержит машинную конфигурацию ваших терминальных серверов, поэтому он уже готов для применения к терминальным серверам. Вы можете добавить программные пакеты к этому GPO, и они будут проинсталлированы на всех компьютерах, входящих в OU «TerminalServers».
Для добавления пакета в GPO, откройте редактор политик, раскройте Computer Configuration, Software Settings. Щелкните правой кнопкой на Software installation , и выберите New , Package :
Укажите имя пакета MSI, который вы хотите добавить. Затем у вас спросят, хотите ли вы назначить пакет или открыть интерфейс расширенных настроек. В большинстве случаев вы можете выбрать Assign и принять опции по умолчанию. Однако, если вам необходимо указать трансформу, выберите Advanced .
Транформа (файл MST) определяет опции или вносит изменения в значения по умолчанию файла пакета Windows Installer (файла MSI). Вы можете создать трансформы используя Microsoft Office Custom Installation Wizard или другую утилиту.
Фильтрация приложений
Вы можете использовать единый GPO, который применяется ко всем серверам, но отфильтровать приложения, которые будут установлены на каждый сервер, используя фильтры безопасности на пакетах в GPO. Следующий рисунок показывает GPO, содержащий три пакета — Adobe Acrobat Reader 6, Office XP и Microsoft Group Policy Management Console.
Допустим, что вы хотите инсталлировать Acrobat Reader и Office XP на всех терминальных серверах, к которым применяется GPO, а консоль — только на тех серверах, которые используются администраторами. По умолчанию пакеты наследуют настройки безопасности из GPO, поэтому все компьютеры, которые имеют право чтения на этот GPO будут также иметь право чтения пакета, и как следствие, установят приложение при загрузке.
Вы можете изменить права к пакету и ограничить право чтения только для отдельной группы компьютеров. Тогда все компьютеры в OU смогут обрабатывать политику, но только те, которые имеют право чтения для пакета, смогут его установить.
Чтобы этот фильтр безопасности мог работать, вы должны создать группу Domain Security — например, Admin Terminal Servers, — и поместить в нее те серверы, на которых хотите установить консоль.
Для изменения разрешений к пакету, вы должны отключить наследование разрешений GPO. Для этого щелкните Advanced и уберите флажок Allow inheritable permissions . Вы можете затем выбрать копирование существующих разрешений и использовать их в качестве отправной точки для модификаций.
Перезагрузка терминальных серверов
Основной недостаток инсталляции при помощи групповых политик состоит в том, что они обрабатываются только во время загрузки. Если вы добавляете новый пакет, то для его инсталляции вы должны перезагрузить сервер. Преимуществ инсталляции с помощью GPO состоит в том, что новые серверы, помещенные в OU «Terminal Servers», автоматически проинсталлируют необходимые пакеты, экономя ваше время и усилия.
Вы можете использовать GPO и для деинсталляции программ. Подробнее см. книгу Darren MarElia’s The Definitive Guide to Windows 2000 Group Policy (http://www.realtimepublishers.com/)
Существуют также системы управления программным обеспечением, позволяющие устанавливать программы по расписанию и не требующие перезагрузки. К ним относятся Microsoft Systems Management Server и компонент Installation Manager в Citrix MetaFrame XPe.
Источник: www.oszone.net
Установка при помощи групповых политик (Group Policy Object)
Подобная установка агентов учета рабочего времени удобна в том случае, если у вас есть хорошо настроенный домен, и вы имеете достаточный опыт системного администрирования.
Важно, чтобы все действия выполнялись под учетной записью пользователя с полномочиями администратора сервера. В противном случае могут возникнуть проблемы с установкой агентов на компьютеры домена.
Получите файл .msi, нажав в веб-интерфейсе системы CrocoTime раздел «Настройки» > «Сотрудники» и нажмите кнопку «Скачать агент» > “Пакет GPO”. Вам понадобится ввести адрес и порт сервера CrocoTime в формате http://server:port. После ввода адреса для загрузки будут доступны две ссылки. Первая — msi-пакет, вторая — модификатор.
Модификатор требуется для задания настроек сервера агенту. При загрузке модификатора браузерами, например, Internet Explorer или Google Chrome может выдаваться сообщение “Не удалось проверить издателя программы”. Сохраните файл в любом случае.
Полученные файлы переместите в папку, откуда будет происходить установка. Внимание, модификатор следует получать только через web-интерфейс системы CrocoTime! Если вы найдете mst файл где-то сами, то вероятно, работать он не будет.
Откройте оснастку «Управление групповой политикой», как показано на рисунке.
В открывшемся окне в дереве консоли разверните узел «Лес: %имя леса%», узел «Домены», затем узел с названием вашего домена, после чего перейдите к узлу «Объекты групповой политики». В узле «Объекты групповой политики» создайте объект GPO»CrocoTime Agent».
Введите имя нового объекта GPO.
После этого в оснастке «Управление групповой политикой» выберите созданный вами ранее объект GPO, нажмите на нем правой кнопкой мыши и выберите команду»Изменить» из контекстного меню для открытия оснастки «Редактор управления групповыми политиками»:
В оснастке «Редактор управления групповыми политиками» разверните узел Конфигурация пользователяПолитикиКонфигурация программ, перейдите к узлу»Установка программ», нажмите на этом узле правой кнопкой мыши и из контекстного меню выберите команды «Создать» и «Пакет», как показано на следующей иллюстрации:
В отобразившемся диалоговом окне «Открыть» перейдите к подготовленной ранее точке распространения программного обеспечения и выберите файл установщика Windows, используя который, будет установлено программное обеспечение. На этом этапе обратите внимание на две особенности. Во-первых, для развертывания агентов системы учета рабочего времени СrocoTime, вам нужно выбрать файл agent_installer.msi, который расположен в выбранной вами папке (Общий доступ к этой папке должен быть открыт). Второй, более важный момент: при выборе папки вам нужно указывать не букву локального диска на своем контроллере домена (в том случае, если инсталляционный пакет расположен именно на контроллере домена), а именно сетевой путь, так как это расположение публикуется для клиентских компьютеров;
Сразу после выбора *.msi-файла вам будет предложен способ развертывания программного обеспечения. В отобразившемся диалоговом окне «Развертывание программ» вы можете выбрать один из следующих методов: «публичный», «назначенный»или «особый». Выберите метод «особый», как показано на следующей иллюстрации:
В диалоговом окне свойств установочного пакета, которое всплывет через несколько секунд после указания метода развертывания, необходимо указать дополнительные параметры, используемые при установке агента системы CrocoTime.
Во вкладке «Развертывание» нажмите кнопку «Дополнительно» и активируйте чекбокс»Сделать это 32-разрядное х86 приложение доступным для компьютеров с архитектурой Win64″.
Во вкладке «Модификации» нажмите кнопку «Добавить» и укажите путь до файла модификатора server_settings.mst.
Во вкладке «Обновления» в окне “Приложения, обновляемые данным пакетом” удалите все параметры, окно должно быть пустым. Приложение будет заменяться на новую версию
После того как вы внесли все необходимые изменения, нажмите кнопку «ОК». Окно редактирования политики должно иметь такой вид:
Последнее, что нужно сделать, это связать объект групповой политики с доменом, а также в фильтре безопасности указать группы пользователей, для компьютеров которых будут развертываться агенты системы учета рабочего времени CrocoTime. Закройте оснастку»Редактор управления групповыми политиками» и свяжите с доменом (или группой компьютеров в домене) созданный объект групповой политики.
Для этого, в дереве консоли оснастки «Управление групповой политикой» выберите ваш домен (или группу компьютеров внутри домена), нажмите на нем правой кнопкой мыши и из контекстного меню выберите команду «Связать существующий объект групповой политики».
В отобразившемся диалоговом окне «Выбор объекта групповой политики» выберите данный объект групповой политики и нажмите на кнопку «ОК».
Теперь выберите связанный объект групповой политики (СrocoTime Agent) в узле»Объекты групповой политики», перейдите на вкладку «Область» и в группе «Фильтры безопасности» добавьте те группы пользователей, на компьютеры которых должен установиться агент системы учета рабочего времени CrocoTime.
Закройте окно Управление групповой политикой и откройте командную строку Windows. В командной строке введите команду «gpupdate /force». Сервер сообщит, что он не сможет применить политику установки без перезагрузки и предложит перезагрузиться. Введите в командную строку «y» (в английской раскладке) и нажмите клавишу «Enter».
Система будет перезагружена через 1 минуту после ввода команды. Либо просто перезагрузите сервер через меню «Пуск».
После перезагрузки сервера политика будет применена. Установка агента системы учета рабочего времени CrocoTime на компьютеры пользователей начнется после того, как пользователи выйдут из системы и заново войдут в нее, либо когда их компьютеры будут перезагружены.
Как удалить модуль сбора статистики?
Чтобы удалить агенты системы учета рабочего времени CrocoTime при помощи GPO, нужно в оснастке «Редактор управления групповыми политиками» развернуть узел Конфигурация пользователяПолитикиКонфигурация программ, перейти к узлу»Установка программ» и нажать на этом узле левой кнопкой мыши. В окне отобразится ваш установленный агент. Нажмите на нем правой кнопкой мыши и из всплывающего меню выберите «Все задачи» => «Удалить».
После этого всплывет окно «Удаление приложений». Выберите в этом окне параметр»Немедленное удаление этого приложения с компьютеров всех пользователей».
Закройте окно Редактора управления групповой политикой и откройте командную строку Windows. В командной строке введите команду «gpupdate /force». Сервер сообщит, что он не сможет применить политику установки без перезагрузки и предложит перезагрузиться. Введите в командную строку «y» (в английской раскладке) и нажмите клавишу «Enter».
Система будет перезагружена через 1 минуту, после ввода команды. Либо просто перезагрузите сервер через меню «Пуск».
После перезагрузки групповая политика будет применена. Удаление агентов системы учета рабочего времени CrocoTime c компьютеров пользователей начнется после того, как пользователи выйдут из системы и заново войдут в нее, либо когда их компьютеры будут перезагружены.
Откройте оснастку «Управление групповой политикой». В открывшемся окне перейдите к узлу «Объекты групповой политики». В узле «Объекты групповой политики» удалите объект GPO «CrocoTime Agent».
Удаление агентов системы учета рабочего времени CrocoTime завершено.
Источник: crocotime.com