В домене (Active Directory) есть много компьютеров, на которые нужно ставить одни и те же программы. Вместо того чтобы ходить и жать "Далее" на каждом компе, можно сделать один скрипт, который сделает всё сам.
@echo off
chcp 1251 >nul
:: ===================================================
:: УСТАНОВКА ВСЕХ ПРОГРАММ
:: Автор: твой покорный слуга
:: Дата: 11.03.2026
:: ===================================================
echo.
echo ===================================================
echo УСТАНОВКА ПРОГРАММ НА КОМПЬЮТЕР
echo Запускать от имени Администратора!
echo ===================================================
echo.
:: Проверка прав администратора
net session >nul 2>&1
if %errorLevel% neq 0 (
echo ОШИБКА: Запустите файл от имени Администратора!
echo Нажмите правой кнопкой мыши -> Запуск от имени администратора
pause
exit /b 1
)
:: ===================================================
:: ПУТЬ К УСТАНОВЩИКАМ (ПОМЕНЯЙ IP ЕСЛИ НУЖНО)
:: ===================================================
set "SOURCE=\\192.168.121.121\test\"
echo Установщики берутся из: %SOURCE%
echo.
:: ===================================================
:: WINRAR
:: ===================================================
echo [1/9] Проверка WinRAR...
if exist "C:\Program Files\WinRAR\WinRAR.exe" (
echo ✅ WinRAR уже установлен
) else (
echo ⏳ Устанавливаем WinRAR...
start /wait %SOURCE%winrar.exe /S
if exist "C:\Program Files\WinRAR\WinRAR.exe" (
echo ✅ WinRAR установлен
) else (
echo ❌ Ошибка установки WinRAR
)
)
:: ===================================================
:: GOOGLE CHROME
:: ===================================================
echo.
echo [2/9] Проверка Google Chrome...
if exist "C:\Program Files\Google\Chrome\Application\chrome.exe" (
echo ✅ Google Chrome уже установлен
) else (
echo ⏳ Устанавливаем Google Chrome...
start /wait %SOURCE%chrome.exe --silent --install --system-level
if exist "C:\Program Files\Google\Chrome\Application\chrome.exe" (
echo ✅ Google Chrome установлен
) else (
echo ❌ Ошибка установки Google Chrome
)
)
:: ===================================================
:: OPENVPN
:: ===================================================
echo.
echo [3/9] Проверка OpenVPN...
if exist "C:\Program Files\OpenVPN\bin\openvpn.exe" (
echo ✅ OpenVPN уже установлен
) else (
echo ⏳ Устанавливаем OpenVPN...
msiexec /i "%SOURCE%openvpn.msi" /quiet /norestart
if exist "C:\Program Files\OpenVPN\bin\openvpn.exe" (
echo ✅ OpenVPN установлен
) else (
echo ❌ Ошибка установки OpenVPN
)
)
:: ===================================================
:: MOZILLA THUNDERBIRD
:: ===================================================
echo.
echo [4/9] Проверка Mozilla Thunderbird...
if exist "C:\Program Files\Mozilla Thunderbird\thunderbird.exe" (
echo ✅ Thunderbird уже установлен
) else (
echo ⏳ Устанавливаем Thunderbird...
start /wait %SOURCE%thunderbird.exe -ms /S
if exist "C:\Program Files\Mozilla Thunderbird\thunderbird.exe" (
echo ✅ Thunderbird установлен
) else (
echo ❌ Ошибка установки Thunderbird
)
)
:: ===================================================
:: MANGO TALKER (СТАВИТСЯ В ПРОФИЛЬ ПОЛЬЗОВАТЕЛЯ)
:: ===================================================
echo.
echo [5/9] Проверка Mango Talker...
set "MANGO_PATH=%APPDATA%\Mango Telecom\M.TALKER\application\mango-talker.exe"
if exist "%MANGO_PATH%" (
echo ✅ Mango Talker уже установлен для пользователя %USERNAME%
) else (
echo ⏳ Устанавливаем Mango Talker...
start /wait %SOURCE%mango_talker.exe --silent
if exist "%MANGO_PATH%" (
echo ✅ Mango Talker установлен
) else (
echo ❌ Ошибка установки Mango Talker
)
)
:: ===================================================
:: EASY7 (НЕТ ТИХОЙ УСТАНОВКИ - РУЧНАЯ)
:: ===================================================
echo.
echo [6/9] Проверка Easy7 Smart Client...
if exist "C:\Program Files (x86)\Easy7 Smart Client Express Win64\Easy7.exe" (
echo ✅ Easy7 уже установлен
) else (
echo.
echo ⚠️ ВНИМАНИЕ: Easy7 не поддерживает автоматическую установку!
echo Сейчас откроется окно установщика - нажмите "Далее" вручную.
echo.
pause
start /wait %SOURCE%easy7_smart_client.exe
if exist "C:\Program Files (x86)\Easy7 Smart Client Express Win64\Easy7.exe" (
echo ✅ Easy7 установлен
) else (
echo ❌ Easy7 не установлен (возможно, вы закрыли окно)
)
)
:: ===================================================
:: IVMS-4200 (НЕТ ТИХОЙ УСТАНОВКИ - РУЧНАЯ)
:: ===================================================
echo.
echo [7/9] Проверка iVMS-4200...
if exist "C:\Program Files (x86)\iVMS-4200 Site\iVMS-4200.exe" (
echo ✅ iVMS-4200 уже установлен
) else (
echo.
echo ⚠️ ВНИМАНИЕ: iVMS-4200 не поддерживает автоматическую установку!
echo Сейчас откроется окно установщика - нажмите "Далее" вручную.
echo.
pause
start /wait %SOURCE%ivms.exe
if exist "C:\Program Files (x86)\iVMS-4200 Site\iVMS-4200.exe" (
echo ✅ iVMS-4200 установлен
) else (
echo ❌ iVMS-4200 не установлен (возможно, вы закрыли окно)
)
)
:: ===================================================
:: SMARTPSS
:: ===================================================
echo.
echo [8/9] Проверка SmartPSS...
if exist "C:\Program Files\Smart Professional Surveillance System\SmartPSS\SmartPSS.exe" (
echo ✅ SmartPSS уже установлен
) else (
if exist "C:\Program Files (x86)\Smart Professional Surveillance System\SmartPSS\SmartPSS.exe" (
echo ✅ SmartPSS уже установлен
) else (
echo ⏳ Устанавливаем SmartPSS...
start /wait %SOURCE%smartpss.exe /S /silent /quiet
if exist "C:\Program Files\Smart Professional Surveillance System\SmartPSS\SmartPSS.exe" (
echo ✅ SmartPSS установлен
) else (
if exist "C:\Program Files (x86)\Smart Professional Surveillance System\SmartPSS\SmartPSS.exe" (
echo ✅ SmartPSS установлен
) else (
echo ❌ Ошибка установки SmartPSS
)
)
)
)
:: ===================================================
:: MICROSOFT OFFICE 2016 ИЗ ОБРАЗА
:: ===================================================
echo.
echo [9/9] Проверка Microsoft Office 2016...
if exist "C:\Program Files\Microsoft Office\Office16\WINWORD.EXE" (
echo ✅ Microsoft Office 2016 уже установлен
) else (
echo ⏳ Устанавливаем Office 2016 из образа...
echo Монтируем образ ProPlusRetail.img...
:: Монтируем образ
powershell -Command "Mount-DiskImage -ImagePath '%SOURCE%ProPlusRetail.img'" >nul 2>&1
timeout /t 3 /nobreak >nul
:: Узнаем букву диска
for /f "tokens=*" %%a in ('powershell -Command "(Get-DiskImage -ImagePath '%SOURCE%ProPlusRetail.img' | Get-Disk | Get-Partition | Get-Volume).DriveLetter"') do set "DRIVE_LETTER=%%a"
if not "%DRIVE_LETTER%"=="" (
set "OFFICE_DRIVE=%DRIVE_LETTER%:\"
echo Образ смонтирован как диск %OFFICE_DRIVE%
echo Запускаем установку Office...
start /wait "%OFFICE_DRIVE%setup.exe"
:: Размонтируем образ
powershell -Command "Dismount-DiskImage -ImagePath '%SOURCE%ProPlusRetail.img'" >nul 2>&1
echo Образ отключен
if exist "C:\Program Files\Microsoft Office\Office16\WINWORD.EXE" (
echo ✅ Office 2016 установлен
) else (
echo ❌ Ошибка установки Office
)
) else (
echo ❌ Ошибка: Не удалось смонтировать образ
)
)
:: ===================================================
:: ЗАВЕРШЕНИЕ
:: ===================================================
echo.
echo ===================================================
echo УСТАНОВКА ЗАВЕРШЕНА
echo ===================================================
echo.
echo ✅ Программы которые ставятся автоматически:
echo - WinRAR
echo - Google Chrome
echo - OpenVPN
echo - Thunderbird
echo - Mango Talker
echo - SmartPSS
echo - Microsoft Office 2016 (из образа)
echo.
echo ⚠️ Программы требующие ручной установки:
echo - Easy7 Smart Client
echo - iVMS-4200
echo.
echo Примечание: Для Easy7 и iVMS открывались окна установщиков.
echo Если они не установились - запустите их вручную из папки:
echo %SOURCE%
echo.
pause
@echo off
:: ===================================================
:: УСТАНОВКА ПРОГРАММ ЧЕРЕЗ AD (ЗАПУСК ПРИ СТАРТЕ)
:: ===================================================
:: Поместить в: Computer Configuration → Scripts → Startup
:: ===================================================
set "INSTALL_SOURCE=\\192.168.121.121\test\"
set "LOG_FILE=C:\ProgramData\ad_software_install_log.txt"
echo %date% %time% - Начало установки >> %LOG_FILE%
:: ===================================================
:: Функция проверки и установки
:: ===================================================
:Install
set "CHECK_PATH=%~1"
set "INSTALLER=%~2"
set "DISPLAY_NAME=%~3"
set "INSTALL_ARGS=%~4"
if exist "%CHECK_PATH%" (
echo %date% %time% - [ЕСТЬ] %DISPLAY_NAME% >> %LOG_FILE%
) else (
echo %date% %time% - [УСТАНОВКА] %DISPLAY_NAME% >> %LOG_FILE%
if exist "%INSTALL_SOURCE%%INSTALLER%" (
start /wait "" "%INSTALL_SOURCE%%INSTALLER%" %INSTALL_ARGS%
if !errorlevel! equ 0 (
echo %date% %time% - [ГОТОВО] %DISPLAY_NAME% установлен >> %LOG_FILE%
) else (
echo %date% %time% - [ОШИБКА] Код: !errorlevel! >> %LOG_FILE%
)
) else (
echo %date% %time% - [ОШИБКА] Файл %INSTALLER% не найден >> %LOG_FILE%
)
)
goto :eof
:: ===================================================
:: ОСНОВНОЙ БЛОК
:: ===================================================
echo. >> %LOG_FILE%
echo %date% %time% - Начинаем проверку... >> %LOG_FILE%
:: WinRAR
call :Install "C:\Program Files\WinRAR\WinRAR.exe" "winrar.exe" "WinRAR" "/S"
:: Google Chrome
call :Install "C:\Program Files\Google\Chrome\Application\chrome.exe" "chrome.exe" "Google Chrome" "--silent --install --system-level"
:: OpenVPN
call :Install "C:\Program Files\OpenVPN\bin\openvpn.exe" "openvpn.msi" "OpenVPN" "/quiet /norestart"
:: Thunderbird
call :Install "C:\Program Files\Mozilla Thunderbird\thunderbird.exe" "thunderbird.exe" "Thunderbird" "-ms /S"
:: Mango Talker (ключ --silent)
call :Install "%APPDATA%\Mango Telecom\M.TALKER\application\mango-talker.exe" "mango_talker.exe" "Mango Talker" "--silent"
:: SmartPSS
if exist "C:\Program Files\Smart Professional Surveillance System\SmartPSS\SmartPSS.exe" (
echo %date% %time% - [ЕСТЬ] SmartPSS >> %LOG_FILE%
) else (
if exist "C:\Program Files (x86)\Smart Professional Surveillance System\SmartPSS\SmartPSS.exe" (
echo %date% %time% - [ЕСТЬ] SmartPSS >> %LOG_FILE%
) else (
echo %date% %time% - [УСТАНОВКА] SmartPSS >> %LOG_FILE%
start /wait "" "%INSTALL_SOURCE%smartpss.exe" /S /silent /quiet
)
)
:: Office 2016 из образа
if exist "C:\Program Files\Microsoft Office\Office16\WINWORD.EXE" (
echo %date% %time% - [ЕСТЬ] Office 2016 >> %LOG_FILE%
) else (
echo %date% %time% - [УСТАНОВКА] Office 2016 из образа... >> %LOG_FILE%
powershell -Command "Mount-DiskImage -ImagePath '%INSTALL_SOURCE%ProPlusRetail.img'"
timeout /t 3 /nobreak >nul
for /f "tokens=*" %%a in ('powershell -Command "(Get-DiskImage -ImagePath '%INSTALL_SOURCE%ProPlusRetail.img' | Get-Disk | Get-Partition | Get-Volume).DriveLetter"') do set "DRIVE_LETTER=%%a"
if not "!DRIVE_LETTER!"=="" (
start /wait "!DRIVE_LETTER!:\setup.exe"
powershell -Command "Dismount-DiskImage -ImagePath '%INSTALL_SOURCE%ProPlusRetail.img'"
)
)
:: Easy7 и iVMS (ручная установка с предупреждением)
echo %date% %time% - [ВНИМАНИЕ] Easy7 и iVMS требуют ручной установки >> %LOG_FILE%
echo %date% %time% - Установка завершена >> %LOG_FILE%
exit /b 0
@echo off
:: ===================================================
:: УСТАНОВКА ЧЕРЕЗ AD (С СОХРАНЕНИЕМ ПАРОЛЯ)
:: ===================================================
set "INSTALL_SOURCE=\\192.168.121.121\test\"
set "NET_USER=test"
set "NET_PASS=123456"
set "LOG_FILE=C:\ProgramData\ad_software_install_log.txt"
echo %date% %time% - Начало установки >> %LOG_FILE%
:: Сохраняем учетные данные в менеджере [citation:4]
cmdkey /add:192.168.121.121 /user:%NET_USER% /pass:%NET_PASS% >nul 2>&1
:: Проверяем доступность папки
dir "%INSTALL_SOURCE%" >nul 2>&1
if errorlevel 1 (
echo %date% %time% - ОШИБКА: Нет доступа к %INSTALL_SOURCE% >> %LOG_FILE%
exit /b 1
)
:: Дальше тот же код установки, что в Варианте 1
:: ...
Комментарии
Пока нет комментариев. Будьте первым!