UsoClient — замена wuauclt


Windows 10 оказалась очень практичной системой. За несколько лет эксплуатации в корпоративной среде мы не имели с ней проблем. И расслабились :-) — как-то разом застряли кумулятивные обновления на всех системах.

По всей видимости через WSUS приехало некачественное обновление и попортило образы систем. В CBS.log на разных компьютерах ошибки на разные компоненты. Будто это не детерминированные компьютеры, а последствия взрыва гранаты — где как пришлось.

Попробовали вылечить несколько систем вручную с помощью sfc и dism. Несколько ошибок они исправили, но не все. Победить проблему удалось только утилитой SFCFix. Но это же не вариант лечить вручную сотни компьютеров, да ещё сторонней утилитой!

Открыли системам доступ в Интернет на сайты Windows Update. Dism сразу стал инициировать загрузку каких-то компонентов, но до конца всё так и не вылечил.

К счастью оказалось, что последние обновления всё-таки ставятся и проблема лечится автоматически: загрузка последних обновлений, пара установок с аварийным завершением (при этом в CBS.log видно исправление ошибок образа системы!) и перезагрузкой — и всё работает. (Иногда правда перезагрузка может зависать надолго на некоторых системах, но это терпимо.)

Попутно выяснилось, что привычная wuauclt утилита не работает. К тому же её можно было запускать только локально.

Если на Windows XP и Windows 7 приходилось из-за ограничений Windows Update клиента прибегать к некоторым ухищрениям, чтобы удаленно инициировать установку обновлений, то на Windows 10 было приятно открыть для себя утилиту UsoClient, которая работает через удаленное подключение PowerShell или PSExec.

С помощью неё можно не только иницировать поиск обновлений, но и их загрузку, установку и перезагрузку системы.

Список параметров от доброго человека:

  • StartScan Used To Start Scan
  • StartDownload Used to Start Download of Patches
  • StartInstall Used to Install Downloaded Patches
  • RefreshSettings Refresh Settings if any changes were made
  • StartInteractiveScan May ask for user input and/or open dialogues to show progress or report errors
  • RestartDevice Restart device to finish installation of updates
  • ScanInstallWait Combined Scan Download Install
  • ResumeUpdate Resume Update Installation On Boot

Некоторый опыт использования RDP фермы


В связи с карантином терминальная ферма для удаленной работы у нас стала очень популярной :-)

Виртуалки пришлось заменить на железо. Даже вроде бы мощная виртуалка не выдерживает больше 15 пользователей по процессору. А вот на современном железном сервере с 36 ядрами каждый пользователь отъедает примерно 1% CPU. Поедание помяти сильно зависит от используемых приложений. У нас примерно 1.5 Гб. Все это, процессор и память, приведено на одного активно работающего офисного (MS Office) пользователя запускающего браузер.

Так как число пользователей на ферме выросло, дежурные администраторы запросили удаленное подключение к сессиям пользователей. Это позволяет сделать Удаленный помощник (Remote Assistant). (Раньше можно было настроить делегирование Shadow, но я не уверен даже, что теперь это можно для серверов 2019.)

Как минимум его надо установить как Feature на все терминальные серверы и компьютера администраторов. Если нет SCCM, то придется настраивать вручную группы доступа. Ручной запуск msra.exe /offerra <имя сервера>

Если есть SCCM, то можно на нем настроить политику клиента и назначить на терминальные серверы. Не забудьте добавить группы доступа в Set Viewers. В картинках смотрите тут https://www.prajwaldesai.com/remote-assistance-feature-in-sccm-2012-r2/

Для подключения из командной строки нужно знать имя сервера, на котором сессия пользователя. Пользователь может это посмотреть так: меню Пуск — набрать Имя — выбрать Просмотр имени сервера. Администратор может использовать командлет Get-RDUserSession, если есть права.