Установка обновлений безопасности Windows на несетевые рабочие станции

Установка обновлений безопасности Windows на несетевые рабочие станции

Я видел несколько подобных вопросов, но все они либо устарели, либо предполагают наличие автономной сети или автономных серверов.

У нас есть большое количество удаленных офисов, большинство из которых не имеют собственных IT-магазинов. В каждом из этих офисов есть как минимум две, а возможно и много рабочих станций, которые не подключены ни к какой сети. Эти рабочие станции работают под управлением Windows 10 Enterprise. Ни одна из этих вещей не подлежит обсуждению.

Два-четыре раза в год мы готовим обновление для нашего приложения. Удаленные офисы получают это обновление через наш защищенный веб-портал, загружают его на флэш-накопитель и применяют это обновление на каждой рабочей станции. Я хотел бы использовать это как возможность также установить любые обновления безопасности или критические обновления для Windows с момента последнего обновления.

Пока что лучшим вариантом, который я видел, является WSUS Offline, но он не позволяет легко делать инкрементальные обновления, а без этого в конечном итоге размер загрузки станет необоснованным. Я не использовал WSUS или SCCM, но похоже, что у них нет возможности создать автономный установщик. Целевые рабочие станции очень заблокированы, поэтому в моем идеальном мире я бы хотел, чтобы результирующий исполняемый файл(ы) был подписан либо Microsoft, либо нами.

Есть ли другие варианты, которые мне следует рассмотреть? У нас нет проблем с оплатой корпоративного решения, если оно доступно. Прямо сейчас я серьезно подумываю взять исходный код из WSUS Offline и изменить его под свои нужды, но я бы предпочел не загружать свои ресурсы разработки.

решение1

С новой моделью исправлений все стало кумулятивным, и именно поэтому они такие большие. По сути, они стали ежемесячным пакетом обновления для каждого продукта. Поэтому в зависимости от того, какие продукты вы загрузили на эти машины, вам нужно только самое последнее обновление для: (#1) ОС, а затем той версии (#2) IE, (#3) .NET Framework и, возможно, (#4) Office, которая установлена.

Пример: если вы устанавливаете исправления 2 раза в год, скажем, в январе и июне, вам не нужно применять исправления из других 10 месяцев года, поскольку январь 2018 года заменяет все из 2017 года, а июнь 2018 года заменяет февраль-май 2018 года.

решение2

http://catalog.update.microsoft.com (Убедитесь, что вы получаете версию для правильной ОС и x86 или x64) Введите KB####### по одному и добавьте их в корзину. Когда будет предложено указать папку, перейдите в c:\updates.

Файл Wusa.exe находится в папке %windir%\System32. Автономный установщик Центра обновления Windows использует API агента Центра обновления Windows для установки пакетов обновлений.

for /R "C:\Updates\" %i in (*.msu) do wusa "%i" /quiet /norestart

Я бы предложил переименовать патчи, добавив 1,2,3 и т. д. в начало имени файла, чтобы они устанавливались в правильном порядке. Либо просто иметь кучу wsu в пакетном файле.

wusa "package1.msu" /quiet /norestart
wusa "package2.msu" /quiet /norestart
wusa "package3.msu" /quiet /norestart
...

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

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


Другой возможный ответ — полное создание образа. Вы можете использовать imagex от Microsoft для захвата окон в wim-файл. Затем создайте среду Windows PE на USB-накопителе с wim-файлом. Разверните wim-файл, перезагрузите компьютер и все готово.

Преимущество здесь в том, что вы знаете, что все исправления развернуты правильно. Компьютер будет в единой конфигурации.

Если конечному пользователю необходимо хранить файлы, я бы предложил разбить жесткий диск на разделы c: и d:, а затем сохранить все пользовательские файлы на D:, чтобы можно было при желании повторно создать образ диска C:.

Самый большой недостаток — размер, даже если вы тщательно очистите образ, он будет намного больше. Может быть, 16 или 32 ГБ, в зависимости от того, насколько велика ваша программа и насколько тщательно вы очищаете жесткий диск от нежелательных файлов.

решение3

  1. Загрузите последнюю версию cab-файла обновления wsusscn2.cabздесь:http://go.microsoft.com/fwlink/?linkid=74689
  2. Получите модуль PowerShell для управления обновлениями, загрузите вручную.nupkg https://www.powershellgallery.com/packages/PSWindowsUpdate/2.2.0.2
  3. Скопируйте эти два файла на USB-накопитель, который вы будете использовать для переноса обновлений на компьютер.
  4. Распакуйте его .nupkgв папку modules: C:\Program Files\WindowsPowerShell\Modulesтак, чтобы окончательный путь выглядел так же, как C:\Program Files\WindowsPowerShell\Modules\PSWindowsUpdateи содержимое nupkg в этой папке.
  5. Импортируйте модуль:Import-Module PSWindowsUpdate
  6. Добавьте cab-файл из шага 1 в качестве источника обновлений: Add-WUOfflineSync -Path C:\wsusscan.cabиспользуя путь, по которому вы разместили cab-файл.
  7. Получите ServiceIDсозданный на шаге 6 с помощью: Get-WUServiceManager. Эта команда выводит список всех опций и их GUID. Тот, который вы ищете, будет иметь имяOffline Sync Service
  8. Установите обновления из этого нового источника, ссылаясь ServiceIDна шаг 7, где я указал <GUID>:

Install-WindowsUpdate -ServiceID <GUID> -AcceptAll -AutoReboot

Связанный контент