WUSA — установка и удаление обновлений Windows из командной строки

WUSA (Windows Update Standalone Installer) устанавливает и удаляет MSU-пакеты обновлений Windows без подключения к интернету и без интерфейса — из CMD или скрипта.

WUSA (Windows Update Standalone Installer) — утилита командной строки для установки и удаления автономных пакетов обновлений в формате .msu. Незаменима при автономном развёртывании патчей безопасности, обновлении изолированных серверов и массовой установке обновлений через скрипты.

Синтаксис команды WUSA

WUSA [путь_к_пакету.msu] [/quiet] [/norestart] [/forcerestart] [/promptrestart]
WUSA /uninstall /kb:НОМЕР_КБ [/quiet] [/norestart]
WUSA /kb:НОМЕР_КБ /uninstall

путь_к_пакету.msu — полный или относительный путь к файлу обновления. Если путь содержит пробелы — заключите в двойные кавычки. НОМЕР_КБ — числовой идентификатор статьи базы знаний, например 5034441.

Ключи и параметры

Ключ Описание Пример
/quiet Тихая установка без диалогов и прогресс-баров wusa patch.msu /quiet
/norestart Не перезагружать компьютер после установки wusa patch.msu /quiet /norestart
/forcerestart Принудительно перезагрузить после установки, даже если не требуется wusa patch.msu /quiet /forcerestart
/promptrestart Запросить разрешение на перезагрузку у пользователя wusa patch.msu /quiet /promptrestart
/uninstall Удалить ранее установленное обновление wusa /uninstall /kb:5034441 /quiet
/kb:НОМЕР Указать номер KB для удаления wusa /uninstall /kb:5034441
/log:путь Записать подробный лог установки в указанный файл wusa patch.msu /log:C:\wusa.log
/? Показать справку по параметрам wusa /?

Примеры использования

Тихая установка MSU-пакета без перезагрузки

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

wusa "C:\Updates\windows10.0-kb5034441-x64.msu" /quiet /norestart

Код возврата 0 означает успех, 3010 — установка прошла, но требуется перезагрузка.

Установка с логированием

Необходимо, когда нужно диагностировать сбой установки на конкретной машине.

wusa "C:\Updates\windows10.0-kb5034441-x64.msu" /quiet /norestart /log:"C:\Logs\kb5034441.log"

Файл лога содержит подробный журнал всех действий установщика, включая коды ошибок.

Удаление обновления по номеру KB

Нужно, когда патч вызвал проблемы совместимости или сбои в работе приложений.

wusa /uninstall /kb:5034441 /quiet /norestart

Если обновление защищено от удаления или уже интегрировано в систему, WUSA вернёт ошибку 0x80070bc9.

Пакетная установка обновлений через bat-скрипт

Позволяет последовательно установить несколько патчей и в конце выполнить одну перезагрузку.

@echo off
wusa "C:\Updates\kb5034441.msu" /quiet /norestart
wusa "C:\Updates\kb5033375.msu" /quiet /norestart
wusa "C:\Updates\kb5031445.msu" /quiet /norestart
shutdown /r /t 60 /c "Установка обновлений завершена"

Скрипт устанавливает три патча по очереди и через 60 секунд перезагружает систему.

Проверка наличия обновления через wmic

Перед удалением или повторной установкой полезно убедиться, что обновление действительно установлено.

wmic qfe list brief | findstr "KB5034441"

Если строка выведена — обновление присутствует. Пустой результат означает, что KB не найден.

Установка MSU на удалённой машине через PsExec

Вариант для администраторов без прав RDP на целевой хост, когда файл обновления уже скопирован в общую папку.

psexec \\SERVER01 wusa "\\FILESERVER\Updates\kb5034441.msu" /quiet /norestart

Требует, чтобы путь к MSU был доступен с контекстом учётной записи, под которой работает PsExec.

Частые ошибки и решения

Код / симптом Причина Решение
0x80240017 — обновление не применимо Пакет предназначен для другой версии или архитектуры Windows Убедитесь, что скачали правильный MSU: x64/x86, версия ОС совпадает с требованиями KB
0x80070422 — служба недоступна Служба Windows Update или Cryptographic Services остановлена Запустите net start wuauserv и net start cryptsvc, затем повторите
0x80070bc9 — удаление невозможно Обновление защищено от удаления или интегрировано в образ Попробуйте через «Программы и компоненты» → «Установленные обновления»; некоторые KB не удаляются
Процесс запускается и сразу завершается, обновление не установлено Обновление уже установлено в системе Проверьте через wmic qfe list | findstr "KB..." — если найдено, установка пропускается
Ошибка «Доступ запрещён» при запуске WUSA CMD запущена без прав администратора Откройте командную строку через «Запуск от имени администратора»

Когда применять, а когда нет

WUSA оптимальна для автономного развёртывания отдельных патчей на изолированных машинах или в рамках скриптов автоматизации. Если нужно управлять обновлениями централизованно — используйте WSUS или Microsoft Endpoint Configuration Manager. Для получения списка всех установленных обновлений удобнее wmic qfe list или PowerShell: Get-HotFix. WUSA требует прав администратора и работает только с файлами .msu; .msp и .msi она не обрабатывает — для них нужны msiexec или соответствующие установщики.

FAQ

Чем WUSA отличается от обычного запуска MSU двойным кликом?

Двойной клик запускает WUSA в интерактивном режиме с GUI. Командная строка позволяет передать ключи /quiet и /norestart, что делает установку полностью автономной — без диалогов и без немедленной перезагрузки.

Как узнать номер KB для уже установленного обновления?

Выполните wmic qfe list brief в CMD или Get-HotFix в PowerShell. Оба выведут таблицу с колонкой HotFixID, где указаны номера KB.

WUSA зависает и не завершается — что делать?

Чаще всего причина — не отвеченный диалог в фоновом окне. Запускайте с /quiet или найдите и закройте скрытое окно установщика через диспетчер задач. Если зависание повторяется — проверьте целостность компонентов командой sfc /scannow.

Можно ли использовать WUSA в Windows Server?

Да. WUSA работает во всех версиях Windows, где присутствует механизм обновлений через MSU, включая Windows Server 2008 R2 и новее. Синтаксис и ключи идентичны.

Как проверить код возврата WUSA в скрипте?

В bat-файле используйте %ERRORLEVEL% после вызова WUSA. Код 0 — успех, 3010 — требуется перезагрузка, любой другой — ошибка. В PowerShell проверяйте $LASTEXITCODE.

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

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.