CM: Hotfix KB2905002

Вышло первое исправление для System Center 2012 R2 Configuration Manager. Данный хотфикс исправляет существующие проблемы с установкой операционных систем:

  • Медленная загрузка пакетов через WinPE;
  • Служба WDS, установленная на сайт-сервере, завершалась с ошибкой

Данное исправление можно скачать перейдя по ссылке http://support.microsoft.com/kb/2905002.

Реклама

CM: System Center 2012 Configuration Manager SP1 CU3 Hotfix

Вышла заплатка для вышедшего недавно Cumulative Update 3 для Configuration Manager 2012 SP1. Данная заплатка устраняет следующие проблемы:

  • Запуск скрипта SQL при установке CU3 вызывает ошибку Msg 242, Level 16, State 3, Procedure #SP_CICategoryInstance_00065D65, Line 20 если время на SQL сервере указано в формате DD/MM/YYYY.
  • Все предварительные версии Windows RT и Windows RT 8.1 не должны отображаться.
  • Последовательность задач может завершиться с ошибкой если на вкладке Опций есть фильтр по ОС Windows 8.1:

System.Reflection.TargetInvocationException
Exception has been thrown by the target of an invocation.

Прочитать описание и скачать заплатку можно по ссылке — http://support.microsoft.com/kb/2894539/en-us

CM: Обновление клиента ConfigMgr. Какой способ выбрать?

С начала анонса Configuration Manager 2012 прошло достаточно времени, чтобы для него начали появляться обновления и заплатки. В 2012 версии появился такой функционал, как автоматическое обновление клиента… но что-то где-то не срослось. Хотя разработчики утверждали, что новый способ работает так, что версия клиента автоматически обновляется в установленные сроки до версии сайта, но на деле это просто не работает! Итак, подводя итоги, что нам доступно? Ниже я перечислю какие способы есть и постараюсь описать плюсы и минусы.

Способ 1. Обновление с помощью пакетов.

Данный способ является самым простым. При установке кумулятивных обновлений мастер установки предлагает автоматически создать пакеты, после чего мы их объявляем на коллекции. Такой способ тянется с самых ранних версий. А теперь о плюсах и минусах. Простота данного способа несомненно является плюсом. Минус данного способа – его ненадежность. В добавок, в отличие от ConfigMgr 2007, клиент 2012 имеет разрядность – для 32 и 64 битных систем, что в свою очередь требует настройки каждой программы, либо создание 2х коллекций соответственно.

Способ 2. Обновление с помощью приложений.

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

Способ 3. Push-Install.

Данный способ подходит только для ConfigMgr 2007. В 2012 про него можно забыть, т.к. клиент теперь имеет разрядность, соответственно, использовать параметр PATCH нет смысла. Также минусом данного способа является то, что для него требуется вызов удаленных процедур и общая папка. А как же брандмауэры, а как же DMZ, а как же интернет-клиенты? А никак… поэтому данный способ даже не следует рассматривать.

Способ 4. Windows Update.

Тут разработчикам можно поставить большой плюс, т.к. с установкой очередного обновления разворачивается каталог для System Center Updates Publisher в папке SCUP. Всё, что нужно сделать – это импортировать данный каталог в Updates Publisher, после чего уже распространять это обновление на клиенты. Т.е. в данном случае, плюсом является максимально быстрое развертывание с минимальными затратами времени, а также гарантированное обновление клиента до нужной версии. Минусами данного способа является то, что требуется инфраструктура WSUS, более того, крайне желательно использовать SUP в качестве источника обновлений.

Способ 5. Установка нового клиента при развертывании ОС.

Данный способ является вполне приемлемым. Но! В ConfigMgr 2012 невозможно установить обновления клиента через пакеты и приложения. В первом случае Вы получите ошибку 0x87d00215, которая говорит об остановке службы CcmExec, а во втором – зависший Task Sequence. Так что единственный способ – это использование параметра PATCH. Минусом данного способа является то, что командную строку придется менять во всех последовательностях задач при выходе новой заплатки, а также то, что данный способ не обновит существующие и переустановленные клиенты.

Способ 6. Использование папки ClientPatch.

ВНИМАНИЕ! Данный способ является неподдерживаемым!

Плюсом данного решения является то, что все заплатки находящиеся в данной папке будут применены как при использовании Push Install, так и при OSD. Минусом… Нет… МИНУСИЩЕМ данного способа является то, что начиная с версии 2007 данный способ не поддерживается Microsoft, хотя и работает даже в версии 2012, а также то, что данный способ не обновит существующие клиенты до тех пор, пока Вы не нажмете кнопку «Repair client».

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

CM: Microsoft Deployment Toolkit (MDT) 2012 Update 1

Стал доступен для скачивания Microsoft Deployment Toolkit (MDT) 2012 Update 1.

Ссылка для загрузки — http://www.microsoft.com/en-us/download/details.aspx?id=25175.

Из наиболее интересного, что появилось — это поддержка Windows 8 и Windows Server 2012, а также возможность создавать собственные визарды в UDI интерфейсе. Интеграция с ConfigMgr возможна при установленном SP1 CTP.

OSD: «Склеивание» WIM файлов

Решил написать совсем небольшой скрипт, который склеивает WIM-файлы из определенной директории в один WIM-файл. Для работы скрипта требуется Windows AIK, а точнее утилита ImageX.
Merge-WimFile.ps1:

Param (
	[Parameter(mandatory = $true)][string]$Path,
	[Parameter(mandatory = $true)][string]$Destination,
	[Parameter(mandatory = $false)][string]$Filter
)

$Imagex = "$env:ProgramFiles\Windows AIK\Tools\$env:processor_architecture\Imagex.exe"
$WimFiles = Get-ChildItem -Path $Path -Filter $Filter
if (Test-Path $Imagex) {
	foreach ($WimFile in $WimFiles) {
		&$Imagex /Export $WimFile.fullname 1 $Destination ($WimFile.Name -replace $WimFile.Extension)
	}
}
else {
	Write-Error "ImageX.exe not found."
}

В данном скрипте необходимо задать параметры -Path — путь до директории с WIM-файлами и -Destination — путь до WIM-файла, в который будут сохраняться все образы. Можно также задать параметр -Filter, в котором можно задать маску файлов для склеивания. Склеивание образа имеет существенный плюс — размер. В WIM образ файлы попадают в единственном числе и если какой либо файл уже есть в WIM-файле, то на него просто будет создана ссылка.

Вот демонстрация того, сколько у меня занимают семь образов по отдельности:

Splited Files
Files before

А вот размер одного WIM-файла, который содержит в себе эти же самые семь образов:
Image Before

Вот как выглядит склеенный загруженный образ в Configuration Manager:
Image in ConfigMgr

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

OSD: Build and Capture overrides

Возвращаясь к разговору http://social.technet.microsoft.com/Forums/ru-RU/smsru/thread/f1ab14ac-a9f6-4f85-8d0a-1e767b23598f и продолжению http://sccm.com.ua/?p=1764 решил усовершенствовать процесс, т.к. судя по отзывам вопрос актуален для многих. В итоге, решено было написать HTA приложение:

Build and Capture HTA

Необходимые условия для работы приложения — интегрированный пакет HTA в WinPE. Для того, чтобы каждый раз не прописывать какие либо переменные (например, имя пользователя или путь до шары с образами), можете прописать их внутри файла между кавычек:

Set Capture Variables

Если оставить какое либо поле пустым, то этот параметр не будет изменен и будет использоваться то значение, которое указано в консоли SCCM. Данное приложение необходимо запускать до снятия образа:

OSD Build and Capture

Само приложение можно скачать по ссылке PromptCapture.zip (после загрузки смените расширение файла на .zip).