Строим высоко-доступную Windows-инфраструктуру в командной строке. AD DS. Часть 4-я — AGPM

В предыдущей части — Строим высоко-доступную Windows-инфраструктуру в командной строке. AD DS. Часть 3-я — Инфраструктура управления

Вступление

Когда мы говорим о системах управления версиями (CVS), то первым делом нам в голову, разумеется, приходит программирование. В наши дни любой уважающий себя разработчик использует Git, или TFS, или Mercurial, или Subversion итд. Но это не значит, что концепция CVS нужна только разработчикам: Adobe, например, предоставляет дизайнерам собственное решение для управления версиями файлов.
А как насчёт нас, IT-администраторов? Учитывая растущую популярность концепции «инфраструктура как код», многие администраторы уже начали применять CVS для хранения скриптов и файлов конфигурации.

Сегодня я хотел бы поговорить об управлении версиями для групповых политик. Вы, наверное, знаете, что групповые политики – это не совсем текстовые файлы, поэтому традиционные CVS здесь не подходят. Именно поэтому Microsoft выпустили собственное решение, которое позволяет отслеживать изменения, сравнивать версии объектов групповых политик (GPO) и оперативно возвращаться к предыдущим: Advanced Group Policy Management (AGPM).

Интересно, что это не просто CVS, а ещё и инструмент, позволяющий делегировать административные права объектам групповых политик при помощи встроенного механизма.
Но даже если вы работаете в небольшой команде, и делегирование управления GPO вам не нужно, я всё равно рекомендую использовать AGPM в качестве системы управления версиями.

AGPM входит в Microsoft Desktop Optimization Pack, бесплатный набор ПО, доступный подписчикам Microsoft Software Assurance. Узнать об этом продукте больше вы можете по ссылке.

Warning

Установка AGPM НЕ ОТМЕНЯЕТ необходимости делать резервные копии Active Directory.


Читать далее Строим высоко-доступную Windows-инфраструктуру в командной строке. AD DS. Часть 4-я — AGPM

Строим высоко-доступную Windows-инфраструктуру в командной строке. AD DS. Часть 3-я — Инфраструктура управления

В предыдущей части — Строим высоко-доступную Windows-инфраструктуру в командной строке. AD DS. Часть 2-я — Пост-конфигурация

Вступление

Прощу прощения за длительный перерыв – за эти полгода произошло много всего, включая смену страны проживания и работы. А кроме того, как видно по предыдущим постам, я немного увлёкся PowerShell.
Во время написания этого поста меня тоже слегка занесло: мне даже пришлось разделить пост на две части. Поэтому сегодня у меня для вас не один, а целых два поста! Следующий находится вот здесь: Строим высоко-доступную Windows-инфраструктуру в командной строке. AD DS. Часть 4-я — AGPM
До этого момента, мы работали с серверами в интерактивном режиме. Это считается не самой эффективной практикой, поскольку на поддержание интерактивной сессии тратятся ресурсы сервера. Также это достаточно неудобно при работе с большим количеством серверов.
Поэтому, в этой статье мы настроим удалённые административные рабочие станции, с помощью которых и будем в дальнейшем управлять инфраструктурой.


Читать далее Строим высоко-доступную Windows-инфраструктуру в командной строке. AD DS. Часть 3-я — Инфраструктура управления

Функция для загрузки обновлений из Microsoft Update Catalog

На прошлой неделе, я случайно сделал функцию, загружающую файлы обновлений из Microsoft Update Catalog. Зачем это нужно? Как её применить в реальной жизни?
Например, вы собираете образ операционной системы для последующего его распространения. Наверняка, вы хотите, чтобы этот образ содержал в себе уже все доступные на сегодняшний день обновления: это поможет не только повысить безопасность машин на этапе установки но и сократит время настройки системы после развёртывания.
Для Windows Server 2012 R2 и более ранних ОС, вам придётся загрузить и интегрировать несколько десятков обновлений, но вы не можете быть уверены, какие именно исправления требуются для вашего установочного образа (ISO Windows Server 2012 R2 выпускался, по крайней мере, 3 раза). Единственный точный путь определить это — установить компьютер с этого образа, подключить к Интернету и проверить доступные обновления через Microsoft Update.
В PowerShell обновления проверяются так:

После этого, $SearchResult будет содержать список обновлений, которые нужны вашей системе.

Для того, чтобы интегрировать обновление в установочный образ, нужно как-то получить его .msu- или .cab-файл. К сожалению, из объекта $SearchResult невозможно извлечь ссылки для загрузки таких файлов (во всяком случае, мне об этом ничего не известно). И вот с этим на и поможет функция Get-WUFilebyID:
Во первых, мы извлечём список идентификаторов обновлений из объекта $SearchResult:

А затем, по очереди, передадим эти идентификаторы в функцию:

В параметре -SearchCriteria нужно указать для какого продукта загружать обновления.

В итоге, вы получите все файлы обновлений (по умолчанию, в текущем каталоге. Переопределяется параметром -DestinationDirectory) и сможете их интегрировать при помощи командлета Add-WindowsPackage

Если вы не хотите загружать файлов, а только получить ссылки на них, используйте переключатель -LinksOnly.

Функция покрыта тестами и доступна на GitHub. Вопросы и предложения приветствуются: вы можете либо оставить их прямо здесь в комментариях, либо на GitHub в разделе Issues.