1

Мне периодически приходится обновлять целую кучу плагинов для браузера и других программ. Я подумал, что мог бы также автоматизировать процесс с помощью пакетного сценария. Я нашел MSI для Reader, Java, Flash, Chrome, Firefox и др. (просто поиск MSI занял некоторое время). Я абсолютный новичок, когда дело доходит до установки MSI.

Из того, что я нашел, я просто должен быть в состоянии сделать это следующим образом :

msiexec /i \\server\directory\FlashFF.msi /qn /norestart
msiexec /i \\server\directory\FlashIE.msi /qn /norestart
msiexec /i \\server\directory\Java.msi /qn /norestart
msiexec /i \\server\directory\Reader.msi /qn /norestart

Но это не сработало для меня. Очевидно система MSI не так очевидна, как apt-get или другие инструменты, с которыми я знаком. Как мне записать эти установки?

Кроме того, я также обнаружил, что могу сделать несколько изменений в реестре, чтобы сообщить службам обновлений для Reader и Java, чтобы они закрылись. Наши студенты не имеют прав администратора, поэтому эти сервисы обновлений не создают никаких проблем. Могу ли я написать сценарий для этих изменений? Если так, то как?

1 ответ1

0

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

"start /wait msiexec /i \\server\directory\FlashFF.msi /qn /norestart"

Для обновлений реестра есть два способа сделать это:

  1. Экспортируйте ключи реестра, затем вызывайте их из пакетного скрипта
  2. Используйте Reg Add, вы можете вызвать справочную систему с помощью reg add /? чтобы получить синтаксис:

REG ADD KeyName [/v ValueName | /ve] [/t Тип] [/s Разделитель] [/d Данные] [/f]

KeyName [\Machine] FullKey Machine Имя удаленной машины - по умолчанию не используется текущая машина. Только HKLM и HKU доступны на удаленных машинах. FullKey ROOTKEY\SubKey ROOTKEY [HKLM | HKCU | HKCR | HKU | HKCC] SubKey Полное имя раздела реестра под выбранной ROOTKEY.

/v Имя значения под выбранным ключом, чтобы добавить.

/ve добавляет пустое имя значения (по умолчанию) для ключа.

/t RegKey типы данных [REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ | REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE] Если опущено, предполагается REG_SZ.

/s Укажите один символ, который вы используете в качестве разделителя в строке данных для REG_MULTI_SZ. Если опущено, используйте «\0» в качестве разделителя.

/d Данные для добавления в реестр ValueName добавляются.

/f Принудительно перезаписать существующую запись в реестре без запроса.

Примеры:

REG ADD \ABC \HKLM \Software \MyCo Добавляет ключ HKLM \Software \MyCo на удаленную машину ABC

REG ADD HKLM \Software \MyCo /v Data /t REG_BINARY /d fe340ead Добавляет значение (имя: данные, тип: REG_BINARY, данные: fe340ead)

REG ADD HKLM \Software \MyCo /v MRU /t REG_MULTI_SZ /d fax \0mail Добавляет значение (имя: MRU, тип: REG_MULTI_SZ, данные: факс \0mail \0 \0)

REG ADD HKLM \Software \MyCo /v Путь /t REG_EXPAND_SZ /d ^% systemroot ^% Добавляет значение (имя: путь, тип: REG_EXPAND_SZ, данные:% systemroot%) Примечание: используйте символ вставки (^) внутри раскрытия строка

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .