↩️ Назад

Категории

Скрипт автоустановки набора программ через AD

11.03.2026 | коды из категории: AD

В домене (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

Вариант 1: Простой (если сетевая папка открыта для всех компьютеров)

@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

Вариант 2: С явным указанием пароля (если папка требует аутентификации)

@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
:: ...



Категории:

Категории

Комментарии

Пока нет комментариев. Будьте первым!

Оставить комментарий

← Назад к списку

Посетителей сегодня: 0
о блоге | карта блога

© Digital Specialist | Не являемся сотрудниками Google, Яндекса и NASA