У меня есть тонны клиентов FortiClient, которые мне нужно установить на отдельные компьютеры, у каждого клиента есть собственный P C дома, а у некоторых из них Windows 7 32-битный. (Да, я даже видел XP.)
Мне удалось создать пакетный скрипт, который установит бесплатный FortiClient со всей конфигурацией внутри, импортировав ключ реестра в начале скрипта, и это отлично работает, но на Windows 7 32-битной, вы можете установить его, только если у вас установлены Windows обновления, установленные ранее.
Итак, я пришел к выводу, что могу создать пакет файл, который будет проверять, установлен ли KB или нет.
Так вот код:
@echo off
Pushd "%~dp0"
wmic qfe get hotfixid | find "KB3033929"
if %errorlevel% neq 1 ECHO KB3033929 Found
if %errorlevel% equ 1 ECHO KB3033929 NOT Found, installing KB3033929
(
wusa .\Windows6.1-KB3033929-x86.msu /quiet /norestart
)
regedit /s .\korona.reg
msiexec.exe /qb /i "%~dp0FortiClient.msi" /norestart INSTALLLEVEL=3
pause
Но каждый раз, когда я запускаю код, я получаю сообщение об ошибке, что синтаксис неправильно, хотя я запускаю только строку с командой wusa
.
PS: Если у вас есть другие идеи, это было бы здорово - я не хочу использовать PowerShell.