niikn: скрипт установки NetBird для сотрудников

Один .bat-файл для самостоятельной установки NetBird на Windows-машины
НИИКН. Автоэлевация через UAC, silent-install последней версии с
pkgs.netbird.io, подключение с reusable setup-key, который авто-привязывает
пира к группе NIIKN (она получает NetBird route 2.63.246.0/24 → pve-LionART
для обхода блокировки nspd.gov.ru).

Setup-key: 6507CC68-2919-4D04-AB8E-3F8507906220 (reusable, без истечения,
NetBird API id d7jj4c3l0ubs73auc270).

Сотрудник скачивает файл, ПКМ → Запустить от имени администратора.
Публичная ссылка для раздачи: https://dttb.ru/s/5o6fXDt2tkraDdW
This commit is contained in:
dttb
2026-04-21 11:18:54 +03:00
parent 9a203fef4a
commit f1b14be451

View File

@@ -0,0 +1,110 @@
@echo off
REM ============================================================================
REM Установка корпоративного VPN NetBird для сотрудников НИИКН
REM
REM Что делает:
REM 1. Скачивает установщик NetBird (последняя версия с pkgs.netbird.io)
REM 2. Ставит silent-ом (без окон)
REM 3. Подключает компьютер к корпоративной сети с ключом группы NIIKN
REM 4. Проверяет статус и показывает результат
REM
REM Использование:
REM - Скачать этот файл
REM - ПКМ -> "Запустить от имени администратора"
REM
REM Версия: 2026-04-21
REM Контакт: системный администратор (Олег)
REM ============================================================================
chcp 65001 >nul 2>&1
setlocal
title Установка NetBird для НИИКН
REM ---- Автоэлевация: если запущен не от админа, перезапустить с UAC ----
>nul 2>&1 fltmc
if %errorlevel% NEQ 0 (
echo [info] Требуются права администратора. Нажмите "Да" в окне UAC.
powershell -Command "Start-Process -FilePath '%~f0' -Verb RunAs"
exit /b
)
set "SETUP_KEY=6507CC68-2919-4D04-AB8E-3F8507906220"
set "INSTALLER_URL=https://pkgs.netbird.io/windows/x64/netbird_installer_x64.exe"
set "TMPFILE=%TEMP%\netbird_installer_niikn.exe"
set "NB_EXE=C:\Program Files\Netbird\netbird.exe"
echo.
echo ============================================================
echo Установка корпоративного VPN NetBird для НИИКН
echo ============================================================
echo.
REM ---- Проверка: уже установлен? ----
if exist "%NB_EXE%" (
echo [info] NetBird уже установлен. Пропускаю шаг установки.
goto :connect
)
REM ---- 1. Скачиваем installer ----
echo [1/4] Скачиваю установщик NetBird...
powershell -ExecutionPolicy Bypass -Command ^
"$ProgressPreference='SilentlyContinue'; [Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12; Invoke-WebRequest -Uri '%INSTALLER_URL%' -OutFile '%TMPFILE%' -UseBasicParsing"
if not exist "%TMPFILE%" (
echo [ОШИБКА] Не удалось скачать установщик. Проверьте интернет.
goto :error
)
echo готово (%TMPFILE%)
REM ---- 2. Silent install ----
echo [2/4] Устанавливаю NetBird (это 30-60 секунд)...
"%TMPFILE%" /S
REM ждём, пока сервис поднимется
timeout /t 10 /nobreak >nul
if not exist "%NB_EXE%" (
echo [ОШИБКА] Установка не прошла. Свяжитесь с администратором.
goto :error
)
echo готово
:connect
REM ---- 3. Подключение с setup-key ----
echo [3/4] Подключаю к корпоративной сети НИИКН...
"%NB_EXE%" up --setup-key %SETUP_KEY% --management-url https://api.netbird.io:443
if %errorlevel% NEQ 0 (
echo [ОШИБКА] Не удалось подключиться. Ключ мог истечь - свяжитесь с администратором.
goto :error
)
echo готово
REM ---- 4. Проверка статуса ----
echo [4/4] Проверяю статус подключения...
timeout /t 3 /nobreak >nul
"%NB_EXE%" status
echo.
echo ============================================================
echo УСТАНОВКА ЗАВЕРШЕНА УСПЕШНО
echo ============================================================
echo.
echo Откройте https://nspd.gov.ru/ в браузере - должно работать.
echo.
echo Подключение восстанавливается автоматически при перезагрузке.
echo Если что-то не работает - свяжитесь с администратором.
echo.
pause
REM ---- cleanup ----
if exist "%TMPFILE%" del /q "%TMPFILE%" 2>nul
exit /b 0
:error
echo.
echo ============================================================
echo УСТАНОВКА ПРЕРВАНА С ОШИБКОЙ
echo ============================================================
echo.
echo Сделайте скриншот этого окна и отправьте администратору.
echo.
pause
exit /b 1