Установка обновления KB943729
Добрый день господа. Необходим скрипт, неважно на чем! Скрипт будет запускаться при логоне через GPO.
Условия:
1. Скрипт должен отрабатывать только на системах с Windows XP;
2. Скрипт, после проверки версии Windows, должен устанавливать вышеуказанный апдейт;
3. После успешной установки апдейта необходима перезагрузка;
4. Если KB уже установлен - пропуск работы скрипта.
Файл с kb943729 называется так:
Windows-KB943729-x86-RUS.exe
Буду очень признателен за Ваши изящные решения)
|
Нашел вот такой скриптик:
Код:
@echo off
SET DC_NAME=dc.company.com
rem Check to see this is Windows XP
ver | find "Windows XP" >NUL
if errorlevel 1 goto end
rem Check to see if the update is already installed
reg QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP20\KB943729" >NUL 2>NUL
if errorlevel 1 goto install_update
goto end
:install_update
\\%DC_NAME%\kb943729\Windows-KB943729-x86-RUS.exe /passive /forcerestart
:end
Вроде как он имеет место быть? Пути конечно можно изменить - поставить к примеру папку sysvol
|
Цитата:
Цитата Crush45
Скрипт будет запускаться при логоне через GPO. »
|
Цитата:
Цитата Crush45
1. Скрипт должен отрабатывать только на системах с Windows XP;
2. Скрипт, после проверки версии Windows, должен устанавливать вышеуказанный апдейт; »
|
GPO фильтрация - Поиск в Google.
Цитата:
Цитата Crush45
3. После успешной установки апдейта необходима перезагрузка;
4. Если KB уже установлен - пропуск работы скрипта. »
|
Код:
wmic.exe qfe where "ServicePackInEffect='KB943729' AND HotFixID='File 1'" get ServicePackInEffect /value 2>nul | find.exe /i "KB943729" || start "" "\\server\share\KB943729\Windows-KB943729-x86-RUS.exe" /passive /warnrestart:10
|
Iska, если я все правильно вычитал, то фильтр будет следующим:
Код:
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE "5.1%" AND ProductType = "1"
а в батник я засовываю ваш код:
Цитата:
Цитата Iska
Код:
wmic.exe qfe where "ServicePackInEffect='KB943729' AND HotFixID='File 1'" get ServicePackInEffect /value 2>nul | find.exe /i "KB943729" || start "" "\\server\share\KB943729\Windows-KB943729-x86-RUS.exe" /passive /warnrestart:10 »
|
HotFixID='File 1' - это просто для примера? что означает в данном случае "File 1"?
|
Цитата:
Цитата Crush45
HotFixID='File 1' - это просто для примера? »
|
Нет.
Цитата:
Цитата Crush45
что означает в данном случае "File 1"? »
|
Значение одного из ключей.
Читаете: Win32_QuickFixEngineering class (Windows). Видите, что ключами для экземпляров объектов данного класса являются:
Цитата:
HotFixID
Data type: string
Access type: Read-only
Qualifiers: Key, MaxLen (260)
Unique identifier associated with a particular update.
|
и
Цитата:
ServicePackInEffect
Data type: string
Access type: Read-only
Qualifiers: Key, MaxLen (260)
|
Потому нужно задавать в запросе их оба. И «HotFixID», и «ServicePackInEffect».
Можете ради интереса выполнить запрос вида:
Код:
wmic.exe qfe get HotFixID,ServicePackInEffect
и посмотреть на странности с именованием. Вопрос, почему было сделано так — в одном случае номер KB содержится в «HotFixID», в другом случае в «ServicePackInEffect» — не ко мне.
|
Время: 18:03.
© OSzone.net 2001-