Меню Рубрики

Сервер обновлений windows в локальной сети

Приручаем WSUS при помощи Ansible и не только

Ну что ж, вот и настала пора подружить Windows-обновления с миром Open Source. В этой статье разнообразим быт интеграцией Ansible со всеми возможными источниками обновлений Windows-машин. Хотя возможности системы значительно шире простой раскатки обновлений на серверы и рабочие станции, но ведь надо с чего-то начинать.

Заодно избавимся от досадных неудобств WSUS, если вы предпочитаете «старую школу».

За что мы не любим WSUS

Про настройку Windows Server Update Services рассказывать я не буду, благо она тривиальна. Сосредоточусь на минусах.


Интерфейс WSUS почти не менялся на протяжении всей истории.

Невозможность установки по требованию. Действительно, для штатной работы WSUS подходит неплохо — обновления спокойно себе настраиваются и ставятся по локальной сети при выключении компьютеров. Но если нужно срочно установить патчи безопасности, то придется выкручиваться скриптами и решениями для запуска этих самых скриптов. В этом может помочь наш материал «1000++ способ запуска команд на удаленном компьютере».

Отсутствие штатного способа установки обновлений стороннего ПО. Если есть сервер обновлений, то выглядит разумным использовать его не только для обновлений программ MS, но для других решений. Например, в не к ночи упомянутом Adobe Flash Player уязвимости находятся с завидной регулярностью, да и радовать пользователей новыми возможностями FireFox тоже хотелось бы. Для того чтобы наладить установку обновлений через WSUS, приходится использовать сторонние решения вроде WSUS Package Publisher. Посмотреть примеры настройки можно в статье «Установка любого программного обеспечения средствами WSUS — 2».

Использование встроенной БД Windows. При стандартной установке WSUS использует WID — Windows Internal Database. По сути это маленький встроенный SQL Server с базой данных. В случае каких-то неполадок или конфликтов — к примеру, если у вас на одном сервере живет Remote Desktop Connection Broker и WSUS, — приходится чинить эту базу, настраивать права доступа и всячески развлекаться. Да и резервное копирование бы не помешало. По счастью, WSUS может использовать и классический SQL. Для переноса БД WSUS можно воспользоваться инструкцией Migrating the WSUS Database from WID to SQL от Microsoft.

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

Конечно, с этими минусами можно жить, но можно и облегчить себе жизнь другими инструментами, используя их как в паре с WSUS, так и без него.

Устанавливаем обновления при помощи Ansible

Практически любая система управления конфигурациями может облегчить работу с обновлениями. Разберем пример на базе Ansible для установки обновлений по требованию.

Устраивать холивар, что лучше из бесплатных систем — Ansible, Chef, Puppet или вовсе Salt, нет ни малейшего желания. Система Ansible выбрана за отсутствие необходимости использования агентов и за простоту настройки. И, конечно, из-за Python: ведь этот язык намного проще освоить начинающим автоматизаторам, в отличие от Ruby.

Стоит отметить, что помимо решения задачи, это будет неплохое подспорье для ознакомления с принципами работы подобных систем. Если, конечно, вы еще не развлекались установкой Streisand, особенно, когда что-то в процессе идет не так. А если вы уже используете Ansible или другие модные решения, то запросто сможете и обновления устанавливать. С азами Ansible я рекомендую ознакомиться в статье «Пособие по Ansible», а ниже — пошаговая инструкция по работе с обновлениями.

Для начала подготовим сервер Ansible. Подойдет практически любой GNU\Linux дистрибутив, но примеры команд я буду приводить для Ubuntu Server (так исторически сложилось).

Для начала установим пакетный менеджер для приложений на Python:

Затем нам понадобится установить пакет pywinrm для подключения к системам Windows и непосредственно систему Ansible:

Проверить установку можно командой ansible —version.


Проверка установки.

Вместо пакета в теории pywinrm можно использовать любое другое средство для управления Windows с машины на Linux. Часть из них разобрана в статье «Перекрестное опыление: управляем Linux из-под Windows, и наоборот».

Теперь нужно разрешить подключение к Windows по WinRM. Для этого есть уже готовый скрипт ConfigureRemotingForAnsible.ps1, доступный на GitHub. Ну, а как запускать скрипты на удаленных машинах вы уже знаете.

Проверить подключение к Windows можно командой:


Проверка подключения успешна.

Теперь можно заняться созданием playbook. Нам облегчит жизнь тот факт, что разработчики Ansible уже подумали за нас и сделали модуль win_updates, как раз для решения таких задач.

Playbook — это «инструкция», которая говорит системе управления конфигурациями, что же ей делать. Разумеется, пошаговая.

Любой playbook является файлом в формате yml и представляет из себя набор директив — у каждого модуля они свои. Модуль winupdate позволяет использовать следующие директивы (жирным выделены значения по умолчанию):

Название Значение Описание
category_names Application
Connectors
CriticalUpdates
DefinitionUpdates
DeveloperKits
FeaturePacks
Guidance
SecurityUpdates
ServicePacks
Tools
UpdateRollups
Updates
Категория обновлений.
whitelist Номер обновления или шаблон имени. Непосредственно номер устанавливаемых обновлений вида KB01234 или шаблон имени в виде регулярного выражения PowerShell.
blacklist Номер обновления или шаблон имени. Непосредственно номер обновлений, которые не нужно устанавливать, вида KB01234 или шаблон имени в виде регулярного выражения PowerShell.
reboot yes
no
Требуется ли перезагрузка после обновления.
reboot_timeout секунды, 1200 Сколько времени ждать машину после перезагрузки.
state installed
searched
Устанавливать ли обновления, или только искать.
log_path путь к файлу Журнал установки, при этом папка должна существовать.

Таким образом, для установки определенных обновлений подойдет следующий playbook:

А если надо просто посчитать, сколько обновлений не хватает, playbook будет таким:

Для установки всех доступных обновлений с последующей перезагрузкой будет подобный playbook:

Напомню, что для работы со списком серверов понадобится файл инвентаризации. Например, такой:

И теперь для установки обновлений только на контроллеры домена можно использовать playbook:

Команда, которая проделает все эти операции, будет такой:

Внимательный читатель может спросить про источник скачиваемых обновлений. Источник будет тот, что настроен на компьютере: будь то Windows Update в интернете или локальный WSUS. Даже если до настройки WSUS руки не дошли, можно дать команду на установку нужных срочных апдейтов, особенно если детальки Lego под ноги уже высыпались.

Остается добавить, что не обязательно использовать именно Ansible. Например, для системы управления конфигурациями Chef можно использовать Cookbook Wsus Client или более навороченный boxstarter. Аналогичные модули существуют и для Puppet. В общем-то практически любая система управления конфигурациями может что-то подобное, в том числе и MS SCCM.

Напоследок приведу еще несколько заинтересовавших меня инструментов.

Прочие системы и решения

WSUS offline. Программа, позволяющая скачать необходимые обновления одним пакетом, при необходимости можно запаковать в ISO. Также можно положить пакет в сетевую папку и устанавливать обновления скриптами, без развертывания полноценного WSUS.

Patch Management от Comodo. Система установки обновлений для Windows и другого ПО. В отличие от других решений — бесплатна.


Интерфейс Comodo Patch Management.

Opsi. Бесплатная, интересная система, поддерживающая установку не только обновлений, но и операционных систем, заодно с инвентаризацией.

BatchPatch. Единственная из платных систем, попавшая в список. Позволяет устанавливать ПО, обновлять его, как и Windows, и многое другое. Отличается олдскульным дизайном, а также стоимостью не за количество обслуживаемых хостов, а за пользователей программы, т.е администраторов. Пожалуй, это одно из немногочисленных решений, позиционирующих себя как аналог WSUS. Цена начинается от $400.


Интерфейс BatchPatch.

В комментариях добавляйте свои любимые инструменты для работы с обновлениями и не только.

Источник

Как обновить Windows 10 с другого ПК в локальной сети или интернете

Традиционно обновления Windows 10 загружаются с серверов Microsoft на ваш компьютер. Хотя это наиболее безопасный способ получения файлов обновлений без изменений, это не самый быстрый способ доставки, который вы можете использовать. Он также не поддерживает пропускную способность и может быть проблематичным для людей с ограниченными интернет-соединениями. С помощью функции под названием «Оптимизация доставки» можно настроить Windows 10 для загрузки обновлений, а также обновлений для приложений Microsoft Store, с других компьютеров в локальной сети или в Интернете. Вот как.

Как обмениваться обновлениями между компьютерами Windows 10 в локальной сети

Чтобы настроить Windows 10 на получение обновлений из нескольких источников, запустите приложение «Настройки» (нажмите Windows + I на клавиатуре). В приложении «Настройки» перейдите в раздел «Обновление и безопасность».

В левом столбце выберите Оптимизация доставки. Эта функция может быть отключена на вашем компьютере. Чтобы включить его, установите для параметра «Разрешить загрузку с другого компьютера» значение «Вкл».

Вы получаете доступ к параметрам загрузки обновлений Windows 10 из Интернета и локальной сети. Выберите между:

  • «ПК в моей локальной сети»
  • «ПК в моей локальной сети и ПК в интернете»

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

Чтобы это работало и приносило значимые результаты, его необходимо включить на всех компьютерах или, по крайней мере, на нескольких компьютерах в сети или в Интернете. Когда вы находитесь в локальной сети с несколькими компьютерами Windows 10, повторите эту процедуру на всех из них. Кроме того, чтобы оптимизация доставки работала правильно, сеть, в которой находятся компьютеры Windows, должна быть настроена как частная, а не общедоступная.

Когда оптимизация доставки включена, обновления Windows 10 обмениваются между компьютерами и устройствами, использующими одноранговые соединения. Ваши ПК или устройства с Windows 10 теперь получают обновления не только с серверов Microsoft, но и с других компьютеров, будь то в локальной сети или подключенных к Интернету, в зависимости от того, как вы настроили Оптимизацию доставки.

Как проверить, работает ли Оптимизация доставки в Windows 10

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

После выполнения настроек, которые мы вам показывали ранее, подождите около недели и вернитесь в «Настройки → Обновление и безопасность → Оптимизация доставки». Затем нажмите на монитор активности.

Теперь вы видите статистику по загрузкам и загрузкам, выполненным Windows 10 Update с оптимизацией доставки. Один из наших компьютеров в локальной сети часто подключен к сети. Поэтому, когда мы смотрим на статистику загрузки для него, мы видим, что 100% его обновлений для Windows 10 загружаются из Microsoft. Тем не менее, мы также видим в статистике выгрузки, что она загружала обновления на другие компьютеры в сети, которые в сети меньше.

На другом ПК с Windows 10 из той же сети у нас была потрясающая статистика загрузки, показывающая, что оптимизация доставки работает хорошо, и ей удалось загрузить почти половину обновлений Windows 10 с других компьютеров, как из локальной сети, так и из Интернета.

Вы установили Windows 10 для загрузки обновлений из локальной сети или интернета?

Как видите, настройка устройства Windows 10 для получения обновлений из нескольких источников не так уж сложна. У этого подхода есть свои преимущества: требуется более быстрая загрузка обновлений для Windows 10 и меньшая пропускная способность интернета, поскольку некоторые обновления загружаются из локальной сети, а также с других компьютеров, на которых эти обновления уже есть. Прежде чем закрыть это руководство, расскажите, как вы настроили функцию оптимизации доставки в Windows 10: хотите ли вы загружать обновления только с других компьютеров в локальной сети или из Интернета? Комментарий ниже и давайте обсудим.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Сервер не принимает удаленных запросов windows xp
  • Сервер лицензирования терминалов windows 2008
  • Сервер занят переключиться повторить windows 10
  • Сервер времени windows 2008 r2 настройка
  • Сервер возвратил ссылку windows 7 как исправить