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

Слава Україні! Ла-ла-ла-ла!...

Блог Морозов

Заметки, идеи, мысли...

SCCM OSD: Перестаем плодить Task Sequence

Автор: MadHead
MadHead
DevOps, Системный администратор, работающий как с Windows, так и UNIX системами.
Пользователей в сайте сейчас нет
Создано: Вторник, 21 Август 2012 в Windows

Когда появилась потребность в создании нескольких конфигураций для развертывания ОС, я создавал для каждой свой Task Sequence. Но когда количество их перевалило за 10, работать с ними стало тяжело... Например, обновился образ ОС или добавился новый пакет драйверов - нужно обновить все конфигурации. Хорошо, когда можно это сделать в тишине и спокойствии, когда тебя не отвлекают, но это бывает крайне редко. Зачастую кто-то позвонит, что-то спросят, а то и убежать нужно... Следствие - где-то что-то да забыл... С течением времени получаем форменный беспорядок. Страшно себе представить что будет если количество конфигурации приблизится скажем к 50...

Задачу перед собой я поставил следующую: свести к минимуму набор Task Sequence и сохранить возможность гибкого и удобного управления большим количеством конфигураций.

Раз уж эта запись появилась в блоге, то решение я таки нашел. О нем и расскажу...

Итак, начну с общей идеи, а затем уже опишу ее реализацию. У меня для того, чтобы начать развертывание ОС (будь то сетевая загрузка PXE, или рабочая станция, которая уже работает в системе) нужно ресурс (компьютер) включить в определенную коллекцию. Я отказался от использования коллекции Unknown Computers. Проанализировав свои конфигурации, я выделил из них группу шагов, которые являются общими для всех (как то разбиение диска, применение образа ОС, установка драйверов, установка общих для всех программ: 7-Zip, Far, Microsoft Office и т.д.) и на основании этого списка создал Task Sequence. К слову у меня отличие заключалось в наборе программного обеспечения.

Набор дополнительных программ (которые не вошли в Task Sequence) будет зависеть от коллекции, в которую включена рабочая станция.

Сделать это можно следующим образом:

В Task Sequence включаем шаг "Install Software" и выставляем переключатель в "Install multiple applications" (желательно еще поставить птичку "If an application installation fails, continue installing other application in the list" для того, чтобы при сбое установки одной программы не свалился весь список), а в поле "Base variable name" вписываем префикс переменных, через которые будем передавать список ПО, скажем "CSAPP".

Теперь нужно в настройках коллекции добавить переменные, которые будут описывать нужное ПО для установки (дополнительное, которое не вошло в наш Task Sequence). Пусть коллекция, на которую будет назначен Task Sequence будет называться OSD-CFG1. Вызываем меню коллекции (правой кнопкой мышки по ней) и выбираем пункт "Modify Collection Settings" и переходим на вкладку "Collection Variables". Здесь и добавляем (путем нажатия на кнопку с изображением звездочки) по одной переменной для каждой программы. Переменные должны именоваться по следующему шаблону: CSAPP (префикс, что мы указывали ранее) и трехзначный номер. В данном случае CSAPP001, CSAPP002, CSAPP003... Обратите внимание на то, что номера переменных должны быть последовательны, если вы создадите переменные с 1, 2 и 4 номерами, то обработаны будут только первых 2, а переменная с номером 4 будет отброшена.

Далее зададим нашим переменным значения по следующему шаблону: "PackageID:Program_name". Например нам надо установить Mozilla Firefox (PackageID: CS100025, Program: Install Firefox), тогда значение переменной CSAPP001 будет "CS100025:Install Firefox". Сразу замечу, что пробелы в названии программы обрабатываться нормально. Добавим по аналогии остальные переменные.

Осталось назначить наш Task Sequence на коллекцию OSD-CFG1. Теперь при работе Task Sequence будут установлены (помимо стандартных) приложения, которые мы описали в переменных коллекции. Собственно вот и вся хитрость.

Также, если вы пользуетесь автоматическим заведением рабочей станции в домен, то в качестве Domain OU можно указать имя переменной (например %WSOU%), а затем в коллекцию добавить переменную WSOU, а в значении указать полный путь к организационной единице, куда нужно поместить рабочую станцию, например "LDAP://OU=WS,OU=COMPS,DC=contoso,DC=com".

Таки образом создаем нужное количество различных конфигураций, глобальные изменения в которые вносятся в одном месте, меняя Task Sequence.

Ну и на последок оговорюсь, что рассказывал я упрощенный вариант своей конфигурации. Я использую несколько вложений коллекций, таки образом изменения одной коллекции влияет на дочерние. В таком случае нужно создавать 2 шага в Task Sequence и использовать разные префиксы для переменных (чтобы не перекрывались и не запутаться), также нужно, чтоб в родительскую коллекцию попадали все ресурсы из дочерних (через запросы)... но это уже простор для творчества!

Всем удачи! До новых публикаций...

Не достаточно прав для добавления комментариев (только зарегистрированные пользователи)

Tekstkontent