WUSA (Windows Update Standalone Installer) — утилита командной строки для установки и удаления автономных пакетов обновлений в формате .msu. Незаменима при автономном развёртывании патчей безопасности, обновлении изолированных серверов и массовой установке обновлений через скрипты.
- Синтаксис команды WUSA
- Ключи и параметры
- Примеры использования
- Тихая установка MSU-пакета без перезагрузки
- Установка с логированием
- Удаление обновления по номеру KB
- Пакетная установка обновлений через bat-скрипт
- Проверка наличия обновления через wmic
- Установка MSU на удалённой машине через PsExec
- Частые ошибки и решения
- Когда применять, а когда нет
- FAQ
- Чем WUSA отличается от обычного запуска MSU двойным кликом?
- Как узнать номер KB для уже установленного обновления?
- WUSA зависает и не завершается — что делать?
- Можно ли использовать WUSA в Windows Server?
- Как проверить код возврата WUSA в скрипте?
Синтаксис команды 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.


