Автоматическая установка программ в домене windows 2012 r2

Установка программ в домене Windows Server через групповые политики, как установить, обновить и удалить приложения на клиентских компьютерах

Установка программ через домен Windows Server
В этой статье я расскажу как устанавливать программы на пользовательские компьютеры с помощью групповых политик. Рассмотрим такой процесс как установка программ через домен Windows Server.

Итак, этот материал рассчитан на людей, которые уже умеют установить и настроить домен на Windows Server (этот материал является продолжением статьи).

Групповые политики используются для централизованного управления пользователями домена. Они позволяют управлять настройками операционной системы клиентских машин. Администратор домена может контролировать, настраивать различные компоненты операционных систем компьютеров, входящих в состав домена.

Групповые политики применяются при настройках системы безопасности. Настройки безопасности могут распространяться на определенные группы пользователей или конкретного пользователя. Политика безопасности позволяет конфигурировать большое количество субъектов безопасности по одним параметрам.

Управление установкой и удалением программ может осуществляться при помощи групповых политик. Главный плюс в том, что если нужно установить программу на 100 компьютеров, не нужно делать это вручную, используя групповые политики можно выполнить установки на всех компьютерах централизованно.

Подготовка к установке программ

Создайте каталог для хранения установочных файлов (например, C:Install). Установочные файлы программ должны быть в формате установочных пакетов Microsoft (расширение — msi). Для примера я установлю архиватор 7z.

Каталог для установки программ в домене

Откройте общий доступ к созданному каталогу при помощи вкладки «Доступ» свойств каталога.
Общий доступ к папке
Запустите «Active Directory –> пользователи и компьютеры» (Пуск –> Администрирование –> Active Directory –> пользователи и компьютеры.

В домене создайте новое подразделение, для установки программы, в моем случае это Install подразделение.
Подразделение для установки программы
Переместите в созданное подразделение доступный компьютер из подразделения «Computers».
Перемещение компьютера в подразделение
Создайте новую групповую политику для созданного подразделения.
Новая групповая политика
Свяжите подразделение с политикой, нажмите правой кнопкой на созданное подразделение и выберите «Связать существующий объект групповой политики…», затем выберите созданный ранее объект в списке и нажмите «ОК».
Связывание групповой политики с доменом

Установка программ через домен

Откройте созданную групповую политику. Создание заданий на установку программного обеспечения на компьютерах, входящих в домен, осуществляется в разделе Конфигурация компьютера –> Конфигурация
программ –> Установка программ. В контекстном меню раздела Установка программ выберите «Создать» и укажите полный сетевой путь к месту расположения установочного файла – CInstall. В появившемся окне выберите «Назначенный» метод развёртывания.
Установка программ в домене
Программа будет установлена на клиентскую машину после перезагрузки.

Обновление программного обеспечения при помощи групповых политик

Скачайте последнюю версию программы и скопируйте ее в папку с общим доступом. Процедура обновления программного обеспечения с помощью групповых политик аналогична процедуре установки программ. Но, на этапе выбора метода развертывания нужно выбрать метод развертывания.
Особый метод развертывания программ
Нажмите «ОК», после чего перейдите на вкладку «Обновления», выберите приложение которые нужно обновить и нажмите «ОК».

Для применения изменённых параметров групповой политики клиентские компьютеры перезагрузятся дважды.

Удаление программного обеспечения при помощи групповых политик

Существует два варианта удаления заданий на установку программного обеспечения:

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

Нажмите правой кнопкой на программу и выберите «Все задачи» -> «Удалить».
Все задачи -> Удалить
После чего выберите один из вариантов удаления.
Удаление приложений Windows Server


Анатолий Бузов

Анатолий Бузов / об авторе

Обучаю HTML, CSS, PHP. Создаю и продвигаю сайты, скрипты и программы. Занимаюсь информационной безопасностью. Рассмотрю различные виды сотрудничества.


В этой статье мы рассмотрим, как устанавливать программы на компьютеры пользователей домена Active Directory с помощью групповых политик.

Встроенный функционал GPO Windows позволяет устанавливать только программы, распространяющееся в виде MSI или ZAP пакетов. Другие виды программ придется устанавливать альтернативными средствами: с помощью SCCM, через логон скрипты, копирование файлов программы на компьютеры с помощью GPO, запуском разовых скриптов и т.д.

Содержание:

  • Получите установочный MSI пакет программы
  • Создаем GPO для установки программы на компьютеры пользователей
  • Изменение параметров MSI пакета для установки через GPO

Получите установочный MSI пакет программы

Рассмотрим, как установить MSI пакет программы на компьютеры пользователей с помощью групповых политик Windows на примере клиента Microsoft Teams.

Скачайте MSI пакет с клиентом Teams (http://aka.ms/teams64bitmsi) и скопируйте файл Teams_windows_x64.msi в каталог SYSVOL на контроллере домена (
\winitpro.ruSysVolwinitpro.ruscripts
).

скопировать установочный MSI файл программы в SYSVOL

Обратите внимание, что есть x86 и x64 версии MS Teams. Если у вас остались компьютеры x86 версиями Windows, вам нужно создать отдельные политики для x86 и x64 компьютеров. Для фильтрации версий Windows в политиках можно использовать WMI фильтры GPO.

Далеко не все программы предоставляются в виде MSI файла. Чаще всего разработчики отдают их в виде исполняемых EXE файлов, которые не подходят для распространения через GPO. Но есть два способа, которые в некоторых случаях получить установочный MSI программы:

  • Некоторые установщики при запуске распаковывают свои файлы в каталог %temp%. Поэтому при установке программы (просто сверните окно установки) попробуйте открыть этот каталог и найти в нем установочный MSI файл.
  • Другой способ получения MSI файла – попробовать открыть установочный EXE файл с помощью архиватора 7-Zip. Запустите 7-Zip и в меню выберите File -> 7ZIP –> Open Archive. 7ZIP попробует открыть EXE файл в как архив. В нашем случае из EXE файла с дистрибутивом Acrobat Reader получилось извлечь MSI и MST файлы, которые готовы для установки через групповые политики Windows. извлечь установочный MSI файл из EXE с помощью 7zip

Создаем GPO для установки программы на компьютеры пользователей

Теперь нужно создать новую политику в домене для установки вашего ПО.

  1. Откройте консоль управления доменными GPO (
    gpmc.msc
    );
  2. Создайте новую GPO (CorpInstallTeams)и назначьте ее на OU с компьютерами, на которые нужно выполнить установку (Create a GPO in this domain, and link it here); создать групповыю политику установки программы
  3. Откройте политику и перейдите в раздел Computer Configuration -> Policies -> Software Settings -> Software installation;
  4. Выберите пункт меню New -> Package; добавить пакет в GPO
  5. Выберите ваш MSI файл, который хранится в каталоге SYSVOL;
  6. Выберите опцию “Advanced” и нажмите OK;

    Assigned – программы устаналиваются при входе пользователя, Published – публикуюция на компьютерах и могут быть установлены пользователями из Add/Remove Programs.

    deploy программ с помощью GPO

  7. В открывшемся окне можно настроить дополнительные параметры MSI пакета. Я просто изменю отображаемое имя с Teams Machine-Wide Installer на Microsoft Teams Client; Настройка пакета установки программы в групповой политике
  8. На вкладке Deployment нажмите кнопку Advanced и включите опцию Ignore language when deploying this package (это позволит игнорировать язык Windows на компьютерах клиентов);
  9. Перезагрузите компьютер для обновления настроек GPO и при следующей загрузке компьютера будет выполнена установка программы. Она появится в списке установленных программ Windows. Для анализа событий установки включите фильтр по источнику Application Management Group в разделе System Event Viewer-а. программа установлена на компьтер через групповую политику
  10. Можно показывать детальный процесс применения политики на компьютере. Для этого включите параметр Display highly detailed status messages в Computer Configuration -> Policies -> Administrative Templates -> System. Теперь при загрузке Windows будет отображаться все выполняемые в фоне процессы. При установке программ через GPO появится надпись Installing managed software AppName; сообщение при загрузке Windows : Installing managed software AppName

Изменение параметров MSI пакета для установки через GPO

В стандартном интерфейсе GPO вы не можете указать определенные ключи для установочных MSI пакетов. Что очень неудобно. Например, при установке антивируса вам нужно указать адрес сервера управления. Или при при установке Teams из командой строки с помощью msiexec можно отключить автозапуск клиент MSTeams и скрыть его из списка установленных программ (локальный администратор не сможет удалить клиент Teams). Для этого используется команда:

msiexec /i Teams_windows_x64.msi OPTIONS="noAutoStart=true" ALLUSERS=0

Как добавить опции установки в MSI пакет? Для этого используются файлы преобразования MST. Этот тип файлов позволяет изменить стандартные настройки MSI пакета и использовать ваш сценарий установки.

Для создания файла модификации MST для MSI пакетов можно использовать утилиту ORCA (входит в состав Windows Installer SDK).

Откройте ваш MSI пакет с помощью Orca.

Создайте New Transformation и задайте ваши кастомные параметры MSI пакета в разделе Property. В моем случае для клиента Teams я изменю:

  • noAutoStart на
    True
  • ALLUSERS на
    0

ORCA - изменить установочный MSI файл программы, добавить опции установки

Выберите Transform -> GenerateTransform и сохраните изменения в файл с расширением MST (teams_mod.mst). Скопируйте файла в каталог SYSVOL

Теперь нужно удалить предыдущее правило для установки MSI пакета в GPO (т.к. вы можете добавить MST с модификациями пакет только при создании правила установки программы.

Выберите All –> Task -> Remove

удаление программы через GPO

Создайте новое правило установки программы, опять выберите msi файл в каталоге SYSVOL и перейдите на вкладку Modification. Нажмите кнопку Add. Выберите созданный ранее MST файл.

добавление файла модификации MST в пакет установки MSI в GPO

Теперь во время установки MSI пакета через GPO к нему автоматически применится файл модификаций MST и установит программу с нужными вам параметрами.

Основные недостатки метода установки MSI программ через GPO:

  1. Поддерживаются только MSI и ZAP установщики;
  2. Нельзя запланировать установку программы на определенное время. Одновременная установка программы на множестве компьютеров (обычно это происходит утром при включении компьютеров) может вызвать нагрузку на сеть и DC. В этом случае лучше использовать, например, SCCM. Используя окна обслуживания (maintenance) или настройки WOL (Wake On LAN);
  3. Нельзя изменить порядок установки программ в одной политике. При добавлении нового установочно пакета в GPO, оно устанавливается последним.
  4. Нельзя получить отчет об успешности или ошибках установки программы на компьютерах.

Ни для кого не является секретом то, что в организациях установка приложений на клиентские компьютеры должна быть (или, если честно, то рекомендуется, чтобы была) автоматизированной. Естественно, комплексные продукты, например, такие как Microsoft System Center Configuration Manager, могут превосходно справляться с такой задачей, однако ведь всегда были, есть и будут организации, которые по той или иной причине не приобрели себе такой продукт. Поэтому приходится устанавливать программные продукты с помощью тех же штатных средств операционных систем Windows, и для выполнения такой задачи предпочтительными становятся функциональные возможности групповой политики.
Также все прекрасно знают и о том, что при помощи расширения клиентской стороны Group Policy Software Installation GPSI, приложения можно развертывать на клиентские машины двумя методами: либо путем публикации только для пользователей, либо при помощи назначения для пользователей или компьютеров.

Для чего нужны ZAP-файлы?

По большому счету, для публикации приложений можно использовать как MSI-инсталляторы, так и *.zap-файлы, причем оба пакета установки обрабатываются по-разному. Например, файл пакета установки программного обеспечения MSI содержит базу данных со всеми необходимыми инструкциями по установке или удалению приложения, а за установку программы на клиентском компьютере отвечает служба «Установщик Windows», использующая для чтения файлов *.msi библиотеку Msi.dll. Соответственно, на основании объявленной в инсталляционном пакете информации данная служба копирует файлы программы на жесткий диск, а также вносит изменения в реестр и выполняет прочие задачи, указанные в инсталляторе. Чаще всего вся информация, указанная в инсталляционном msi-файле, задается разработчиком устанавливаемого программного продукта.
Однако, так как не все производители программного обеспечения используют инсталляционные файлы установщика Windows, в некоторых случаях может понадобиться создавать пакеты низкоуровневых приложений на основе инициативы нулевого администрирования (в оригинале это звучит как ZAW – Zero Administration for Windows), то есть *.zap-файлы, являющиеся текстовыми файлами с необходимыми инструкциями по установке приложения. После создания такого файла его необходимо поместить в папку с инсталляционным пакетом, чтобы расширение клиентской стороны смогло выполнить инструкции по установке, после публикации которого приложение появится в компоненте панели управления «Программы и компоненты», и пользователи смогут его установить. Но, в отличие от MSI-инсталлятора, у zap-файлов есть такие существенные ограничения, как, например, то, что у вас не получится настроить процесс установки приложения, если инсталлятор не содержит параметров установки.
Сразу хотелось бы отметить, что данный метод не настолько гибкий, как установка программного обеспечения при помощи инсталляционных пакетов MSI, однако, в том случае, если у вас нет возможности сконвертировать инсталляционный файл, а приложение обязательно должно быть централизовано развернуто, такой метод может оказаться как никогда кстати. Ввиду того, что в такой текстовый файл вносятся инструкции по установке существующего exe-файла, как для 32-, так и для 64-разрядных приложений, возможности инсталляции программных продуктов при помощи данного метода не предусматривают следующие возможности:

  • Запуск приложений с повышенными привилегиями;
  • Откат изменений при неудачном процессе установки программного обеспечения;
  • Обнаружение повреждения процесса инсталляции и последующее восстановление данного процесса;
  • Установка компонентов программного обеспечения при первом обращении к последнему;
  • Использование и внедрение файлов трансформации.

И это лишь основная часть тех вещей, которые вы не сможете выполнять во время развертывания программного обеспечения средствами ZAP-файлов. Между прочим, развертывание приложений таким образом можно реализовать лишь путем публикации приложений. Так что пользователи, как я уже упомянул несколькими строками выше, смогут установить такие продукты непосредственно из страницы «Install a program from the network» компонента панели управления «Программы и компоненты».
Прежде чем как мы с вами начнем создавать такой файл и пробовать при помощи него, исключительно в тестовых целях, развертывать такой программных продукт, как Irfan View, думаю, будет правильно, если я сейчас немного расскажу о структуре таких файлов. В таком файле обязательными являются только первые две строки, где будут указаны такие параметры, как:

  • FriendlyName – то есть, это имя, которое будет отображаться в компоненте панели управления «Программы и компоненты»;
  • SetupCommand – здесь определяется путь к файлу установки приложения. Естественно, при необходимости вы можете указать как путь UNC, так и использовать сопоставленный диск. Также, если приложение можно устанавливать с дополнительными параметрами, эти параметры следует указывать после пути установки.

Другими словами, при использовании этого метода вам предварительно следует изучить все дополнительные параметры инсталляционных файлов для каждого продукта.
Помимо этих двух параметров, для того, чтобы в расширении CSE «Установка программ» или в компоненте панели управления «Программы и компоненты» отображалась версия приложения и прочая информация, во время написания такого файла вы можете добавить еще и несколько дополнительных параметров. Например, следующие необязательные параметры считаются наиболее распространёнными:

  • DisplayVersion = 2.13.1.5. Как вы понимаете, этот параметр отвечает за отображаемую версию программного обеспечения;
  • Publisher – название компании, являющейся производителем приложения. Это название будет отображено в компоненте панели управления «Программы и компоненты», а также в самом расширении клиентской стороны «Установка программ»;
  • URL – естественно, это адрес в сети Интернет, предназначенный для получения дополнительной информации о приложении.

Ограничения ZAP-файлов

Как я уже успел упомянуть, в отличие от установочных пакетов msi, приложения, развёртываемые средствами zap-файлов, нельзя назначать компьютерам или пользователям. Также стоит отметить, что при установке приложения текущим методом запускается стандартная программа установки. Другими словами, помимо добавляемых параметров, при помощи каких-либо дополнительных параметров этого файла вы не можете настроить процесс установки программного обеспечения. Еще одним ограничением является тот факт, что приложение не может быть установлено от имени учетной записи администратора, что может быть в некоторых случаях крайне неудобно. То есть приложения всегда устанавливаются локальным администратором.
При создании ZAP-файлов вы обязательно должны принять к сведению следующие моменты (о некоторых из них я уже говорил несколькими строками выше):

  • Во-первых, ввиду того, что при помощи выполнения ZAP-файла просто запускается инсталляционная программа, как я уже говорил, данное средство не позволяет выполнять инсталляционный процесс с повышенными правами, что можно реализовать при помощи пакетов MSI. Следовательно, если приложение во время своей установки запросит повышение прав, его смогут проинсталлировать только те пользователи, для которых явно прописано такое разрешение;
  • Во-вторых, ввиду того, что ZAP-файлы являются текстовыми документами, при сохранении такого файла можно случайно создать файл с расширением .zap.txt, что, по вполне понятным причинам, не сможет корректно отработать. Другими словами, убедитесь, что файл будет сохранен с правильным расширением;
  • В-третьих, если у вас в сети есть компьютеры с 64-разрядными операционными системами, вам следует обязательно протестировать процесс установки и работы 32-разрядных приложений на таких операционных системах. Это очень важный этап, так как много 32-разрядных приложений, развертываемых при помощи ZAP-файлов, могут сбоить во время своей установки;
  • И в-четвертых, если при создании ZAP-файла с 32-разрядным программным обеспечением вы не измените его поведение, оно не будет отображаться в компоненте панели управления «Программы и компоненты» под 64-разрядными операционными системами.

Думаю, о назначении и применении этих файлов, предназначенных для публикации программного обеспечения, вы уже узнали кое-какую информацию, и настало время попробовать создать и распространить приложение этим методом.
Процесс развертывания происходит следующим образом: прежде всего, информация о процессе установки программного продукта подробным образом записывается в ZAP-файл. Инсталлятор, естественно, должен находиться в общедоступном расположении, так как в противном случае ничего не выйдет. После этого вам необходимо разместить сгенерированный файл в общедоступной точке распространения программного обеспечения. Это делается для того, чтобы созданный вами объект групповой политики мог локализовать этот файл. И в конце концов, создается сам объект GPO, связывается с необходимым подразделением и при помощи расширения клиентской стороны «Установка программ» распространяемый программный продукт публикуется для пользователей.
Рассмотрим эти процессы, начиная с создания самого ZAP-файла.

Создание ZAP-файла

Публиковать мы сейчас будем, как я написал выше, такой программный продукт, как Irfan View, поэтому предварительно инсталляционный файл желательно откуда-то скачать и разместить в общедоступную папку.
Теперь, как я уже говорил, прописав просто путь к исполняемому файлу, во время развертывания программного обеспечения его инсталлятор будет запущен для пользователя. и последнему придется пройти все этапы мастера перед тем, как программа будет установлена. Для многих пользователей это будет большой проблемой, и по этой причине вместе с путем к инсталляционному файлу нужно указать параметры, предназначенные для тихой установки. Благо, данный программный продукт предоставляет возможность такой установки.
Инсталлятор Irfan View имеет целый перечень различных параметров, которые могут вам помочь во время тихой установки этого продукта. Давайте их рассмотрим:

  • Silent – выполнение тихой установки, то есть без участия пользователя;
  • Folder – папка назначения. Если она при помощи этого параметра не указана, то в таком случае будет использоваться старая папка IrfanView. Если же таковая отсутствует, то используется папка «Program FilesIrfanView»;
  • Desktop – создает ярлык на рабочем столе; 0 = no, 1 = yes (по умолчанию: 0);
  • Thumbs – создает ярлык для режима миниатюр; 0 = no, 1 = yes (по умолчанию: 0);
  • Group – создает группу в меню «Пуск»; 0 = no, 1 = yes (по умолчанию: 0);
  • Allusers – ярлыки на рабочем столе/в меню «Пуск» для пользователей; 0 = для текущего пользователя, 1 = для всех;
  • Assoc – позволяет установить файловые ассоциации; 0 = не устанавливать, 1 = только изображения, 2 = выбрать все (по умолчанию: 0);
  • Assocallusers – если используется этот параметр, то файловые ассоциации устанавливаются для всех пользователей (работает только в Windows XP);
  • Ini – если используется, устанавливает пользовательскую папку для INI файла (допустимы системные переменные).

Следовательно, для установки этого программного обеспечения мы будем использовать примерно такую команду:
iview435_setup.exe /silent /desktop=1 /thumbs=1 /allusers=1 /assoc=1
Теперь, когда мы точно знаем, при помощи какой команды будет происходить установка этого программного продукта, можно приступать к написанию самого zap-файла. Следовательно, чтобы составить такой файл, выполним следующие действия:

  1. Открываем любой текстовый редактор, например, тот же «Блокнот»;
  2. В самой первой строке создаваемого файла указывается секция Application, заключенная в прямоугольные скобки. То есть, записываем в этой строке так: [Application];
  3. Как я уже успел написать выше, здесь две строки являются обязательными, а именно: строка FriendlyName и строка SetupCommand. Как в первой, так и во второй строке значения указываются после равно в кавычках. Знак равно обрамляется пробелами. То есть, получаем такие строки:
    FriendlyName = “Irfan View”
    SetupCommand = “\ИМЯСЕРВЕРАInstall…, а дальше идет имя нашего инсталляционного файла со всеми параметрами “iview435_setup.exe” /silent /desktop=1 /thumbs=1 /allusers=1 /assoc=1
    При необходимости вы также можете добавлять комментарии, поставив в начале строки точку с запятой. Например, на новой строке добавим комментарий, где напишем, как будет устанавливаться наша программа:
    ; Программа устанавливается в тихом режиме, с созданием ярлыков на рабочем столе, ярлыка для миниатюр, причем для всех пользователей с ассоциацией только графических изображений
  4. Теперь мы можем заняться дополнительными параметрами, при помощи которых определим версию программы, ее издателя и URL-адрес для поддержки. Другими словами, будут применяться параметры DisplayVersion, Publisher, а также URL:
    DisplayVersion = 4.35
    Publisher = IrfanView
    URL = www.irfanview.com
  5. Сохраняем получившийся файл с расширением zap. Например, пусть этот файл у нас называется «IrfanView.zap».
    Другими словами, должно получиться приблизительно следующее:


    Рис. 1. Готовый ZAP-файл

Файл практически готов для дальнейшего развертывания. Нам осталось лишь разместить его в общедоступной точке распространения программного обеспечения. Например, если наша точка SDP – это папка Install, создадим там папку «ZAP Files» и поместим туда этот файл. Готово. Теперь можно и переходить непосредственно к распространению программного обеспечения.

Развертывание Irfan View при помощи сгенерированного ранее ZAP-файла

Теперь, на заключительном этапе, следует перейти к оснастке «Group Policy Management» и выполнить следующие действия:

  1. Создается новый объект групповой политики (естественно, при желании вы можете воспользоваться также и любым из существующих объектов GPO), пусть он называется «ZAP Files Publication». Он связывается либо с конкретным подразделением, в которое входят учетные записи пользователей, либо с уровнем всего домена, и из контекстного меню данного объекта следует выбрать соответствующую команду, предназначенную для открытия редактора управления групповыми политиками;
  2. После этого, уже находясь в оснастке «Group Policy Management Editor», нам необходимо развернуть узел User ConfigurationPoliciesSoftware Settings, затем перейти к узлу «Software Installation». Чтобы приложение нормально опубликовалось, следует перейти к настройкам данного узла. Другими словами, из контекстного меню данного узла выбираем команду «Properties»;
  3. Здесь, как я уже сказал, чтобы мы смогли без проблем опубликовать наше приложение, нам следует в свойствах этого расширения клиентской стороны указать путь к точке распространения, то есть «\НАШСЕРВЕРInstall». Помимо этого, на вкладке «Advanced» обязательно необходимо установить флажок на опции «Make 32-bit X86 down-level (ZAP) applications available to Win64 machines». Этих настроек для нас достаточно, сохраняем все внесенные изменения;


    Рис. 2. Настройка расширение CSE GPSI

  4. Теперь уже можно создавать политику распространения программного обеспечения. Другими словами, из контекстного меню данного узла выбираем команду, предназначенную для создания нового пакета. Теперь в отобразившемся диалоговом окне выбираем из раскрывающегося списка типов файлов тип «ZAW Down-level applications package (*.zap)», а затем переходим к папке с созданным ранее файлом ZAP. Естественно, на данном этапе следует выбрать именно этот файл, как показано на следующей иллюстрации:


    Рис. 3. Добавление ZAP-файла для развертывания ПО

  5. В связи с тем, что нам особо и не нужно добавлять какие-то дополнительные опции для этого пакета, в отобразившемся диалоговом окне «Deploy Software» среди всех доступных вариантов останавливаемся на «Published» и создаем инсталляционный пакет.

В конечном счете, узел «Software Installation» данной оснастки должен выглядеть следующим образом:


Рис. 4. Оснастка Group Policy Management Editor после создания пакета
Готово, осталось лишь проверить все внесенные изменения. Сейчас можно даже на текущей машине обновить параметры политики. Сделаем это принудительно, то есть вместе с командой Gpupdate укажем параметры /force /boor /logoff.
Осталось только проинсталлировать опубликованный пакет. Для этого мы заходим в панель управления и переходим к компоненту «Programs and Features». Затем для того, чтобы попасть к расположению, откуда будет проинсталлирован опубликованный продукт, следует перейти по ссылке «Install a program from the network».
Как видите на следующей иллюстрации, здесь можно найти наш Irfan View.


Рис. 5. Приложение, доступное для инсталляции

Заключение

Собственно, как это ни было бы печально, на этой ноте процесс развертывания программного обеспечения средствами функциональных возможностей групповой политики совместно с ZAP-файлами подходит к концу. Из этой статьи вы узнали о том, что собой представляют ZAP-файлы, в каких сценариях их следует использовать, а когда нужно будет останавливаться на иных решениях. Вы узнали о самом синтаксисе таких файлов, а также, естественно, о том, как можно создать такой файл, а затем – как распространить программный продукт при помощи такого файла. Напишите в комментариях, приходилось ли вам в своей практике развертывать программные продукты таким способом и, если не секрет, что именно за приложения вы так развертывали, и встречались ли вам при использовании этого метода какие-либо подводные камни?

Установка программ через AD GPOДоброго времени, уважаемые читатели блога! В данном посте буду собирать ссылки на софт, который удалось заставить устанавливаться или обновляться через GPO Active Directory. Админ, однако, очень не любит ручной труд, который можно автоматизировать, особенно если он однообразен и нуден…

Очень часто выходят обновления для таких компонентов, как Adobe Flash, которые являются потенциальной дырой в браузерах пользователей. Заставить устанавливать такой компонент — пользователя равносильно тому, что совсем его не обновлять. К тому же, необходимы права администратора для данного действия, а пользователь работающий под админом в сети предприятия — это зло, которое так и пытается положить вашу сеть при очередной посещении зловредных ресурсов. И Adobe Flash — это не единственный пример. Посему мы упростим работу себе и обеспечим актуальное состояние софта на рабочих станциях в сети.

Кратко расскажу о установке программ средствами групповых политик Active Directory, назначение пакетов MSI компьютерам (assigning to computer) (взято отсюда):

Задание:

  • скопируйте к себе на компьютер файл Microsoft Installer (MSI) программного обеспечения Wininstaller. Поместите этот файл в каталог C:Distrib на своем компьютере и расшарьте его как \имя_вашего_компьютераDistrib$;
  • создайте групповую политику WinInstaller, которая бы устанавливала программное обеспечение Wininstaller на все компьютеры вашего домена в режиме назначения для компьютера и произведите установку при помощи этой групповой политики на свой компьютер.

Решение:

  1. После создания общего каталога и копирования откройте Group Policy Management Console, щелкните правой кнопкой мыши по узлу вашего домена и в контекстном меню выберите Create and Link a GPO here. Присвойте создаваемое групповой политике название Wininstaller.
  2. Щелкните правой кнопкой мыши по объекту созданной групповой политики и в контекстном меню выберите Edit. В окне Group Policy Object Editor раскройте узел Computer Configuration -> Software Settings -> Software installation, щелкните правой кнопкой мыши по узлу Software Installation и в контекстном меню выберите New -> Package.
  3. В окне Open введите путь к пакету MSI: \имя_вашего_компьютераDistrib$SWIADMLE.MSI и нажмите Open.
  4. В окне Deploy Software установите переключатель в положение Advanced и нажмите OK.
  5. В окне WinInstall Properties просмотрите все вкладки и нажмите OK. Закройте окна Group Policy Object Editor и Group Policy Management Console с сохранением внесенных изменений и перезагрузите компьютер. В процессе запуска обратите внимание на строку Installing Managed Software WinInstall, которая появится после строки Applying Computer Settings.
  6. После окончания перезагрузки обратите внимание, что в меню Programs появилась новая группа программ.

Если есть желание углубиться в познание AD и GPO, можно ознакомиться с курсом: http://www.intuit.ru/department/os/sysadmswin/, или http://www.intuit.ru/goto/course/netmsserver2003/

Ну что ж, начнем с добычу пакетов MSI:

7-Zip — http://www.7-zip.org/download.html (так же, для пользователя применил скрипт Ассоциации файлов и локализация 7-zip)
Adobe Flash Player — http://www.adobe.com/products/flashplayer/fp_distribution3.html (по ссылке и Flash Plugin и ActiveX)
Adobe Reader — https://acrobat.adobe.com/ru/ru/acrobat/pdf-reader/volume-distribution.html (необходимо оформить бесплатную лицензию)
ftp://ftp.adobe.com/pub/adobe/reader/win/AcrobatDC/1902120058/
(обновления версий в подкаталогах) наложение обновлений Reader:

> mkdir C:TempAdobeReader
> cd C:TempAdobeReader
> msiexec /a AdbeRdr1000_ru_RU.msi TARGETDIR=c:TempAdobeReaderUpdated
> msiexec /a c:TempAdobeUpdatedAdbeRdr1000_ru_RU.msi /p C:TempAdobeReaderAdbeRdrUpd1001_Tier4.msp

Google Chrome — https://www.google.com/intl/en/chrome/business/
JAVA
— http://www.java.com/ru/download/ (после распаковки инсталлера, msi в C:Users<User>AppDataLocalLowSun, инструкшн: http://www.java.com/ru/download/help/msi_install.xml)
Mozilla Firefox — http://frontmotion.com/FMFirefoxCE/download_fmfirefoxce.htm
Notepad++ — https://www.hass.de/content/notepad-msi-package-enterprise-deployment-available
OpenOffice — http://www.i-rs.ru/download или http://ru.openoffice.org/ (после распаковки установщика — готовый MSI)
Примечание, возможна ошибка установки OpenOffice на Windows 7.  
Opera — http://ftp.opera.com/pub/opera/win/ (в каталоге _версия_/autoupdate лежит MSI)
Paint.NET — exe берем отсюда: http://paintnet.ru/download/, MSI создаем по инструкции: http://paint-dot-net.narod.ru/help_ru/p5_Install.htm:

> mkdir C:TempPaintNET
> cd C:TempPaintNET
> C:TempPaintNETPaintNET.exe /createMsi CHECKFORUPDATES=0
> забираем готовые MSI с рабочего стола

ДубльГИС — http://krasnodar.2gis.ru/how-get/download/ (мануал http://help.2gis.ru/pc/full/install/corporative/)

Upd 2011.07.01: добавил Opera
Upd 2012.02.23: добавил Chrome
Upd 2018.07.24: добавил Notepad++

С Уважением, Mc.Sim!


Теги: Active Directory, Group Policy, Microsoft Windows, MSI, установка

Воскресенье, 26 — Апрель — 2015

Централизованно устанавливать программы в домене Active Directory можно либо средствами групповых политик (Group Policy), либо инструментарием наподобие System Center Configuration Manager. Но SCCM — мероприятие недешёвое, поэтому весомая часть системных администраторов распространяет MSI-пакеты политиками. Однако, установка политиками обладает рядом существенных недостатков:

  1. Если инсталляция не удалась с первого раза, она никогда не будет исполнена до конца. Причины сбоя установки могут быть разными, но политика так или иначе создаст в реестре клиентской машины запись «Объект политики с таким-то номером отработал, дело можно закрыть». Идентификатор объекта вы можете найти в ключе HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionGroup PolicyAppMgmt. Получается, системе безразлично, нормально ли установилась программа — она регистрирует лишь факт исполнения политики, чтобы потом к этому вопросу больше уже не возвращаться.
  2. Если так случилось, что установленную политикой программу кто-то убрал вручную, она не будет возвращена на место автоматически. Проблема известная, вот где я нашёл объяснение, когда столкнулся с ней впервые: https://social.technet.microsoft.com/Forums/windowsserver/en-US/82f1e144-78a3-4446-8aaf-18843c890cdc/force-reinstall-of-applications-deployed-by-software-gpo-after-uninstall. Причина всё та же, что в пункте номер раз.
  3. Иногда требуется задавать особые условия установки или проверки предварительных условий, которые стандартные политики не поддерживают. Например, при инсталляции Oracle VirtualBox добавить сертификат доверенного издателя:
"%~dp0certVBoxCertUtil.exe" add-trusted-publisher "%~dp0certoracle-vbox.cer"

Для решения этих проблем я написал скрипты распространения и убирания программ. Стандартная схема централизованного распространения может выглядеть так:

  1. На одном из контроллеров в шаринге NetLogon создаём папку Deployment, внутри которой размещаем папки всех нужных приложений, например:
    \DC-Riga.WindowsNT.LVNetLogonDeployment7-Zip
    \DC-Riga.WindowsNT.LVNetLogonDeploymentSkype
    \DC-Riga.WindowsNT.LVNetLogonDeploymentFrontMotion_Firefox
    Такое местоположение удобно тем, что контроллеры реплицируют содержимое папки NetLogon между собой, а путь инсталляции можно назначить в виде доменного имени \WindowsNT.LVNetLogonDeployment; в результате, клиенты выполнят установку с ближайшего контроллера.
  2. Внутри папки конкретного приложения сохраняем скрипты установки и убирания приложения:
    …7-ZIP
    …7-ZIPx647z920-x64.msi
    …7-ZIPx867z920-x86.msi
    …7-ZIPInstall_7Zip.bat
    …7-ZIPUninstall_7Zip.bat
  3. Создаём отдельные объекты групповых политик Applications 7-Zip Install и Applications 7-Zip Uninstall, в которых указываем скрипты в секции Startup Scripts. Политики пристёгиваем к нужному контейнеру в Active Directory (например, к корню домена или только к требуемым департаментам). Можно создать группы безопасности, куда внести учётные записи нужных машин, затем разрешить применять политики только этим группам.

GPO_Deployment

Теперь собственно скрипт установки на простом примере 7-Zip:

rem Application Install - 7-Zip
set Package_Name_x86=x867z920.msi
set Package_Name_x64=x647z920-x64.msi
set MSI_Product_Code_x86={23170F69-40C1-2701-0920-000001000000}
set MSI_Product_Code_x64={23170F69-40C1-2702-0920-000001000000}
set Installation_Parameters=
set Desired_Version=0x9140000
set Detected_Version=None
:Check_if_already_installed_x64_on_x64
REG QUERY HKLMSoftwareMicrosoftWindowsCurrentVersionUninstall%MSI_Product_Code_x64%
if not %ErrorLevel%==0 goto Check_x86_on_x86
for /f "tokens=2,*" %%a in ('REG QUERY HKLMSoftwareMicrosoftWindowsCurrentVersionUninstall%MSI_Product_Code_x64% /v Version ^| findstr Version') do set Detected_Version=%%b
if /i (%Detected_Version%)==(%Desired_Version%) goto End
goto Install
:Check_if_already_installed_x86_on_x86
REG QUERY HKLMSoftwareMicrosoftWindowsCurrentVersionUninstall%MSI_Product_Code_x86%
if not %ErrorLevel%==0 goto Check_x86_on_x64
for /f "tokens=2,*" %%a in ('REG QUERY HKLMSoftwareMicrosoftWindowsCurrentVersionUninstall%MSI_Product_Code_x86% /v Version ^| findstr Version') do set Detected_Version=%%b
if /i (%Detected_Version%)==(%Desired_Version%) goto End
goto Install
:Check_if_already_installed_x86_on_x64
REG QUERY HKLMSoftwareWow6432NodeMicrosoftWindowsCurrentVersionUninstall%MSI_Product_Code_x86%
if not %ErrorLevel%==0 goto Install
for /f "tokens=2,*" %%a in ('REG QUERY HKLMSoftwareWow6432NodeMicrosoftWindowsCurrentVersionUninstall%MSI_Product_Code_x86% /v Version ^| findstr Version') do set Detected_Version=%%b
if /i (%Detected_Version%)==(%Desired_Version%) goto End
:Install
if /i exist "C:Program Files (x86)" goto Install_x64
:Install_x86
xcopy /r /y "%~dp0%Package_Name_x86%" "%Temp%%Package_Name_x86%*"
msiexec /i "%Temp%%Package_Name_x86%" %Installation_Parameters% /qn
del /f /q "%Temp%%Package_Name_x86%"
goto End
:Install_x64
msiexec /i "%~dp0%Package_Name_x64%" %Installation_Parameters% /qn
:End

Cкрипт убирания программы:

rem Application Uninstall - 7-Zip
set MSI_Product_Code_x86={23170F69-40C1-2701-0920-000001000000}
set MSI_Product_Code_x64={23170F69-40C1-2702-0920-000001000000}
set Installation_Parameters=/norestart
:Check_x64_on_x64
REG QUERY HKLMSoftwareMicrosoftWindowsCurrentVersionUninstall%MSI_Product_Code_x64%
if %ErrorLevel%==0 msiexec /x %MSI_Product_Code_x64% %Installation_Parameters% /qn
:Check_x86_on_x86
REG QUERY HKLMSoftwareMicrosoftWindowsCurrentVersionUninstall%MSI_Product_Code_x86%
if %ErrorLevel%==0 msiexec /x %MSI_Product_Code_x86% %Installation_Parameters% /qn
:Check_x86_on_x64
REG QUERY HKLMSoftwareWow6432NodeMicrosoftWindowsCurrentVersionUninstall%MSI_Product_Code_x86%
if %ErrorLevel%==0 msiexec /x %MSI_Product_Code_x86% %Installation_Parameters% /qn
:End

Дополнительные замечания:

  1. Скрипт установки требует настройки шести переменных: Package_Name_x86, Package_Name_x64, MSI_Product_Code_x86, MSI_Product_Code_x64, Installation_Parameters, Desired_Version, для каждой программы они уникальны. Коды MSI и версию программы я выясняю отдельно, устанавливая программу вручную на тестовых системах.
  2. Разумеется, инсталляции можно запускать не с контроллеров, а из выделенной точки распространения вида \DeploymentServer.WindowsNT.LV. Учтите, что компьютеры считывают инсталляционные файлы от лица ComputerName$/SYSTEM — убедитесь, что группы Domain Computers и Domain Controllers имеют разрешения чтения как на Share, так и на NTFS.
  3. В любом случае, убедитесь, что путь к выбранному репозиторию добавлен в «белые списки» программ (Application Whitelisting), иначе установка может отказать и по этой причине.
  4. Команда XCopy в %Temp% нужна только для Windows XP/2003, так как на этих системах MSIExec не умеет инсталлировать с сетевых ресурсов. На более новых системах копировать исходник на локальную машину не нужно, можно выполнять команду msiexec напрямую из %~dp0, как это сделано в 64-разрядном блоке.
  5. Загрузочные скрипты на Windows 8 по умолчанию не работают. Причина: Windows 8 на самом деле не выключается (не выполняет Shutdown) — вместо этого, система всегда пытается выполнить Hybrid Sleep. Как окончательное решение, пришлось просто запретить Hybrid Sleep политиками для всех Windows 8.
  6. Для подсчёта процента компьютеров с успешно установленной программой (Compliance) используйте Group Policy Preferences: https://blog.windowsnt.lv/2014/09/22/srp-compliance-report-russian/

Если лень ставить программы «руками» при включении ПК в домен, то можно в очередной раз прибегнуть к GPO.

Создаем папку на том же домен контроллере, в текущем случае это папка GPO

Пользователи Прошедшие проверку должны иметь следующие права

Кладем в эту папку msi пакеты

Многие программы уже имеют готовые msi файлы, если таковых нет, то можно их создать, об одной из утилит по созданию можно почитать здесь:

http://kompkimi.ru/programms-2/programma-sozdaniya-msi-paketov

Можно поправить дефолтную политику, а лучше создать новую, и прилинковать ее или ко всему домену, или к необходимой OU.

Правим политику.

Добавляем необходимые нам пакеты.

На этом собственно и все.

При включении в домен, указанные утилиты накатываются автоматом, или можно подтолкнуть процесс gpupdate/force

Всем хорошей работы!!!


14.03.2018 —


Posted by |
ms windows server 2008

Sorry, the comment form is closed at this time.

Содержание

  • 1 Вступление
  • 2 Установка
    • 2.1 Подготовка дистрибутива
    • 2.2 Установка разрешений доступ и настройка безопасности
    • 2.3 Создание административной единицы в Active Directory
    • 2.4 Создание групповой политики
    • 2.5 Создание установочного пакета
  • 3 Настройка перехода на новую версию
  • 4 Заключение

Вступление

Рано или поздно у каждого системного администратора появляется необходимость внедрения нового программного обеспечения (ПО) в существующий парк, и особенно централизованного обновления версий этого ПО для поддержания его в актуальном состоянии без лишней нервотрепки и при малых затратах ресурсов. Большинство корпоративных программных продуктов поддерживает обновление через Microsoft Automatic Update, в свою очередь большинство Open Source продуктов позволяют автоматическое обновление только при платной поддержке, и как быть в том случае, когда руководство не готово платить за это? Попытка поиска данной методики в развернутом виде в Рунете положительных плодов не принесла. Пришлось искать информацию, и разрабатывать методику самому, а заодно и инструкцию в помощь другим.

Задача — установка ПО LibreOffice и поддержание его версии в актуальном состоянии средствами Microsoft Active Directory (AD).

Необходимость внедрения данного ПО обусловлена следующим:

«Федеральное агентство по техническому регулированию и метрологии РФ утвердило ГОСТ Р ИСО/МЭК 26300-2010, в котором в качестве стандартного формата для офисных приложений определен формат Open Document (ODF). Документ идентичен принятому четыре года назад международному стандарту ISO/IEC 26300:2006.

В принятом ГОСТ описана соответствующая спецификации Open Document 1.0 XML-схема для офисных приложений и ее семантика, которая охватывает офисные документы, включая текстовые документы, электронные таблицы, диаграммы и графические документы, такие как рисунки и презентации, но не ограничивается этими типами документов. Документ вступит в действие 1 июня 2011 года»

Установка

Разберем установку, а также безболезненный переход к новым версиям LibreOffice средствами Active Directory и групповых политик.

Подготовка дистрибутива

Сначала нужно подготовить дистрибутив для установки из сетевого ресурса.

Для этого необходимо распаковать архив LibreOffice и запустить инсталляционный файл типа setup.exe с атрибутом /a (например, из cmd или TotalCommander) — запустится административная установка

Рисунок 1 — Мастер установки серверного образа.

Далее укажите сетевой ресурс в котором в дальнейшем будут располагаться все дистрибутивы устанавливаемых программ средствами AD, с предварительно открытым общим доступом, как указано в следующем пункте, для размещения серверного образа — оттуда впоследствии и будет производиться установка приложения.
Данный пункт необходимо выполнить для самого дистрибутива LibreOffice и для Help Pack к нему.

Установка разрешений доступ и настройка безопасности

Теперь необходимо, если это еще не сделано, открыть общий доступ к папке с серверным образом дистрибутивов и установить необходимые параметры безопасности для того, чтобы локальная машина имела доступ к файлам установки (достаточно галок чтение, список содержимого папки, чтение и выполнение для пользователя «прошедшие проверку»).

Рисунок 2 — Настройки безопасности папки с дистрибутивом.

А также на вкладке дополнительно поставить галку «заменить разрешения для всех дочерних объектов заданными здесь разрешениями, применимым к дочерним объектам», чтобы данные настройки безопасности распространились на все подпапки и файлы в них.

Рисунок 3 — Дополнительные параметры безопасности папки с дистрибутивом.

Создание административной единицы в Active Directory

Переходим непосредственно к установкам в AD и GPO.
Создаем в «Active Directory — пользователи и компьютеры» отдельную организационную единицу (OU) и помещаем в нее компьютеры, на которые и будет устанавливаться программное обеспечение (вполне возможно, что такая OU уже существует).

Рисунок 4 — Создание OU в AD.

Создание групповой политики

Установка приложений возможна через назначения компьютера (в таком случае установка будет происходить сразу после загрузки, до входа в систему) или пользователя (возможна установка при первом запуске программы). Мы рассмотрим первый вариант.
Запускаем Group Policy Management и переходим к нашей OU, создаем и подключаем к ней политику (можно сделать через AD — Свойства OU — вкладка Group Policy).

Рисунок 5 — Создание групповой политики в GPM.

Создание установочного пакета

После создания Групповой политики редактируем ее — правой клавишей — edit, откроется «Редактор объектов групповой политики». В нем раскрываем Конфигурация компьютера — конфигурация пользователя — установка программ, правой клавишей создать — пакет.
Выбираем путь до установочного файла LibreOffice с расширением *.msi

Рисунок 6 — Создание установочного пакета в GPO.

Через групповые политики установка осуществляется только через файлы msi, так что если вам необходимо установить другую программу, которая по умолчанию не содержит msi, то нужно переконвертировать файл exe (или др.) в msi с помощью любого конвертера.

Продолжаем: тип развертывания выбираем назначенный (чтобы установка начиналась сразу после загрузки до входа в систему), также обратите внимание на вкладку безопасность в свойствах созданного пакета, тут опять же должны быть необходимые разрешения на чтение для применения групповой политики, например, также на пользователя «Прошедшие проверку» галка «чтение».

Таким же образом создаем пакет для установки Help Pack.

Рисунок 7 — Создание пакета установки LibreOffice и Help Pack.

После этого на локальной машине в нашей OU должны примениться групповые политики (можно ускорить, запустив в cmd команду gpupdate /force) и после следующей перезагрузки должна произвестись установка LibreOffice и Help Pack. Если приложение не установилось — смотрим логи компьютера, вкладка приложения. Распространенные проблемы — нет доступа к сетевому ресурсу с установочным файлом и не применение групповой политики.

Однако, для нормальной работы LibreOffice необходима Java. Ее также можно установить через GPO. Лучше на каждое приложение создавать отдельную политику для независимости и удобства обновления приложений.

Итак, полдела сделано — приложение автоматически установлено на необходимых машинах, но вот выходит следующая версия LibreOffice и тут также не обойтись без GPO.

Настройка перехода на новую версию

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

Рисунок 8 — Создание пакетов с новой версией.

Теперь открываем свойства новой версии LibreOffice и переходи на вкладку обновления, нажимаем «добавить» для выбора приложения, обновляемого данным пакетом.

Выбираем более старую версию LibreOffice в открывшемся окне (если новая версия в той же групповой политике, то из текущего GPO, если в другой, то выбираем через кнопку «Обзор»). Ниже можно выбрать удалять предыдущую версию или устанавливать приложение поверх старой версии. Рекомендуется удалять предыдущую версию, дабы не тянуть проблемы из старых версий в новые.

Рисунок 9 — Настройки обновления пакетов.

После этого в GPO старые пакеты отображаются с замком, а новые с зеленой стрелкой.

Рисунок 10 — Обновляемые и обновляющие пакеты LibreOffice и Help Pack.

Проделываем то же самое для Help Pack. И теперь после применения групповых политик и последующей перезагрузке рабочих станций взамен старой версии устанавливается новая версия LibreOffice.

Если вы хотите удалить приложение со всех машин, то необходимо правой кнопкой мыши на пакете выбрать пункт все задачи — удалить, там выбрать пункт немедленное удаление приложения с компьютеров всех пользователей.
Если вы удалите саму политику, то приложения удаляться не будут, так как без политики машина не знает о том, что приложение нужно удалить.

Заключение

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

Автор: Сенин Александр

Like this post? Please share to your friends:
  • Автоматическая установка обновлений windows работает в ручном режиме
  • Автоматическая установка иконок для windows 10
  • Автоматическая установка драйверов на принтер windows 10
  • Автоматическая установка драйверов на windows 7 офлайн
  • Автоматическая установка драйверов на windows 7 64 bit онлайн