Продолжение. Начало см. здесь
Расширение клиентской стороны «Установка программ»
Первое расширение клиентской стороны, компоненты которого будут подробно рассмотрены, называется «Установка программ» или Group Policy Software Installation, GPSI. Несмотря на то, что для автоматизации установки программного обеспечения в организациях обычно используют такие продукты, как Microsoft System Center Configuration Manager или Microsoft System Center Essentials, которые обеспечивают множество средств для мониторинга использования программного обеспечения и системы инвентаризации, программное обеспечение можно развертывать и при помощи групповой политики, используя узел «Установка программ». Используя это расширение клиентской стороны, вы можете устанавливать, обновлять, поддерживать и удалять программное обеспечение на клиентских компьютерах и для определенных пользователей, независимо от компьютера, на котором они входят в сеть без какого-либо участия команды технической поддержки. После того как вы настроите объект групповой политики с использованием CSE «Установка программ», новый программный пакет будет проинсталлирован при следующей загрузке компьютера или входе пользователя в сеть. Для распространения программного обеспечения, расширение клиентской стороны использует технологию «Установщик Windows», который управляет программным обеспечением с помощью информации, содержащейся в пакете установщика Windows, и содержит информацию, необходимую для восстановления отказанного приложения. Пакеты установщика настраиваются при помощи файлов трансформации (*.mst-файлов), файлов исправлений (*.msp-файлов), а также низкоуровневых пакетов приложений *.zap, указывающих расположение точек распространения программного обеспечения.
Архитектура компонентов расширения клиентской стороны установки программ выглядит следующим образом. Системный администратор создает пакет установщика Windows для приложения, которое следует распространить на пользователей или их компьютеры. Далее ему предстоит создать точку распространения программного обеспечения (Software Distribution Point, SDP), представляющую собой общую папку, из которой позже пользователи и компьютеры будут устанавливать соответствующее программное обеспечение. Желательно, чтобы на этапе планирования точек SDP для каждого приложения была создана своя собственная папка. Для таких папок должно быть установлено NTFS разрешение на чтение и выполнение, так как в противном случае у пользователей не удастся установить приложения. После этого, администратор, на своей рабочей машине, используя оснастки «Управления групповой политикой» и «Редактор управления групповой политикой» создает объект групповой политики, предназначенный для распространения пакета приложения на пользователей или компьютеры, и связывает данный объект GPO с конкретным подразделением.
При помощи расширения CSE «Установка программ» вы можете распространять программное обеспечение на ваших клиентов двумя способами, а именно путем публикации приложения только для пользователей, или при помощи назначения приложения пользователям и компьютерам, разница между которыми вкратце описана ниже:
- Публикация приложения. Прежде всего, необходимо помнить о том, что приложение может быть опубликовано только для пользователя. После того как вы опубликуете программное обеспечение, его ярлык не будет отображаться на рабочем столе или в меню «Пуск», однако, это приложение можно найти и установить в компоненте панели управления «Программы и компоненты». Помимо этого, опубликованное приложение может быть установлено при попытке открытия файла, ассоциированного с текущим приложением. После развертывания объекта групповой политики, опубликованное программное обеспечение можно будет установить при следующем входе пользователя в систему и пользователь, для которого будет установлено ПО может, при необходимости, его удалить при помощи «Программы и компоненты». Для публикации приложений поддерживаются файлы *.msi и *.zap;
- Назначение приложения. В отличие от публикации приложения, назначать приложение можно как пользователям, так и компьютерам. Также, после назначения приложения, у пользователя обновляются некоторые локальные параметры реестра, благодаря чему он сможет найти ярлыки для назначенных приложений в меню «Пуск» и на рабочем столе, причем, ярлык на рабочем столе будет отображен, независимо от того, с какого компьютера выполнялся вход в систему. При назначении программы пользователю, программное обеспечение будет установлено при следующем входе в систему или при открытии файла, ассоциированного с текущим приложением, а при назначении приложения компьютеру, установка программного обеспечения начнется во время следующей загрузки компьютера. В том случае, если пользователю нужно будет удалить назначенное приложение, он сможет это сделать только в том случае, если приложение было назначено для пользователя, причем, после его удаления, программу снова можно будет найти на рабочем столе или в меню «Пуск». Для назначения приложений используются файлы *.msi.
В следующих небольших разделах мы рассмотрим подробнее, как же происходит процесс публикации и назначения приложений.
Процесс публикации программного обеспечения
Расширение клиентской стороны установки программ извлекает всю информацию о пакете, включая имя приложения, путь для установки, сведения об ассоциации файлов, идентификаторы класса и прочее, изменяет его и сохраняет в своей папке, продублировав в папке Sysvol на контроллере домена. Как уже отмечалось ранее, для публикации приложений можно использовать как MSI-инсталляторы, так и *.zap-файлы, причем, оба пакета установки обрабатываются по-разному. Например, файл пакета установки программного обеспечения содержит базу данных со всеми необходимыми инструкциями по установке или удалению приложения, а за установку программы на клиентском компьютере отвечает служба «Установщик Windows», использующая для чтения файлов *.msi библиотеку Msi.dll. Соответственно, на основании объявленной в инсталляционном пакете информации, данная служба копирует файлы программы на жесткий диск, а также вносит изменения в реестр и выполняет прочие задачи, указанные в инсталляторе. Чаще всего, вся информация, указанная в инсталляционном msi-файле задается разработчиком устанавливаемого программного продукта. Так как не все производители программного обеспечения используют инсталляционные файлы установщика Windows, в некоторых случаях может понадобиться создавать *.zap-файлы, являющиеся текстовыми файлами с необходимыми инструкциями по установке приложения. После создания такого файла его необходимо поместить в папку с инсталляционным пакетом, чтобы расширение CSE смогло выполнить инструкции по установке, после публикации которого, приложение появится в компоненте панели управления «Программы и компоненты» и пользователи смогут его установить. Но, в отличие от MSI-инсталлятора, у zap-файлов есть такие существенные ограничения, как, например, то, что у вас не получится настроить процесс установки приложения, если инсталлятор не содержит параметров установки.
Информация, которая объявляется в пакете инсталлятора, необходима для того, чтобы в домене Active Directory создался объект пакета публикации в контейнере ClassStore. В самом объекте групповой политики, пакет размещается в подконтейнере GUID\User\Class Store\Packages, где инсталляционному пакету назначается новый GUID и каноническое имя CN. После этого расширение CSE установки программ в папке Sysvol создает специальный сценарий для объявления приложения с именем объекта публикуемого приложения PackageRegistration и расширением *.aas, который размещается в GUID\User\Applications объекта GPO. Так как в публикуемых приложениях нет ярлыков на рабочем столе и в меню «Пуск», эта информация исключается из текущего файла. В связи с тем, что при обработке групповой политики опубликованные приложения на клиентском компьютере не вызывают каких-либо изменений, а конечному пользователю нужно будет установить соответствующее приложение из компонента «Программы и компоненты», из Sysvol и Active Directory не загружается никакая информация. Другой процесс установки опубликованного приложения считается более сложным. В случае, когда пользователь открывает файл с расширением, которое ассоциируется с опубликованным приложением, в этот момент расширение клиентской стороны GPSI ищет в Active Directory объект PackageRegistration, который ассоциируется с текущим расширением или проверяется CLSID, сгенерированным при помощи обработанного объекта групповой политики для пользователя. Если находится хотя бы один *.aas-файл, то такой сценарий загружается на клиентский компьютер и выполняется для последующей установки. На следующей иллюстрации отображен процесс публикации приложения:
Увеличить рисунок
Процесс назначения программного обеспечения
Как вы знаете, основным отличием данного метода развертывания приложений средствами GPO от публикации является то, что при назначении приложение полностью устанавливается в том случае, если приложение назначается для компьютера, а в случае назначения для пользователя, пользователю будут доступны ярлыки на рабочем столе и в меню «Пуск». Причем, обязательно стоит обратить внимание на то, что установка назначенного программного обеспечения обрабатывается модулем групповой политики только во время загрузки компьютера или при входе пользователя в систему. Принцип создания назначенного инсталляционного пакета практически ничем не отличается от создания опубликованного пакета за исключением того, что в объекте PackageRegistration свойство атрибута PackageFlags указывается как Assigned (назначение), а не Publication (публикация). Во время обработки объекта групповой политики расширение клиентской стороны «Установка программ» в Active Directory запрашивает в объекте PackageRegistration папку с размещенным назначенным инсталлятором и определяет, какие инсталляторы были изменены или добавлены после предыдущей обработки групповой политики. Все пакеты, которые обнаруживает CSE, сравниваются с загруженными локально на клиентский компьютер. После чего новые пакеты регистрируются в системном реестре, из папки Sysvol вычитываются файлы *.aas, а затем кэшируются в папке %systemroot%\appmgmt и обрабатываются только новые или измененные инсталляционные пакеты. На следующей иллюстрации вы можете увидеть процесс установки назначенных приложений:
Увеличить рисунок
Планирование установки программного обеспечения
Несмотря на то, что на первый взгляд с данным расширением клиентской стороны групповой политики, кажется все очень просто и прозрачно, крайне важно тщательно спланировать процесс распространения программного обеспечения на ваших клиентов. На этом этапе очень важно четко понимать разницу между публикацией и назначением приложений, о чем уже было много сказано в предыдущих разделах. Еще раз напомню, при назначении приложения компьютеру или пользователю программное обеспечение устанавливается автоматически при следующей загрузке компьютера или входе пользователя в систему, а при публикации пользователю нужно будет установить приложение самостоятельно. Тут можно руководствоваться такими стандартными сценариями:
- В том случае, если компьютеры в вашей организации являются общедоступными и всем пользователям необходим одинаковый набор программных продуктов, то целесообразно устанавливать их путем назначения для компьютеров. Соответственно, приложения при следующей загрузке компьютеров устанавливаются на компьютеры пользователей;
- В том случае, если какое-то конкретное приложение нужно для работы только нескольким пользователям в компании, то оптимальным вариантом будет публикация приложений для таких пользователей. При следующем входе в систему эти пользователи смогут или самостоятельно установить программу из компонента панели управления «Программы и компоненты» или приложение установится автоматически при открытии файла, расширение которого ассоциировано с таким приложением;
- В том случае, если приложение необходимо установить пользователям из разных подразделений, стоит его назначать для того подразделения, в которое будут входить все эти пользователи;
- В том случае, если в вашей организации используются приложения, которые обновляются очень часто вместе с теми, на которые практически не выпускаются обновления, лучше всего для этого создать как минимум два объекта GPO. В одном таком объекте GPO будут размещены приложения, которые редко обновляются, а во втором – те приложения, обновления на которые выходят чаще.
Также не стоит распространять все программные продукты при помощи одного объекта групповой политики, так как в результате применения такого объекта GPO, несмотря на то, что задержка перед входом в систему клиентского компьютера может значительно уменьшится (в отличие от использования отдельного объекта групповой политики для каждого приложения), размер и конфигурация объекта групповой политики увеличится в несколько раз. После того как вы спланируете структуру ваших объектов GPO, перед тем как распространять приложения пользователям, обязательно протестируйте их применение в лабораторной среде, что позволит вам облегчить свою работу при последующей поддержке ваших пользователей.
Несмотря на все преимущества распространения программного обеспечения средствами групповой политики можно также найти и множество недостатков, на которые следует обратить свое внимание при планировании распространения ПО. Например, к одному из таких недостатков можно отнести то, что распространять программное обеспечение средствами групповой политики можно только в домене Active Directory. А если в вашей организации пользователи еще работают под управлением таких операционных систем, как Windows 95/98 или Windows NT, то развернуть приложения для таких клиентов средствами GPO будет невозможно. Помимо этого, при развертывании приложений средствами групповой политики вы не можете настроить график установки или распространять приложения при помощи многоадресного сетевого вещания. Другими словами, распространение программного обеспечения средствами групповой политики не обеспечивает набор определенного функционала, который может понадобиться для управления программным обеспечением в крупной организации. В таких случаях лучше всего использовать такой продукт, как System Center Configuration Manager.
Продолжение следует.