Скрипт для установки обновлений для windows 7

Эта статья является логическим продолжением моей предыдущей статьи. Развивая тему добавления (установки/интеграции) пакетов обновлений в образ Windows Я решил на...

Время прочтения
5 мин

Просмотры 15K

Эта статья является логическим продолжением моей предыдущей статьи. Развивая тему добавления (установки/интеграции) пакетов обновлений в образ Windows Я решил написать скрипт оперирующий командами DISM, который автоматизирует процесс и избавляет системных администраторов от рутинных действий. Универсальность скрипта состоит в том, что с его помощью можно установить пакеты обновления на «живую» систему, либо интегрировать в образ Windows — файл install.wim. Гибкость скрипта состоит в том, что его работу можно настроить изменив значение нескольких переменных в начале всего кода.

Как и в предыдущей статье, для примера, мы будем добавлять к образу Windows так называемое Convenience rollup update (KB3125574), а также необходимое Servicing stack update (KB3177467). В ходе работы над скриптом выяснилось, что после интеграции в образ KB3177467, он (образ — install.wim), становится непригодным для дальнейших интеграций. Если устанавливать KB3177467 на «живую» ОС то проблем не возникает. У данной проблемы есть два решения: 1) интегрировать KB3177467 последним 2) заменить «проблемное» обновление его предыдущей версией — KB3020369. Я выбрал второй вариант, реализовав в скрипте ветвление по условию.

Скрипт

@echo off
Title Convenience Rollup - most important updates after SP1

set _arch=x64
set _file=install.wim
set _img=Online
set _mnt=mount
set _lev=2

:pre_menu
cls
dism /Get-WimInfo /LogLevel:%_lev% /WimFile:%_file%
echo -------------------------------------------------------------------------------
if %ERRORLEVEL% NEQ 0 if %ERRORLEVEL% EQU 2 (goto :bit) else (pause & exit)
set /p _ind=Input index or press [Enter] for quit: || exit
if %_ind% EQU 0 goto :bit
if %_ind% GTR 0 if %_ind% LEQ 24 goto :ind_menu
goto :pre_menu

:ind_menu
cls
dism /Get-WimInfo /LogLevel:%_lev% /WimFile:%_file% /Index:%_ind%
echo -------------------------------------------------------------------------------
if %ERRORLEVEL% NEQ 0 pause & goto :pre_menu
choice /c abcdefghijklmnopqrstuvwxyz /n /m "Mount selected image? [m] "
if %ERRORLEVEL% EQU 13 goto :mount
goto :pre_menu

:bit
if %_img%==Online (if "%PROCESSOR_ARCHITECTURE%" == "x86" if not defined PROCESSOR_ARCHITEW6432 set _arch=x86)^
else (dism /Get-WimInfo /LogLevel:%_lev% /WimFile:%_file% /Index:%_ind% /English | find "Architecture : x86" > nul && set _arch=x86)
goto :add

:add
cls
echo Getting packages list. Please wait...
dism /%_img% /Get-Packages /LogLevel:%_lev% /English > %TEMP%packages.txt
echo -------------------------------------------------------------------------------
if not %_img%==Online (
echo Add: Servicing stack update KB3020369
call :exist .%_arch%Windows6.1-KB3020369-%_arch%.cab ||^
dism /%_img% /Add-Package /LogLevel:%_lev% /PackagePath:.%_arch%Windows6.1-KB3020369-%_arch%.cab /NoRestart
echo -------------------------------------------------------------------------------
) else (
echo Add: Servicing stack update KB3177467
call :exist .%_arch%Windows6.1-KB3177467-%_arch%.cab ||^
dism /%_img% /Add-Package /LogLevel:%_lev% /PackagePath:.%_arch%Windows6.1-KB3177467-%_arch%.cab /NoRestart
echo -------------------------------------------------------------------------------
)
echo Add: Convenience rollup update KB3125574
call :exist .%_arch%Windows6.1-KB3125574-v4-%_arch%.cab ||^
dism /%_img% /Add-Package /LogLevel:%_lev% /PackagePath:.%_arch%Windows6.1-KB3125574-v4-%_arch%.cab /NoRestart
echo -------------------------------------------------------------------------------
del %TEMP%packages.txt
if not exist %_file% exit
pause
goto :unmount

:exist
dism /%_img% /Get-PackageInfo /LogLevel:%_lev% /PackagePath:%1 /English | find "Package Identity" | findstr /g:/ %TEMP%packages.txt > nul
exit /b

:mount
cls
md %_mnt%
dism /Mount-Wim /LogLevel:%_lev% /WimFile:%_file% /Index:%_ind% /MountDir:%_mnt%
if %ERRORLEVEL% NEQ 0 rd %_mnt% & pause & exit
set _img=Image:%_mnt%
goto :bit

:unmount
cls
if not %_img%==Online (
dism /Unmount-Wim /LogLevel:%_lev% /MountDir:%_mnt% /Commit
rd %_mnt%
)
set _arch=x64
set _img=Online
goto :pre_menu

Файлы и папки

Файлы пакетов обновлений здесь не прилагаю, так как указанные в скрипте взяты для образца. По месту нахождения скрипта должны быть созданы папки x64 и x86 в которые нужно разместить нужные пакеты обновлений. Сам файл скрипта можно сохранить в кодировке ANSI если не использовать кириллицу для вывода информационных сообщений. А если хочется видеть русский текст, то нужно cmd-файл сохранить в кодировке OEM 866.

Использование

Как уже отмечалось, скрипт может установить обновления или интегрировать их. Если в папке запуска отсутствует файл образа — install.wim, то скрипт выполняет установку обновлений в полностью автоматическом режиме. Если в папке запуска присутствует файл образа — install.wim, то скрипт выполняет считывание из него информацию об имеющихся «индексах» и предлагает ввести номер. После этого отображается расширенная информация о выбранном «индексе» выдаётся запрос на монтирование. Нажатие любой клавиши приводит к возврату, а нажатие клавиши [m] запускает следующую цепочку действий: монтирование образа, интеграция обновлений, размонтирование образа, возврат в меню выбора «индеска». После чего можно выбрать другой «индекс» для интеграции обновлений. Выбор «индекса» под номером 0 запускает установку обновлений на «живую» ОС.

Разбор кода

Вначале командой set происходит установка переменных. Можно изменить предполагаемое имя файла образа install.wim (например, на install.esd). Можно изменить имя папки монтирования или задать путь, если папка монтирования должна находится за пределами папки запуска. Можно изменить «уровень» логирования, для исключения информационных сообщений из файла лога системы DISM.

:pre_menu

Предварительное меню. Получение основной информации о wim-файле с контролем ошибок. Если ошибка 2 — отсутствует wim-файл, то запуск в режиме Online. Не нашел информацию о максимальном количестве «индексов» в одном образе и установил значение 24.

:ind_menu

Индексное меню. Получение расширенной информации о выбранном «индексе» в wim-файле с контролем ошибок. Предложение смонтировать «индекс».

:bit

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

:add

Добавление пакетов. Чтобы не делать лишней работы вначале происходит запрос списка уже добавленных (установленных или интегрированных) пакетов, а потом перед каждой командой запуска осуществляется вызов псевдофункции для проверки.

:exist

Псевдофункция проверки. Работа описана в статье Проверка присутствия пакета обновления в системе перед установкой. Код слегка подправлен.

:mount

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

:unmount

Размонтирование образа. Если выполнялось интерактивное обслуживание (/Online), то размонтировать не нужно. Возвращение переменных к исходным значениям.

Совместимость

Работа данного скрипта тестировалась на ОС Windows 7 со встроенной утилитой dism.exe версии 6.1.7600.16385. В версиях ОС Windows 8, 8.1, 10 утилита dism.exe системы DISM имеет более высокую версию. Думаю, обратная совместимость сохранена, и скрипт будет также работоспособен. К тому же появится возможность работать с esd-файлами.

ru-board.com

GenUpdates

🇷🇺 Внимание! Скачивать ТОЛЬКО по этой ссылке https://github.com/dialmak/GenUpdates/archive/master.zip

Описание

Скрипт «GenUpdates.cmd» предназначен для генерирования скриптов установки обновлений Windows с возможностью проконтролировать коды ошибок при установке обновлений.
Расположите «GenUpdates.cmd» вместе с «Settings.ini» перед папками с скачанными обновлениями.
В «Settings.ini» укажите параметр update_folder — относительный путь к папке с обновлениями, остальные параметры опциональны.
Затем запустите скрипт «GenUpdates.cmd» и следуйте подсказкам. Сгенерированный скрипт для установки обновлений Windows будет записан в ту же папку, что и скрипт «GenUpdates.cmd».

Внимание! Если у вас после открытия списка обновлений — «крякозябры», тогда инсталлируйте notepad++.


Быстрый старт

Пример создания скриптов установки обновлений Windows для списка Рекомендации по обновлению ОС Windows 7 SP1 + KB3125574 от TAILORD

  • Сделать папочку «Updates 7» и в ней папки
    * «Updates 01» (для Списка 1 пункты 1-39)
    * «Updates 02» (для Списка 1 пункт 40)
    * «Updates 03» (для Списка 1 пункт 41)
    * ну и т.д. и т.п.
    * «Addons» (для списка Дополнительно)

  • Скачать файлы из списков в соответствующие папки.

  • Положить в папку «Updates 7» скрипт «GenUpdates.cmd» с файлом настроек «Settings.ini».

  • Указать в «Settings.ini» папку «Updates 01» и запустив «GenUpdates.cmd» — сгенерировать скрипт установки обновлений следуя подсказкам.

  • Затем проделать тоже самое для остальных папок.

  • Пользоваться 😃


Полный список кодов ошибок Центра обновления

https://msdn.microsoft.com/en-us/library/windows/desktop/hh968413(v=vs.85).aspx
https://support.microsoft.com/en-us/kb/938205
https://social.technet.microsoft.com/wiki/contents/articles/15260.windows-update-agent-error-codes.aspx


Содержимое файла «Settings.ini»

# Этот файл "Settings.ini" используется для настроек параметров скрипта 'GenUpdates.cmd'.    
# Файл "Settings.ini" должен быть в кодировке Unicode (UCS-2 LE BOM).   

[Settings]    
# Переменная update_folder указывает на относительный путь к папке с обновлениями и расширениями. Для текущей папки оставить пустой.   
# Пример: update_folder=Updates 01x64   
update_folder=  
   
# Переменная sort_list указывает порядок сортировки списка обновлений. Может принимать значение time, -time, abc или -abc   
# time сортировка по датевремени от ранних к поздним, -time сортировка по датевремени от поздних к ранним, abc сортировка по алфавиту, -abc cортировка по обратному алфавиту.     
# Опциональный параметр, по умолчанию используется: sort_list=time   
sort_list=   
    
# Выбор поля времени для сортировки. Может использоваться время создания файла sort_time=1, время последнего использования sort_time=2 или время последнего изменения sort_time=3.    
# Опциональный параметр, по умолчанию используется время последнего изменения: sort_time=3   
sort_time=   
   
# Переменная text_editor указывает текстовый редактор для использования. Пример: text_editor=C:Program FilesMy Text EditorTextEditor++.exe   
# Опциональный параметр, по умолчанию будет использоваться notepad++, если notepad++ не установлен - по умолчанию будет использоваться системный notepad.   
text_editor=   
   
# Имя будущего сгенерированного CMD файла для установки обновлений.     
# Опциональный парамет, по умолчанию имя генерируется из update_folder и текущей даты.   
cmd_name=   
   
# Переменная filter_ext указывает фильтр расширений файлов для обновлений. Пример: filter_ext=.msu .cab .exe .msi .psf .esd    
# Опциональный парамет, по умолчанию используется: filter_ext=.msu .exe .cab .msi    
filter_ext=   

Создание и запуск сценария PowerShell для обновления Windows 7 до последней версии

Если у вас еще стоит на компьютере Windows 7, знайте, что ради безопасности находящихся на компьютере ваших данных стоит озаботиться переходом на более современную операционную систему, поскольку вышедшая в октябре 2009 года «операционка» перестанет поддерживаться разработчиком с 15 января 2020 года. Именно с этого момента операционная система не получит больше обновлений безопасности.

Смотрите также


 

Как бесплатно перейти с Windows 7 на Windows 10, если ключ активации потерян: лайфхак

И сейчас самое подходящее время для того, чтобы наконец обновить систему на своем компьютере до Windows 10, хотя бы потому, что это обновление может быть абсолютно бесплатным и действительно простым и быстрым (хотя последнее по большей части зависит от мощности используемого компьютера). Одним из вариантов перехода с «Семерки» на «Десятку» может стать использование скрипта PowerShell*, который позволит произвести простое автоматическое обновление.

* Windows PowerShell представляет собой средство командной строки, которое позволяет выполнять команды и сценарии для изменения параметров системы и автоматизации производимых в ней задач.

Это абсолютно легальная официальная программа, использование которой не потребует знаний программирования или применения других специфических нюансов. Элемент управления не нужно скачивать с подозрительных сайтов или торрентов, средство автоматизации выполнения задач Windows PowerShell по умолчанию установлено в каждой ОС Windows, начиная с Windows 7, с пакетом обновления 1 (SP1).

Зачем обновлять Windows при помощи PowerShell?

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

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

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

Начало работы с PowerShell в Windows 7 SP1

Поскольку для этого обновления нам нужен PowerShell, а PowerShell входит в любую версию Windows, начиная с Windows 7 SP1, убедитесь, что вы обновили свою старую операционную систему хотя бы до этого пакета. Другими словами, для этого просто запустите Центр обновления Windows и установите все, что он требует для обновления до SP1, без которого интерфейс командной строки PowerShell не появится на «Семерке».

Вариант поиска средства командной строки PoweShell № 1

Для начала работы с PowerShell в Windows 7 нажмите кнопку «Пуск» и введите в поле поиска команду «Powershell», щелкните правой кнопкой мыши на «Windows Powershell», выберите «Запуск от имени администратора».

Вариант поиска средства командной строки PoweShell № 2

В меню «Пуск» выберите ПускВсе программыСтандартные, открываем папку Windows PowerShell и нажимаем «Windows PowerShell».

Более подробно о запуске Windows PowerShell на разных операционных системах читайте на официальной страничке Microsoft docs.microsoft.com

В качестве меры безопасности PowerShell по умолчанию не запускает сценарии, пока вы не измените определенный раздел реестра. Чтобы сделать это, введите нижеследующую строку в Powershell и нажмите Enter:

Set-ExecutionPolicy Unrestricted

На данном этапе вы можете закрыть PowerShell.

Ввод сценария установки

Загрузите этот файл .PS1 на свой компьютер. Если загрузка не получилась или вы хотите создать его вручную, откройте новый текстовый файл (например, в Блокноте) и скопируйте и вставьте следующий файл (его также можно скачать с www.reddit.com/r/PowerShell):

$dir = «c:temp»
mkdir $dir
$webClient = New-Object System.Net.WebClient
$url = «https://go.microsoft.com/fwlink/?LinkID=799445»
$file = «$($dir)Win10Upgrade.exe»
$webClient.DownloadFile($url,$file)
Start-Process -FilePath $file -ArgumentList «/quietinstall /skipeula /auto upgrade /copylogs $dir» -verb runas

Внимание! Обратите внимание, что кавычки должны быть стандартные «прямые». Возможно, при переносе в текстовый файл или при копировании с сайта они могут быть автоматически заменены на «открывающие и закрывающие кавычки». С ними скрипт работать НЕ БУДЕТ!

После этого закройте блокнот и сохраните файл с любым именем, изменив его расширение на .PS1 (из формата .txt).

Запуск автоматического обновления

Щелкните правой кнопкой мыши на вашем новом файле .PS1 и выберите «Выполнить с помощью PowerShell». Возможно, вам потребуется подтвердить хотя бы одно из своих действий, в случае если Microsoft Windows попросить подтвердить внесение изменений на ваш компьютер. На этом пока все. Никаких дополнительных действий делать не требуется. Ненадолго появится и исчезнет окно PowerShell, затем некоторое время на экране больше не будет появляться никаких сервисных окон.

Как узнать, что PowerShell начал вносить изменения в Windows?

Для проверки, что установка запущена, потребуется вызвать «Диспетчер задач» (один из распространенных вариантов сочетания клавиш для вызова Диспетчера задач – «Ctrl+Alt+Delete». При переходе на экран безопасности Windows в предложенном списке будет и кнопка возможности запуска Диспетчера задач) и убедиться, что процесс «Windows10UpgraderApp.exe» запущен.

Это будет видно на ранней стадии начала работы. Если все именно так, как мы описали, можно начать заниматься своими делами. Система автоматически перезагрузится при необходимости, а установка Windows 10 будет запущена без каких-либо дополнительных входных данных от вас.

https://docs.microsoft.com/ru-ru/powershell/scripting/install/installing-windows-powershell?view=powershell-6#finding-powershell-in-windows-10-81-80-and-7

На финишной прямой ваш компьютер выдаст окно, которое должно выглядеть следующим образом:

В зависимости от предустановленного основного языка лицензионное соглашение будет отображаться на нем

Сейчас вы уже находитесь в экране или двух от завершения обновления. До завершения осталось не более 15 секунд.

Обновление Windows 10 завершено

Как только войдете в Windows 10, вы заметите две вещи:

Во-первых, все ваши данные и приложения должны быть там, где они были изначально (так как мы обновили Windows 7, а не выполняли чистую установку). Впрочем, некоторые программы могут перестать работать на новой «Винде» из-за несовместимости. Скорее всего, это будут старые версии программ, которыми вы не пользовались, так что потеря невелика.

Во-вторых, главное при проведении этой важной работы – у вас на компьютере установилась полностью активированная версия Windows 10, официальная, новая (должна установиться последняя версия операционной системы, доступная Microsoft, поэтому Центр обновлений запускать сразу не придется), быстрая. При условии, что вы перешли с активированной официальной версии Windows 7. При этом заметим, что никаких поисков последней версии Винды на официальном сайте Майкрософт вам не потребовалось. А это также сэкономит время. Автоматизация!

Что если операционная система оказалась неактивированной?

Если так, то для активации Windows 10 достаточно ввести ключ Windows 7, а вход в систему с помощью учетной записи Microsoft должен сделать процесс активации еще проще для любых последующих установок.

Не забудьте сбросить политику выполнения PowerShell.
Помните, когда мы освободили PowerShell от оков и позволили ему запускать любые сценарии, которые он хотел? Что ж, сейчас самое подходящее время, чтобы обратить это вспять ради безопасности. Откройте PowerShell с правами администратора (как и раньше) и введите следующую команду:

Set-ExecutionPolicy Restricted

Как только это будет сделано, можно закрыть PowerShell и начать работать на новом Windows 10.

Пожалуйста, поделитесь своими результатами в комментариях или пройдите голосование. Удалось ли вам обновиться на последнюю версию Windows 10  лицензионной «Семерки»?

PS-Windows-Update-000.jpg

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

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Кроме того, в режиме аудита Windows 8 использовать Центр обновления Windows нельзя и установить обновления привычным образом не получится.

В этих, а также во многих других, случаях имеет смысл воспользоваться специальным модулем PowerShell для работы с Windows Update. Скачать его можно со страницы разработчика на Technet: Windows Update PowerShell Module. Мы настоятельно рекомендуем скачивать данный модуль именно оттуда.

Данный модуль работает в системах, начиная с Windows Vista и Server 2008 и требует PowerShell 2.0, хотя оптимально будет использование PowerShell 3.0 и выше.

Архив с модулем содержит папку PSWindowsUpdate, которую следует разместить в одном из двух возможных расположений:

  • %USERPROFILE%DocumentsWindowsPowerShellModules
  • %WINDIR%System32WindowsPowerShellv1.0Modules

Если вы хотите использовать данный модуль на постоянной основе, то имеет смысл разместить его в системной папке, в остальных случаях лучше использовать для этого директорию в профиле пользователя. Учтите, в папке Мои документы отсутствуют вложенные директории WindowsPowerShell и Modules, поэтому их следует создать самостоятельно.

PS-Windows-Update-001.jpgЧто дальше? В принципе уже сейчас можно воспользоваться одним из пакетных скриптов для данного модуля, доступных в сети. Но лучше сначала поработать с ним самостоятельно, после чего создать свой собственный пакетный файл.

Откроем консоль PowerShell от имени Администратора. Прежде всего выясним установленную политику командой:

Get-ExecutionPolicy

По умолчанию обычно установлена политика Restricted, которая запрещает выполнение скриптов даже администратору. Поэтому изменим ее на RemoteSigned, позволяющую запускать локальные скрипты, также, в целях безопасности, рекомендуем изменять политику только для текущего сеанса. Выполним команду:

Set-ExecutionPolicy RemoteSigned -Scope Process

Ключ -Scope позволяет задавать область применения политики, в данном случае это текущий процесс. Теперь можно выполнить импорт модуля командой:

Import-Module PSWindowsUpdate

В Windows 7 и иных системах, использующих PowerShell 2.0 вы можете столкнуться со следующей ошибкой: Имя «Unblock-File» не распознано как имя командлета. Она возникает из-за использования в одном из скриптов функции появившейся в PowerShell 3.0.

PS-Windows-Update-002.jpgОднако ее несложно исправить. В папке с модулем откройте файл PSWindowsUpdate.psm1 и удалите в первой строке последовательность:

| Unblock-File

PS-Windows-Update-003.jpgСохраните исправленный файл и повторите импорт модуля. Теперь можно приступить к работе с ним.

Прежде всего получим список доступных обновлений:

Get-WUInstall -ListOnly

А вот и первый сюрприз, в списке обновлений присутствуют языковые модули, Skype и обновление для перехода на Windows 10. Все это приехало бы на ваш компьютер, воспользуйся вы одним из популярных скриптов для этого модуля, доступных в сети.

PS-Windows-Update-004.jpgК счастью модуль обладает широкими возможностями. Мы можем исключить пакеты из списка по их категории, ключ -NotCategory, названию, ключ -NotTitle, или номеру обновления, ключ -NotKBArticleID. Используем каждый из них, в нашем случае уберем категорию языковых пакетов, Skype и обновление до Windows 10:

Get-WUInstall -NotCategory "Language packs" -NotTitle Skype  -NotKBArticleID KB3012973 -ListOnly

Вот, уже гораздо лучше.

PS-Windows-Update-005.jpgТеперь можно установить обновления командой:

Get-WUInstall -NotCategory "Language packs" -NotTitle Skype  -NotKBArticleID KB3012973 -AcceptAll -IgnoreReboot

Ключи -AcceptAll и -IgnoreReboot включают одобрение всех пакетов и подавляют требование перезагрузки после установки некоторых обновлений.

PS-Windows-Update-006.jpgУбедившись, что все работает как надо, можно создать собственный пакетный файл, откроем блокнот и в одну строку запишем:

PowerShell -ExecutionPolicy RemoteSigned -Command Import-Module PSWindowsUpdate; Get-WUInstall -NotCategory "Language packs" -NotTitle Skype  -NotKBArticleID KB3012973 -AcceptAll -IgnoreReboot

Данная команда запускает PowerShell, устанавливает политику RemoteSigned, импортирует модуль, затем передает ему вышеуказанную команду. В общем делает все тоже самое, что мы только-что выполнили вручную. Сохраните данный файл как PSWindowsUpdate.cmd и теперь все что вам потребуется, это разместить модуль в нужном расположении и запустить данный пакетный файл с правами администратора.

Удобно? Да. Правда учтите, что некоторые обновления требуют обязательной установки предыдущих, поэтому, если вы давно не обновлялись, данный скрипт придется запускать несколько раз. Но это все равно проще, чем проделывать все эти операции вручную, кликнул на скрипт и занимайся своими делами, время от времени поглядывая на экран.

В Windows 8 языковые пакеты через WindowsUpdate не распространяются, поэтому команду можно немного упростить.

Get-WUInstall -NotTitle Skype  -NotKBArticleID KB3012973 -AcceptAll -IgnoreReboot

Однако на этом возможности данного модуля не заканчиваются, он позволяет быстро установить нужные обновления зная только их номер. Это значительно облегчает задачу, так как не надо посещать сайт Microsoft, искать необходимую статью и скачивать пакет именно для вашей версии системы.

Для установки отдельного пакета используйте команду (номер пакета использован исключительно для примера):

Get-WUInstall -KBArticleID KB3087916  -AcceptAll

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

Get-WUInstall -KBArticleID KB3066441, KB3078676  -AcceptAll -IgnoreReboot

PS-Windows-Update-007.jpg

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

PS-Windows-Update-008.jpgНадеемся, что данный материал поможет вам автоматизировать некоторые рутинные задачи и добавит в ваш арсенал новый, удобный инструмент.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

    Важная информация:
    Программа не обновлялась с 2014 года. Поэтому возможны ошибки в работе над новыми списками. Используйте ее на свой страх и риск. Обязательно ознакомьтесь с комментариями людей в конце статьи. Обновлять программу не собираюсь.

    Примечание:
    Статья обновлена: 5 февраля 2014. Новая версия — v1.5. Старая — более не актуальна.

    Здесь я опишу свою последнюю разработку на C++, она же первая, которая не является типичной задачкой из какого-то учебника, а создавалась с конкретной прикладной целью, для решения определенных поставленных передо мной задач. А именно для работы с обновлениями (скачиванием, установкой, поддержанием в актуальном виде).
    В данной теме, постараюсь, описать все нюансы работы с этими программами (еще могу назвать их скриптами, что является одним и тем же, т.е синонимом): что выполняет каждый скрипт; какие вопросы задает, и что они значат; что получается в итоге, и какие промежуточные результаты при этом создаются.
    Сразу хочу сказать, что являюсь дилетантом в области программирования, никогда им профессионально не занимался, а всего лишь учусь этому нелегкому делу (где-то около года). Поэтому высмеивать нерациональные мои методы бессмысленно. Но вразумительной критике и замечаниям всегда рад, особенно, если в результате удастся чему-нибудь новому научиться.
    Отдельная благодарность ув. TAILORD, за создание списков с обновлениями Windows, и поддержании их в актуальном состоянии. Именно его сообщения являются основными входными данными в моих скриптах. А так же другим участникам форума ru-board.com, в частности данной темы, которые принимали участие в разработке данных скриптов: тестировании и высказывании своих советов и пожеланий.
    Вступление закончено. Дальше по плану.

    Пакет WinUpdate_ru-board.com_1.5 (скачать) состоит из 4 программ:

  • getUpdate — получает прямые ссылки на обновления выбранного списка и выбранной разрядности, и если требуется — скачивает их, так же служит для закачки дополнительных программ по прямым ссылкам;
  • deleteUpdate — удаляет неактуальные скачанные обновления, которые были заменены Microsoft;
  • installUpdate — устанавливает скачанные обновления, исходя из разрядности ОС, на которой запущен
  • installUpdateCreateCmd — создает cmd-скрипт для самостоятельной установки требуемых обновлений, разрядность выбирается пользователем

    Кроме основных программ пакет содержит:

  • каталоги, необходимые для работы скриптов;
  • библиотеки Visual C++ 2010 (msvcp100.dll, msvcr100.dll), необходимые для запуска скриптов, если не установлен Microsoft Visual C++ 2010 SP1 Redistributable Package;
  • curl.exe — консольная утилита cURL, для загрузки файлов из интернета.
  • getLength.exe — собственная утилита, которая получает и возвращает размер файла из ответа сервера.
  • start_d.bat — bat-файл, содержащий команды передаваемые cURL и служащий для поддержания требуемых функций по загрузке файлов.
  • прочие файлы, которые создаются в процессе работы скрипта.

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

getUpdate — получение обновлений

    Этот скрипт обрабатывает списки обновлений. А берет он их отсюда для Windows 7, и отсюда для Windows 8.1. На выходе получаем или скачанные выбранные обновления, или список прямых ссылок для их закачки.
    Начну с того как он берет эти списки. Возможны 2 варианта:
1. Автоматически с моего ресурса (из дропбокса). Обновление списков ложится на мои плечи. Обновляю раз в месяц, или по требованию. Если необходимы последние списки — используйте вариант 2.
2. Предварительно самостоятельно сохранив список обновлений (сообщение TAILORD на ru-board (Win7, Win8) в режиме редактирования (Win7, Win8)) в текстовый файл upd_new.txt в каталоге text. Только после этого запускаем getUpdate.
Если upd_new.txt присутствует в каталоге text, то новый список закачан не будет, а будет взят upd_new.txt за основу.
    Предварительные действия окончены, переходим к запуску getUpdate.

    Примечание: не стал менять скриншоты для новой версии (оставил скрины для v1.4) — смысл ведь не изменился.

Шаг 1

. Запускаем скрипт, и в зависимости от способа получения списков видим следующие сообщения:
    Вариант 1:

    Вариант 2:

    Или вариант с ошибкой, из-за отсутствия доступа к интернету:

Примечание:
В версии 1.5 добавил отображение даты используемых списков обновлений (если необходимы последние списки — читайте выше):

Шаг 2

. Выбираем какие списки будем качать. В Win7 их 3, в Win8 их 2.
    О их назначении. Win7:
Список 1 – Содержит так или иначе обязательные для установки, критические и другие обновления.
Список 2 – Содержит Microsoft .NET Framework 4.5.1, IE11 и их обновления.
Список 3 – Содержит критические и другие обновления, но требующие определенные условия, либо применяется в редких случаях или предоставляет дополнительные возможности, не являющиеся обязательными.
    О их назначении. Win8:
Список 1 – Содержит так или иначе обязательные для установки, критические и другие обновления.
Список 2 – Содержит критические и другие обновления, но требующие определенные условия, либо применяется в редких случаях или предоставляет дополнительные возможности, не являющиеся обязательными.
    Для Win7 в большинстве случаев достаточно 1 и 2 списка, для Win8 — 1 списка.
«y» — включить этот список в список закачиваемых (любая введенная фраза начинающаяся на «y» будет распознана как положительный ответ).
«n» или все кроме «y» — отрицательный ответ (не включать в список закачиваемых).
    При выборе 2 списка в Win7 будет задан вопрос: 

Какую локализацию (язык) IE качать («r» — русскую или «e» — английскую)?
(«IE11: RUS or ENG? (r-RUS, e-ENG):»)
    Пример выбора 1 и 2 списков, и русской версии IE11:

    Если ничего не вводить, и в случае, когда список additional_download_links.txt отсутствует или пуст — можете увидеть следующее:

    Если ничего не вводить, и в случае, когда список additional_download_links.txt присутствует в папке text и содержит ссылки на скачивание файлов — пойдет скачивание этих файлов в каталог additional_programs:

Шаг 3

. Выбираем разрядность скачиваемых обновлений.

  • «<1>   x86»          — скачать обновления только для 32-разрядной ОС (архитектура x86).
  • «<2>   x64»          — скачать обновления только для 64-разрядной ОС (архитектура x64).
  • «<3>   x86 / x64» — скачать обновления, которые идут и для 32- и для 64-разрядной ОС (такие как KB931125, KB2798897, KB2758694, .NET Framework 4.5.1 и др.).

    Просто ввести цифру, соответствующую требуемому пункту. Для закачки обновлений для 32- и 64-разрядных ОС (т.е. 1 и 2 пунктов данного меню) необходимо запустить скрипт 2 раза, порядок закачки не имеет значения.
    Пример выбора обновлений для 64-разрядной ОС:

    Пример ошибочного выбора:

    После корректного выбора разрядности в каталоге text создастся текстовый документ upd_download_links.txt, который содержит прямые ссылки на обновления выбранной разрядности.

Шаг 4

. Закачиваем их или нет.
    Начну с отрицательного ответа. Введя «n» или все кроме «y» — скрипт успешно завершает свою работу, и вы можете самостоятельно скачать обновления по прямым ссылкам, сохраненных в документе upd_download_links.txt.
    Ответив «y» — будет выведено сообщение с предложением проверить и/или откорректировать файл содержащий прямые ссылки на обновления.

    Нажав любую клавишу, пойдет процесс загрузки выбранных обновлений.

    Выделю основные составляющие в этом множестве символов, на которые стоит обратить внимание:

1 — Первое число — порядковый номер закачиваемого файла. Второе — всего файлов.
    Примечание:
    Нумерация своя. С нумерацией на ру-боарде может не совпадать.
2 — Имя скачиваемого файла.
3 — Имя каталога, в который загружается файл.
4 — Процесс закачки данного файла.
5 — Размер скачанного файла (в байтах).
    Также после закачки Вы можете увидеть: время потраченное на загрузку файла и среднюю скорость загрузки. Последняя строчка означает, что размер локального файла полностью совпадает с размером файла на сервере и докачка не требуется.

    Рассмотрим исключительные ситуации:
1.    Если закачиваемый файл уже присутствует в папке и полностью скачан, и файл на сервере не новее локального, то вы можете примерно следующее окно:

    При этом полоса загрузки не будет показана, и загруженный размер будет равняться 0 байт. Повторное скачивание данного файла происходить не будет.
2.    Если файл на сервере обновился (т.е. локальный файл оказался старее файла на сервере) — локальный файл будет заменен на новый. Сравнение происходит по дате последней модификации. Процесс загрузки аналогичен обычной загрузке файла.
3.    Закачка была прервана по каким-либо причинам. После повторного запуска — закачка продолжится с места обрыва (если это возможно). Загрузка будет происходить до тех пор пока размер локального файла не будет равен размеру файла на сервере:

    Примечание:
    1. Надпись «Size: local=[8145557] «less» server=[15859416]», говорит о том, что размер локального файла меньше размера файла на сервере, а значит будет произведена его докачка.
    2. В некоторых случаях сервер не возвращает по запросу размер загружаемого файла, и вы можете в таком случае увидеть надпись: Server size=[0] «==» 0. Обычно на следующий запрос он все же отправляет размер файла, но, чисто теоретически, есть шанс, что этот процесс может не произойти, и произойдет зацикливание. И чтобы оно не произошло было введено ограничение — 5 проверок. После пяти не успешных сравнений размера имеющегося файла с размером, который возвращает сервер — данная ссылка будет признана нерабочей и будет сохранена в файл not_download.txt, и скрипт перейдет к следующей ссылке. В дальнейшем вы можете вручную попробовать скачать не скачанные файлы. Если такие имеются вы увидите следующее окно:

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

    На этом работа со скриптом getUpdate — окончена.
    Повторю основные нюансы:

  • Для скачивания последнего списка с обновлениями — самостоятельно сохраняйте требуемое сообщение TAILORD в режиме редактирования (Win7, Win8) в текстовый файл upd_new.txt в каталоге text и только после этого запускайте getUpdate.
  • x86 / x64  —  это обновления и для 32- и для 64-разрядной ОС.
  • Для скачивания не всех обновлений — отредактируйте, созданный в процессе работы скрипта, документ upd_download_links.txt под свои требования.
  • Также, используя этот документ, содержащие прямые ссылки на выбранные обновления, можно произвести закачку файлов через свой любимый менеджер закачек.
  • Для закачки дополнительных программ, добавьте прямые ссылки на них в документ additional_download_links.txt перед запуском getUpdate. Данные файлы будут загружены после обновлений в папку additional_programs.

deleteUpdate — удаление неактуальных скачанных обновлений

    Этот скрипт получает списки с замененными обновлениями, которые были заменены Microsoft на другие, и ищет эти неактуальные обновления среди скачанных в каталогах x86_upd, x64_upd, x86x64_upd. Если они присутствуют в этих папках, то с согласия пользователя — будут удалены.
    Списки с замененными обновлениями содержатся в «Отчете об изменениях в списках» (Win7, Win8).
    Поэтому перед запуском getUpdate , в случае когда уже большинство обновлений было скачано, рекомендуется запустить deleteUpdate и удалить все замененные обновления.
    Предварительные действия окончены, переходим к запуску deleteUpdate.

    Примечание:
   Иногда происходит удаление некоторых актуальных скачанных обновлений (но вы же все равно собираетесь запускать потом getUpdate — так что ничего страшного, я думаю, не случится, несколько лишних мегабайт при нынешних скоростях — пустяки).

Шаг 1

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

    Необходимо выбрать тип (разрядность) обновлений, которые подлежат сканированию на замененные обновления.

  • «<1>   x86»             — проверить только папку x86_upd (обновления для 32-разрядной ОС).
  • «<2>   x64»             — проверить только папку x64_upd (обновления для 64-разрядной ОС).
  • «<3>   x86 & x64»  — проверить папки x86_upd и x64_upd.

    Примечание:
   Обновления находящиеся в папке x86x64_upd не проверяются. Т.е. за их актуализацией придется следить вручную, благо их там не так много (<10) и они почти не заменяются.

    К примеру, выберем 3 пункт (x86 & x64).

Шаг 2

. После выбора разрядности, видим список файлов обновлений подлежащих удалению:

    Это окно означает:
Каталог x86_upd не содержит замененных обновлений, подлежащих удалению.
А вот каталог x64_upd содержит 2 замененных обновления, которые можно удалить ответив «y» в появившееся приглашение.

    Или в случае, когда каталоги не содержат замененных обновлений:

    Если в каталогах присутствуют обновления, подлежащие удалению, то создаются текстовые документы x86_del_upd.txt и x64_del_upd.txt, которые содержат соответствующие имена файлов, которые будут удалены.
    Файл irrelevant_upd.txt — содержит имена (части имен) обновлений, которые были заменены, и являются неактуальными (именно по ним ведется поиск удаляемых файлов).

installUpdate — установка скачанных обновлений

    Этот скрипт устанавливает обновления, заранее скачанные и находящиеся в папках x86_upd, x64_upd и x86x64_upd. Разрядность устанавливаемых обновлений выбирается исходя из разрядности ОС, на которой запущен данный скрипт.
    Установка ведется в скрытом тихом режиме, без участия пользователя. После установки всех обновлений будет предложена перезагрузка ОС, для завершения установки обновлений.
    Для установки обновлений не используется сторонних утилит. Все обновления устанавливаются через «Автономный установщик обновлений Windows (Wusa.exe)», который присутствует в стандартной версии Windows. Для установки exe-файлов не являющихся обновлениями используются ключи «/q /norestart».
   Обновления устанавливаются в алфавитном порядке (по номеру KB). В число первых были поставлены .NET и IE11, чтобы их обновления не ставились вперед них.
    Если в папках с обновлениями находится IE разным версий (ru и en) — будет выведен запрос устанавливаемой версии (при условии, что имена файлов не менялись).
    Предварительные действия окончены, переходим к запуску installUpdate.

    Примечание:
   1. В версии 1.5 оставил только установку IE11 и его обновлений. Так что перед запуском скрипта убедитесь, что каталоги с обновлениями не содержат устаревших версий IE9 и IE10 и их обновлений. И удалите их, если они там есть.
   2. Все-таки слишком уж долго ставятся все обновления этим способом по сравнению с получением их через узел WindowsUpdate. Не знаю почему так, но учтите это, если вам дорого ваше время. Это же касается и установку через cmd-скрипт.

Шаг 1

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

Шаг 2

. Ждем пока произойдет установка всех имеющихся обновлений.
Полная установка 1 списка занимает около 1-2 часов.

Шаг 3

. После установки всех обновлений будет предложено перезагрузить компьютер для завершения установки. Лучше согласиться, иначе перезагружаемся самостоятельно.
После перезагрузки можете начинать работать на обновленной системе. Больше действий не требуется.

installUpdateCreateCmd — создание cmd-скрипта для установки скачанных обновлений

    Чтобы знать какие обновления будут установлены, в каком порядке и как, а также управлять этим процессом — был написан этот скрипт. Он создает cmd-скрипт с именем installUpdate.cmd, который содержит все необходимые команды для установки скачанных обновлений из папок x86_upd, x64_upd и x86x64_upd.
    installUpdateCreateCmd не устанавливает обновления и никаких действий над ОС не производит!
    Он всего лишь создает cmd-скрипт для их установки. А его вы можете отредактировать по своему усмотрению (выбрать не все обновления, изменить порядок установки, и пр.).
    В своей работе он полностью повторяет скрипт installUpdate, за исключением отсутствия автоматической установки обновлений.

Шаг 1

. Выбрать разрядность ОС, на которой планируется развернуть скрипт.

Шаг 2

. Запустить скрипт и дождаться получения, примерно, следующего сообщения:

Шаг 3

. Редактировать полученный cmd-скрипт installUpdate.cmd по своему усмотрению.

При копировании статьи просьба указывать источник и автора.
С уважением, GRomR1.

Beer-Sheva

6 / 6 / 0

Регистрация: 09.10.2013

Сообщений: 251

1

24.01.2019, 09:24. Показов 7690. Ответов 1

Метки bat, updates from win 7, win 7 (Все метки)


Имеется комбинация двух скриптов, один определяет разрядность системы а другой устанавливает все подряд обновления которые находятся в каталогах MSU и CAB. Вся установка происходит в тихом режиме при отрытом окне командной строки, но в этом окне ничего не отражается(какое обновление устанавливается в данный момент и успешно ли оно установилось)
Как можно сделать чтобы была запись о процессе установки в отдельный текстовый файл (чтобы он сохранялся на рабочем столе или в корне системного диска)

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
@echo off
if "%PROCESSOR_ARCHITEW6432%"=="AMD64" goto launch64
if "%PROCESSOR_ARCHITECTURE%"==""      set PROCESSOR_ARCHITECTURE=x86
if "%PROCESSOR_ARCHITECTURE%"=="x86"   goto launch32
if "%PROCESSOR_ARCHITECTURE%"=="AMD64" goto launch64
goto endorunknwn
 
:launch32
Title Installing Windows 7 x32 Updates 
For %%F In (MSUx32*.msu) Do Call :msin %%F 
For %%A In (CABx32*.cab) Do Call :kbin %%A 
 
Exit 
:msin 
Start /Wait %1 /quiet /norestart 
:kbin 
Start /Wait pkgmgr /ip /m:%1 /quiet /norestart 
GoTo :EOF 
Exit
goto endorunknwn
 
:launch64
Title Installing Windows 7 x64 Updates
For %%F In (MSUx64*.msu) Do Call :msin %%F 
For %%A In (CABx64*.cab) Do Call :kbin %%A 
 
Exit 
:msin 
Start /Wait %1 /quiet /norestart 
:kbin 
Start /Wait pkgmgr /ip /m:%1 /quiet /norestart 
GoTo :EOF 
Exit 
 
 
:endorunknwn

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



4330 / 2120 / 661

Регистрация: 26.04.2015

Сообщений: 6,823

24.01.2019, 14:58

2

Beer-Sheva,
вы вот пользуетесь чем-то, составляете код, а справку вообще не читаете что-ли к тому что используете:

Код

pkgmgr /l:{файл журнала} - Задает файл журнала для диагностики

Добавлено через 1 минуту
а чего wusa не задействовать?



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

24.01.2019, 14:58

2

Автор Владимир!

Привет друзья! Операционная система Windows 7 до сих пор пользуется популярностью и устанавливается пользователями на компьютеры и ноутбуки, причин тому много. К примеру, существует множество программ и компьютерных игр, которые полностью совместимы только с семёркой и не будут работать на Windows 8.1 и тем более на Windows 10. Также во многих организациях трудятся старенькие компьютеры, под управлением Win 7 и сколько ещё проработают эти машинки неизвестно, а если всё это работает стабильно и хорошо, то зачем что-то менять. Не последним здесь стоит и финансовый вопрос, если вы работаете системным администратором, то наверняка знаете, что практически невозможно в наше непростое время уговорить руководителя любой организации на модернизацию компьютерного парка, которая обойдётся ему в кругленькую сумму. Вот поэтому Windows 7 ещё долго будет оставаться актуальной виндой. Но речь сегодня не о популярности семёрки, а о том, как после установки системы накатить все обновления сразу и сэкономить время. Конечно, идеальным решением будет выглядеть создание дистрибутива OS со всеми интегрированными обновлениями. Если же вам лень создавать такой дистрибутив, то разумным решением будет сразу после установки Windows 7 накатить все обновления при помощи накопительного пакета обновлений (Rollup Update), а также ежемесячного накопительного пакета (Monthly Rollup).

  1. Большой накопительный пакет Rollup Update Майкрософт выпустила в 2016 году и он содержит все обновления OS за период 2011 — 2016 год.
  2. Небольшой ежемесячный накопительный пакет Monthly Rollup, стал выходить каждый месяц сразу после появления Rollup Update. Самый последний пакет Monthly Rollup содержит в себе все предыдущие обновления за предыдущие месяцы, включая важные исправления системы безопасности. 

Как после установки Windows 7 накатить все обновления сразу с помощью накопительного пакета обновлений (Rollup Update), а также ежемесячного накопительного пакета (Monthly Rollup)

Перед прочтением статьи вы должны знать, что на данный момент Майкософт отремонтировали работу центра обновления Windows 7 и получение всех обновлений происходит без проблем, которые нам приходилось решать раньше, но всё равно получение всех апдейтов происходит долго и с несколькими перезагрузками. Короче, с уверенностью скажу, что наша сегодняшняя статья сэкономит вам 65% времени.

Итак, во-первых, в окончательной фазе установки операционной системы отложите автоматическое получение обновлений OS.

После установки Windows 7 вы хотите как можно быстрее установить все обновления ОС сразу. Как это можно сделать?

Открываем «Панель управления» и переходим в «Центр обновления Windows».

Выбираем способ установки обновлений — «Искать обновления, но решение о загрузке и установке принимается мной».

ОК.

Начинается поиск обновлений.

Установка нового программного обеспечения Центра обновления.

Жмём — «Установить сейчас».

Поиск обновлений.

Жмём на кнопку «Важных обновлений 131 доступны».

Снимаем галочки со всех обновлений кроме: «Internet Explorer 11 for Windows 7″ и «Ежемесячный набор исправлений качества системы безопасности для систем Windows 7″.

Internet Explorer 11 нам нужен для скачивания обновления KB3020369, без которого не установится общий накопительный пакет Rollup Update. К слову говоря, Rollup Update тоже не получится скачать старым Internet Explorer 8, который по умолчанию устанавливается с Windows 7, вы получите ошибку.

Ежемесячный набор исправлений качества системы безопасности (Monthly Rollup) для систем Windows 7 за август 2017 года нам нужен для установки всех последних обновлений OS. Такой пакет выходит каждый месяц и содержит в себе все предыдущие обновления за предыдущие месяцы, включая важные исправления системы безопасности.

Установить обновления.

Для продолжения установки обновлений жмём на кнопку «Перезагрузить сейчас».

После перезагрузки заходим в Центр обновления Windows.

Жмём на кнопку «Важных обновлений 129 доступны».

Снимаем со всех обновлений галочки и жмём ОК.

Запускаем Internet Explorer 11.

ОК.

Делаем Internet Explorer 11 браузером по умолчанию.

Жмём «Выполнить».

«Сделано».

Для успешной установки общего накопительного пакета Rollup Update нам прежде нужно установить обновление KB3020369.

для 64-битной системы скачиваем здесь

https://www.microsoft.com/ru-RU/download/details.aspx?id=46817

для 32-битной системы скачиваем здесь

https://www.microsoft.com/ru-RU/download/details.aspx?id=46827

Жмём «Скачать»

«Сохранить».

Теперь скачиваем накопительный пакет обновлений Rollup Update (KB3125574) по ссылке

http://www.catalog.update.microsoft.com/Search.aspx?q=KB3125574

Я выбираю обновление KB3125574 для Windows 64-бит и жму «Загрузить»

«Сохранить».

Обновление KB3020369 и накопительный пакет Rollup Update скачиваются в папку «Загрузки».

После этого заходим в «Центр управления сетями и общим доступом», жмём на «Изменение параметров адаптера»,

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

Заходим в папку «Загрузки» и первым делом запускаем установку KB3020369.

Да.

Выполняется установка.

Закрыть.

Перезагружаем компьютер.

После перезагрузки заходим в папку «Загрузки» и запускаем установку общего накопительного пакета Rollup Update.

Да.

Выполняется установка.

Перезагрузить сейчас.

Происходит перезагрузка и установка пакета.

Общий накопительный пакет Rollup Update установлен.

Заходим в «Центр управления сетями и общим доступом», жмём на «Изменение параметров адаптера», включаем интернет.

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

Видим все установленные обновления.

Найдено ещё 26 важных обновлений.

Установить обновления.

Принимаем лицензионное соглашение и жмём «Готово».

Происходит загрузка и установка обновлений.

Перезагрузить сейчас.

Происходит перезагрузка и установка обновлений в три этапа.

Заходим в Центр обновлений Windows и запускаем установку последнего обновления.

Все обновления установлены.

Статьи на эту тему: 

  1. Как на Windows 7 установить все обновления при полном отсутствии интернета
  2. Накопительный пакет обновлений для Windows 7 — Rollup Update. Решено!

Предположим, вы часто устанавливаете/переустанавливаете Windows 7. И вам не хочется каждый раз тянуть сотни мегабайт обновлений через Центр обновления Windows (он же Windows Update). Поэтому вы скачали обновления в виде .msu и .cab файлов. Как автоматизировать процесс их установки?

Когда мы скачали обновления, то автоматизация их установки – дело весьма простое. Сделать это можно с помощью одного из двух описанных далее вариантов.

А где можно скачать эти обновления? Строго говоря, в Microsoft не поощряют такое распространение своих обновлений и настаивают исключительно на использовании Windows Update. Тем не менее, в следующей статье есть парочка примеров, где такие обновления можно найти.

Создание BAT-файла

Способ состоит в следующем – создаем BAT-файл с нужным сценарием, этот файл затем размещается в одной папке с заранее скаченными обновлениями. Щелк-щелк – все файлы установлены, красота.

Код выглядит следующим образом.

@Echo Off
Title Installing Windows7 Updates
For %%F In (MSU*.msu) Do Call :msin %%F
For %%A In (CAB*.cab) Do Call :kbin %%A
Exit
:msin
Start /Wait %1 /quiet /norestart
:kbin
Start /Wait pkgmgr /ip /m:%1 /quiet /norestart
GoTo :EOF
Exit

Откройте Блокнот, скопируйте в него код, затем сохраните с любым названием и расширением .bat.

При этом, если при сохранении в Блокноте выбрать такой тип файла, как Текстовые файлы, то название файла нужно взять в кавычки, например, “install.bat”. Если же выбрать тип Все файлы, то кавычки не понадобятся. Это нужно чтобы файл сохранился с расширением .bat. Либо возьмите вместо отстойного блокнота нормальный человеческий редактор, вроде Notepad++.

Файл со сценарием готов, разместите его в любой папке. Теперь в этой же папке создайте еще две папки, с названием CAB и MSU. В папке CAB сохраните файлы с расширением .cab, в папке MSU, естественно, файлы с расширением .msu.

Осталось дважды щелкнуть мышью на файле со сценарием и все обновления, одно за другим, будут установлены.

Прежде чем начать установку, убедитесь в том, что:

  • выбраны обновления для нужной версии Windows 7 (32-бит либо 64-бит);
  • в имени файлов обновлений не должно быть слова “Express” – такое обновление установить нельзя;
  • в папке файла со сценарием обязательно должны быть вложенные подпапки CAB и MSU, не валите все обновления в одну кучу.

Теперь рассмотрим второй способ, подразумевающий использование программы Windows 7 Update Pack Tool.

Программа Windows 7 Update Pack Tool

Как обычно народные умельцы помогают нам там, где ленивые ушлепки из Microsoft ленятся сделать что-то толковое. Программа Windows 7 Update Pack Tool позволяет автоматизировать процесс установки обновлений следующим образом.

  1. Скачайте программу Windows 7 Update Pack Tool. Ссылки представлены сразу вверху страницы. Вместе с самой программой уже будут скачены различные обновления, но не суть важно, поскольку нам нужен файл update.exe.
  2. Создайте новую папку, например, папку Install. Скопируйте в нее файл update.exe из скаченного ранее архива.
  3. Скопируйте в папку все обновления, имеющие расширения .cab и .msu.
  4. Создайте внутри этой папки еще одну папку, и назовите ее SpecialUpdates.
  5. Скопируйте в папку SpecialUpdates обновления с расширениями .msi и .exe.
  6. Дважды щелкните на файле update.exe, чтобы его запустить. Программа не имеет графического интерфейса, но ничего страшного, она простая как пряник.
  7. Выберите команду Install updates, нажав клавишу 1, затем клавишу <Enter>.
  8. Программа займется поиском всех скопированных ранее файлов обновлений. Затем достаточно нажать любую клавишу, чтобы начать установку.

Windows 7 Update Pack Tool

По окончанию установки будет показан список всех установленных файлов.

Windows 7 Update Pack Tool список файлов

Осталось перезагрузиться – и установка обновлений завершена. Совсем скоро Microsoft выпустит Service Pack 1, и устанавливать таким образом обновления уже не будет необходимости, ведь все они будут включены в Service Pack 1.

Однако, затем появятся очередные обновления, неужели придется ждать выхода Service Pack 2? Ну уж нет, он может выйти через год-полтора, так что представленные в этой статье советы всегда будут актуальны.

Понравилась статья? Поделить с друзьями:
  • Скрин выделенной области windows 10 скачать
  • Скрыть панель задач windows 10 через реестр
  • Скрипт для установки windows 11 github
  • Скрин выбранной области на windows 10 сочетание клавиш
  • Скрыть панель задач windows 10 программа