Wsus удалить ненужные обновления

WSUS (Windows Server Update Services) — сервер обновлений компании Microsoft. Работает достаточно просто, синхронизируется с сайтом Microsoft, откуда происходит скачивание выбранного программного обеспечения, затем обновления распространяются внутри корпоративной локальной сети, что значительно экономит внешний интернет трафик, также возможно руководить процессом обновления и его частотой.

Для очистки wsus от старых обновлений воспользуемся мастером очистки.

Запускаем Службы Windows Server Update Services. Находим пункт меню "Параметры" и нжимаем на него

В открывшемся окне выбираем "Мастер очистки сервера"

В следующем окне проверяем наличие всех чекбоксов и нажимаем "Далее"

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

Также как работает мастер очистки сервера wsus можно посмотреть здесь:

Установка WSUS

До того, как производить оптимизацию WSUS, рекомендуем еще в процессе установки принять решение о некоторых параметрах установки. Итак, наши рекомендации:

MS SQL база данных вместо Windows Internal Database

Определитесь, в какой базе данных будет храниться WSUS. Рекомендации таковы:

  1. Устанавливаем MS SQL Server. Мало того, что эта СУБД рассчитана на большие объемы данных (чего здесь не требуется), так она еще позволяет легко и удобно обслуживать базу данных (что требуется регулярно).
  2. Установить MS SQL базу данных можно также на отдельном сервере (типа SQL сервера для IT служб), что в случае использования виртуальных машин позволяет сэкономить ресурсы, в первую очередь оперативную память: SQL нужен для WSUS, Kaspersky Security Center, службы мониторинга сети и т.д.

Оптимизация WSUS

Настройка Internet Information Server

В конфигурации "по-умолчанию" пул приложений "WsusPool" настроен неоптимально. Давайте донастроим его. Для этого запустите оснастку IIS, откройте "Application pools", выберите WsusPool и откройте "Advanced settings":

По умолчанию процессу w3wp.exe выделяется мало памяти. Давайте уберем лимиты:

В поле "Private Memory Limit (KB)" установите в качестве лимита 0

При большом количестве клиентов WSUS, особенно получающих обновления впервые, рекомендуем увеличить следующие параметры:

  1. В поле "Queue Length" установите значение 25 000 или даже 50 000 (по умолчанию там всего 1000).
  2. Если у Вас используется NUMA, в поле "Maximum Worker Processes" поставьте значение 0 (по умолчанию 1). Если Вы не знаете, поддерживает ли сервер NUMA, оставьте значение по умолчанию.
  3. В поле ""Service Unavailable" Response Type" поставьте значение TcpLevel (по умолчанию — HttpLevel).
  4. В поле "’Failure Interval (minutes)" поставьте значение 30 (по умолчанию 5).
  5. В поле "Maximum Failures" поставьте значение 60 (по умолчанию 5)

После изменения настроек перезагрузите сервер или только IIS. Для перезагрузки IIS выполните в командной строке от имени администратора:
iisreset

Настройка TempDB

Настройте базу TempDB: укажите количество файлов базы данных равным количеству [логических] процессоров на SQL сервере. Если количество процессоров больше 8, используйте 8 файлов в базе данных TempDB.
Microsoft рекомендует:
As a general rule, if the number of logical processors is less than or equal to 8, use the same number of data files as logical processors. If the number of logical processors is greater than 8, use 8 data files and then if contention continues, increase the number of data files by multiples of 4 (up to the number of logical processors) until the contention is reduced to acceptable levels or make changes to the workload/code.

Очистка WSUS

Для того, чтобы почистить WSUS (чтобы он начал работать или заработал быстрее), есть несколько средств:

  1. Штатные средства консоли Windows Server Update Services.
  2. Дефрагментация / реиндексация базы данных WSUS.
  3. Ускорение работы WSUS с помощью чистки/оптимизации базы данных.
  4. Удаление устаревших / ненужных обновлений из командной строки.
  5. Проверка и исправление испорченных файлов обновлений WSUS.

Применять все эти средства рекомендуем по порядку: они перечислены в порядке от более слабых к более сильным средствам.

Штатные средства очистки в консоли Windows Server Update Services

Для чистки WSUS стандартными средствами:

  1. Откройте консоль Windows Server Update Services
  2. Выберите "Options" => "Server Cleanup Wizard"
  3. Отметьте все пункты для очистки:
  1. Unused updates and update revisions
  2. Computers not contacting the server
  3. Unneeded update files
  4. Expired updates
  5. Superseded updates
Читайте также:  Устранение замятия в каретке принтера hp
  • Нажмите Next и выполните очистку всех указанных пунктов
  • Главный секрет состоит в том, что запускать Server Cleanup Wizard со всеми пунктами необходимо регулярно, не реже одного раза в месяц (или при одобрении большой пачки обновлений). Одобрили свежую пачку обновлений — очистите сервер. Если этого не делать, мастер прекращает нормально работать. После запуска он висит несколько часов, после чего консоль "падает" с ошибкой.

    Для решения проблемы можно попробовать запускать каждый из перечисленных пунктов в Server Cleanup Wizard по отдельности. Если же и это не помогает, нужно переходить к другим средствам оптимизации WSUS.

    Дефрагментация / реиндексация базы данных WSUS.

    Название базы данных WSUS по умолчанию — SUSDB. Для выполнения запросов к этой базе данных (независимо от того, является эта база MS SQL или Windows Internal Database) рекомендуем установить SQL Management Studio (SMSS). Это ПО теперь является отдельным (и бесплатным) продуктом от Microsoft.

    Подключение к Windows Internal Database

    В случае, если формат базы данных WSUS — Windows Internal Database, для работы с базой необходимо установить SQL Management Studio на сервер WSUS и для подключения к базе данных использовать строку:

    Ускорение работы WSUS с помощью чистки/оптимизации базы данных

    Несколько советов, которые могут во многих случаях значительно ускорить сервер.

    1. Очистка базы
    2. Переиндексация
    3. Настройка TempDB

    Очистка базы

    Для очистки базы выполните 4 волшебные команды:

    Отклонение "просроченных" обновлений:

    Отклонение "устаревших" обновлений (взамен которых вышли другие обновления):

    "Сжатие" обновлений (для команды spCompressUpdate используется "обертка"):

    Удаление отклоненных обновлений (для команды spDeleteUpdate используется такая же "обертка"):

    Во время работы "обёрток" клиенты прекращают получать обновления. Вы можете в любой момент прервать выполнение скрипта без потери прогресса. Для того, чтобы продолжить процесс, не забудьте удалить временную таблицу:

    В мастере очистки WSUS 5 команд, мы вполнили 4 из них. Команду "Delete computers not contacting server" следует выполнить из мастера.

    Переиндексация базы

    Для переиндексации базы используйте следующий скрипт:

    "Ручная" переиндексация базы данных:

    Удаление неиспользуемых патчей

    Есть несколько команд, призванных решить проблему с удалением неиспользуемых патчей:

    • WSUSDebug PurgeUnneededFiles
    • WSUSUTIL.exe Deleteunneededrevisions
    • WSUSUTIL.exe Reset
    • WSUSUTIL.exe Removeinactiveapprovals (optional)

    WSUSDebug PurgeUnneededFiles

    WsusDebugTool.exe /Tool:PurgeUnneededFiles
    wsusdebugtool отдельная утилита и скачивается отдельно (под ОС с архитектурой х64 не работает). Как следует из описания, удаляются файлы, которые не нужны серверу WSUS.
    WSUS Debug Tool: Run PurgeUnneededFiles command to Purge unneeded content. This command deletes all files not needed on the WSUS server.

    WSUSUTIL Deleteunneededrevisions

    WSUSUTIL.exe Deleteunneededrevisions
    Команда чистки метаданных устаревших / ненужных обновлений из СУБД. Обратите внимание: эта команда должна выполняться после остановки сайта WSUS в консоли IIS.
    Purges the metadata for unnecessary update revisions from the database. This is useful for managing WSUS with an MSDE database. (NOTE: this command should only be run after stopping the Windows Server Update Services website in Internet Information Services MMC.)

    wsusutil reset

    Как выполнить процедуру WSUS Reset
    WSUS Reset — это безопасная процедура, которая проводит проверку имеющихся файлов метаданных с информацией о них в БД WSUS, и при выявлении расхождений – исправляет проблему.
    На сервере с ролью WSUS:

    1. Закройте консоль WSUS;
    2. Остановите службу Update Services;
    3. Скопируйте содержимое папки WSUSContent в безопасное место, после чего удалите все содержимое;
    4. Запустите службу Update Services;
    5. В elevated командной строке перейдите в каталог "C:Program FilesUpdate ServicesTools"
    6. Запустите команду
      WSUSUtil.exe RESET

    Как проверить факт завершения процесса?
    Вам нужно открыть лог SoftwareDistribution.log (по умолчанию расположен в каталоге "C:Program FilesUpdate ServicesLogFiles"), в нем должны появиться строки вида:
    ExecutionContext.runTryCode State Machine Reset Agent Starting ExecutionContext.runTryCode State Machine Reset Agent Finished WSUSUTIL.exe reset
    ***(NOTE: WSUSUTIL.exe is installed C:Program FilesUpdate ServicesTools)
    MOST IMPORTANT
    The option "Download update files to this server only when updates are approved" must be checked / selected or else, it will re-download those "not needed" updates,during the next sychronization schedule.
    Open WSUSAdmin Console – Click on "Options" – Click on "Synchronization Options" – Scroll down to "Update Files and Languages" Section – Click on "Advanced" – Click "OK" – Select "Download update files to this server only when updates are approved" – Click "OK" and save settings.

    Диагностика WSUS

    Ошибка 80244022 при обновлении windows

    Причина ошибки 80244022 — в том, что не запущен сервис обновлений, точнее служба обновлений при подключении к ней выдает ошибку. При попытке открытия сайта (wsus = имя сервера WSUS):
    http://wsus:8530/
    Выдается сообщение:
    Service Unavailable HTTP Error 503. The service is unavailable.

    Читайте также:  Pioneer a 447 отзывы

    При этом не удается запустить консоль управления WSUS. Перезагрузка службы "WSUS service" не помогает, помогает только перезагрузка IIS и/или всего сервера (это помогает ненадолго).

    Причиной зависания службы являются события в логах на сервере WSUS:

    Event ID: 5117
    Level: Information
    Source: Microsoft-Windows-WAS
    Description: A worker process serving application pool ‘WsusPool’ has requested a recycle because it reached its private bytes memory limit.

    Event ID: 5002
    Level: Error
    Source: Microsoft-Windows-WAS
    Description: Application pool ‘WsusPool’ is being automatically disabled due to a series of failures in the process(es) serving that application pool.

    Более подробно — см. по этим ошибкам (event ID) — см. ниже по тексту.

    Здесь приводятся неверные решения данной проблемы:

    Правильное решение описано здесь:

    Ошибка 80244023 при обновлении windows

    Эта проблема связана прежде всего со следующей проблемой: не открывается (или открывается через раз) сайт (wsus = имя сервера WSUS):
    http://wsus:8530/

    Если при открытии главной web-страницы WSUS отображается ошибка 403:

    1. зайдите на сервер WSUS
    2. откройте IIS => Application pools => WSuspool
    3. проверьте, что версия .NET указана 4.0:
      wsuspool => basic settings => .NET CLR version = 4.0.xxxx

    Service Unavailable

    При попытке открытия сайта (wsus = имя сервера WSUS):
    http://wsus:8530/
    Выдается сообщение:
    Service Unavailable HTTP Error 503. The service is unavailable.

    При этом на клиентах при попытке обновления Windows появляются следующие сообщения об ошибках:
    ошибка обновления 80244021
    ошибка обновления 80244022.

    И при попытке открытия консоли WSUS выдается ошибка с предложением "Reset server node".

    Причиной являются следующие сообщения в логах Windows на WSUS сервере:

    Event ID: 5117
    Level: Information
    Source: Microsoft-Windows-WAS
    Description: A worker process serving application pool ‘WsusPool’ has requested a recycle because it reached its private bytes memory limit.

    Event ID: 5002
    Level: Error
    Source: Microsoft-Windows-WAS
    Description: Application pool ‘WsusPool’ is being automatically disabled due to a series of failures in the process(es) serving that application pool.

    Решение этой проблемы описано в статье "Windows Server 2012 R2 WSUS Issue: Clients cause the WSUS App Pool to become unresponsive with HTTP 503". Для решения проблем, отображаемых в данных сообщениях об ошибках, необходимо произвести изменение (оптимизацию) настроек IIS, в т.ч. таких параметров как private memory, Queue Length, Maximum Failures, Maximum Failures и "Service Unavailable" Response Type. Оптимальные значения этих настроек см. в разделе "настройка Internet Information Services".

    Если не открывается консоль WSUS

    Если не открывается консоль WSUS, предлагает сделать reset server node — сначала можно сделать этот reset node, после чего:

    1. почистить настройки консоли: удалить файл в папке %appdata%MicrosoftMMC
    2. перезагрузить службу WSUS Service
    3. перезагрузить IIS
    4. перезагрузить SQL

    Часто задаваемые вопросы

    Вопрос: Как немедленно начать обновление?
    Ответ:

    • Немедленное обновление:
      Wuauclt.exe /detectnow
    • Перерегистрация на сервере WSUS с немедленным обновлением:
      Wuauclt.exe /resetauthorization /detectnow

    Вопрос: Как проверить, работает ли клиент обновлений?
    Ответ: Смотрим файл %WINDIR%\WindowsUpdate.log . Также можно заглянуть в системный журнал.

    Вопрос: Как проверить, работает ли сервер обновлений?
    Ответ 1: При помощи команды:
    wsusutil checkhealth
    Сама утилита "wsusutil" находится в подпапке "Tools" папки, куда установлен сам WSUS (обычно — "%ProgramFiles%Update ServicesTools".
    После окончания выполнения команды, смотрим результат в журнале событий "Приложения" ("Applications") от источника "Windows Server Update Services".
    При отсутствии ошибок, код сообщения будет "10000", категория — "Core" с описанием "WSUS is working correctly".
    Ответ 2: При помощи браузера нужно зайти на страничку WSUS: http://wsus_server_address.local:XXXX/ClientWebService/client.asmx, где "wsus_server_address.local" — адрес WSUS сервера, а "XXXX" — его порт.
    Если сервер работает нормально, получим ответ от WSUS сервера в виде "Ошибка сервера в приложении ‘/ClientWebService’".
    Иначе, будет какое-либо сообщение от IIS сервера (ошибки HTTP), типа не удается отобразить эту страницу или не хватает прав для… или неверно сконфигурирован… или у вас отсутствуют разрешения на просмотр этой страницы и т.п.

    Вопрос: Как вернуть рабочие станции, удаленные с сервера?
    Ответ: Решение простое: при следующей синхронизации клиентов с сервером они снова появятся (хотя, вроде в справке написано, что от таких клиентов запросы будут игнорироваться).

    Вопрос: Где хранятся настройки оснастки "Windows Server Update Services"?
    Ответ: %appdata%MicrosoftMMCwsus

    Вопрос: Где находится база WSUS?
    Ответ: Информация об этом — в реестре:
    HKLMSOFTWAREMicrosoftUpdateServicesServerSetup
    SqlServerName — Имя SQL сервера

    Читайте также:  Sapphire hd 7770 разгон

    А вы знали, что по умолчанию WSUS храните все версии обновлений, которые он скачал с узла Microsoft Update. Со временем размер обновлений может стать достаточно внушительным, и перед вами встанет задача очистки WSUS.

    Поэтому, чтобы освободить дисковое пространство на сервере обновлений Windows, рекомендуется периодически использовать программу wsusutil.exe для удаления старых версий обновлений. Кроме того, есть небольшой нюанс: максимальный размер БД WSUS, построенной на СУБД Microsoft SQL Server Desktop Engine (MSDE), ограничен. Это стандартное ограничение на размер базы данных в MSDE, и составляет оно 2 гигабайта (ГБ).

    Программа wsusutil.exe может удалить обновлений WSUS, которые не были развернуты в течении последнего месяца.

    Итак, чтобы удалить старые обновления из базы данных WSUS, следуйте этой процедуре:

    • Войдите с учетной записью, обладающей правами локального администратора, на сервер обновлений WSUS.
    • Остановите веб сайт сайт WSUS, остановив службу Internet Internet Information Services (IIS). Чтобы сделать это, откройте IIS из административных инструментов, перейдите на сайт «WSUS Administration Web site», щелкните правой кнопкой мыши по веб-узлу и нажмите кнопку Stop.
    • Откройте окно командной строки и перейдите в папку %drive%Program FilesUpdate ServicesTools
    • Введите следующее:

    wsusutil.exe deleteunneededrevisions

    После информации об успешном выполнении команды, запустите сайт WSUS Administration, для этого просто щелкните правой кнопкой мыши по нашему веб-узлу в IIS и нажмите кнопку Start.

    wsus 3.2
    нет там такой команды. Есть:
    help
    checkhealth
    configuressl
    configuresslproxy
    deletefrontendserver
    listinactiveapprovals
    removeinactiveapprovals
    export
    healthmonitoring
    import
    listfrontendservers
    movecontent
    reset
    usecustomwebsite
    listunreferencedpackagefolde

    Вы правы, опция deleteunneededrevisions утилиты wsusutil.exe была ликвидирована начиная с 3-ей версии WSUS.
    Вместо нее для очистки сервера WSUS нужно использовать функционал Server Cleanup Wizard, который можно запустить из раздела Option консоли WSUS.

    в чем может быть причина того что он крашиться при попытке очистить через Server Cleanup Wizard?

    Не хватает памяти для sql

    А вот еще такой интересный вопрос — как удалить из базы обновления для продуктов, которые более не нужны?
    Реальный кейс:
    WSUS из поставки Windows Server 2012 R2.
    На протяжении последних n лет качал обновления для MS Office 2007.
    Теперь мы перешли на новую версию Офиса и в настройках WSUS сняли галочку с Office 2007.
    Запускаем мастер очистки и размер высвобожденного пространства около 100 МБ (т.е. понятно что обновления офиса из базы не удалились, а меж тем места они занимают весьма не мало).

    Есть какое-то решение интересно?

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

    В общем как оказалось да — человеческого способа сделать это нет. Но и WSUS конечно полностью удалять не надо 🙂 Надо «всего лишь» полностью очистить все файлы обновлений и выкачать заново только нужные. Сделать это можно разными способами но наиболее изящный (без остановки/запуска службы и использования командной строки) вот:

    1) Обновления которые нужно удалить перевести в состояние «Не утверждено» (на самом деле я думаю можно сразу в «Отклонено», но в англоязычном источнике было написано так)

    2) В настройках в пункте «Файлы и языки обновлений» выбрать «Не хранить файлы обновлений локально». Нажать ОК. Зайти в эти настройки заново и убедиться, что кнопки «Ок» и «Применить» не доступны и выводится сообщение о том, что идёт процесс применения настроек (занимает несколько минут). Периодически открывая окно дождаться когда процесс закончится (исчезнет сообщение, а кнопки станут доступны).

    3) Запустить мастер очистки сервера (он полностью очистит папку WSUSContent от файлов обновлений).

    4) Снова зайти в «Файлы и языки обновлений» и выбрать локальное хранение файлов обновлений. Убедиться, что выбрана опция скачивания файлов только после утверждения обновлений, а опция скачивания экспресс-установки отключена. Так же нужно убедиться, что выбраны только нужные языки обновлений (на следующей вкладке).

    5) Дождаться загрузки всех обновлений (может занять не одни сутки! причём мне показалось, что используется не 100% ширины канала)

    6) Обновления из п.1 перевести в состояние «Отклонено».

    Спасибо за мануал!
    Я так и думал — практически полная переустановка 🙂

    Сергей, спасибо!
    как же не просто найти что-то стоящее и актуальное.

    Оцените статью
    Добавить комментарий