@set @x=0; /*
@echo off
ver |>NUL find /v "5." && if "%~1"=="" cscript.exe //nologo //e:jscript "%~f0"& exit /b
::Начало кода основного скрипта
TITLE NOD32_server_update_changer by RUSViRTuE VER 2.0 [11.10.2022]
set server0=http://update.eset.com/eset_eval/
set batpath=%~0
CALL :serverselection
CALL :addserver
CALL :ProductVersion
CALL :deleteupdates
::Проверка добавлена ли возможность самостоятельного выбора сервера обновлений в настройках NOD32v8
FOR /F "tokens=3" %%i IN ('reg query "HKLM\SOFTWARE\ESET\ESET Security\CurrentVersion\Info" /v PackageFeatures') DO (
IF "%%i"=="0x51" (
COLOR 20
echo ПОЗДРАВЛЯЮ! Теперь Вы можете самостоятельно выбрать сервер обновлений в настройках NOD32 v8 ESET SMART SECURITY!
) ELSE (
IF "%%i"=="0x21" (
COLOR 20
echo ПОЗДРАВЛЯЮ! Теперь Вы можете самостоятельно выбрать сервер обновлений в настройках NOD32 v8 ESET ANTIVIRUS SECURITY!
) ELSE (
COLOR 40
echo ОШИБКА!!! Не удалось настроить самостоятельный выбор сервера обновлений в настройках NOD32 v8.
timeout /t 5 /nobreak
goto check
)
)
)
::Проверка добавлен ли уже альтернативный сервер обновлений NOD32v8
FOR /F "tokens=3" %%i IN ('reg query "HKLM\SOFTWARE\ESET\ESET Security\CurrentVersion\Plugins\01000400\Settings" /v FailSafeServer') DO (
IF "%%i" NEQ "%server0%" goto check
COLOR 20
IF "%%i"=="%server0%" echo ПОЗДРАВЛЯЮ! Альтернативный сервер обновлений NOD32 установлен!
echo.
echo ОБЯЗАТЕЛЬНО ДОЖДИТЕСЬ АВТОМАТИЧЕСКОГО ЗАКРЫТИЯ ЭТОГО ОКНА!
timeout /t 10 /nobreak
if /i "%SAFEBOOT_OPTION%"=="NETWORK" goto safemode
::Следующее включение windows без запуска скрипта
Reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "Shell" /t REG_SZ /d "explorer.exe" /f
exit
)
:check
::Проверка в каком режиме запущен скрипт
FOR /F "usebackq tokens=3*" %%A IN (`reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell`) DO (
set winlogondir=%%A %%B
)
if /i "%SAFEBOOT_OPTION%"=="NETWORK" goto safemode
if /i "%SAFEBOOT_OPTION%"=="MINIMAL" goto safemode
if not defined SAFEBOOT_OPTION goto normalmode
:normalmode
::Запуск батника при следующем включении
Reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "Shell" /t REG_SZ /d "explorer.exe, %batpath%" /f
::Установка однократного запуска windows в безопасном режиме
:: Проверка версии Windows
ver | findstr /i "5\.0\." > nul
IF %ERRORLEVEL% EQU 0 goto ver_nt5x
ver | findstr /i "5\.1\." > nul
IF %ERRORLEVEL% EQU 0 goto ver_nt5x
ver | findstr /i "5\.2\." > nul
IF %ERRORLEVEL% EQU 0 goto ver_nt5x
ver | findstr /i "6\.0\." > nul
IF %ERRORLEVEL% EQU 0 goto ver_nt6x
ver | findstr /i "6\.1\." > nul
IF %ERRORLEVEL% EQU 0 goto ver_nt6x
ver | findstr /i "6\.2\." > nul
IF %ERRORLEVEL% EQU 0 goto ver_nt6x
ver | findstr /i "6\.3\." > nul
IF %ERRORLEVEL% EQU 0 goto ver_nt6x
ver | findstr /i "10\.0\." > nul
IF %ERRORLEVEL% EQU 0 goto ver_nt10x
goto warn_and_exit
:ver_nt5x
:Run Windows 2000/XP specific commands here
bootcfg /raw /a /safeboot:network /id 1
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v "*UndoSB" /t REG_SZ /d "bootcfg /raw /fastdetect /id 1"
goto RebootToSafeMode
:ver_nt6x
:Run Windows Vista/7/8/8.1 specific commands here
bcdedit /set {current} safeboot network
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v "*UndoSB" /t REG_SZ /d "bcdedit /deletevalue {current} safeboot"
goto RebootToSafeMode
:ver_nt10x
:Run Windows 10 specific commands here
bcdedit /set {current} safeboot network
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v "*UndoSB" /t REG_SZ /d "bcdedit /deletevalue {current} safeboot"
goto RebootToSafeMode
:warn_and_exit
CLS
COLOR 40
echo Операционная система не определена. Установка альтернативного сервера обновлений в автоматическом режиме невозможна!
timeout /t 10 /nobreak
exit
:safemode
CALL :serverselection
CALL :addserver
CALL :ProductVersion
CALL :deleteupdates
::Перезагрузка через 3 секунды
shutdown /r /t 3
exit
:serverselection
::Добавление возможности самостоятельного выбора сервера обновлений в настройках NOD32v8
FOR /F "tokens=3" %%i IN ('reg query "HKLM\SOFTWARE\ESET\ESET Security\CurrentVersion\Info" /v ProductType') DO (
IF "%%i"=="ess" (
Reg.exe add "HKLM\SOFTWARE\ESET\ESET Security\CurrentVersion\Info" /v "PackageFeatures" /t REG_DWORD /d "81" /f
) ELSE (
IF "%%i"=="eav" (
Reg.exe add "HKLM\SOFTWARE\ESET\ESET Security\CurrentVersion\Info" /v "PackageFeatures" /t REG_DWORD /d "33" /f
) ELSE (
CLS
COLOR 40
echo.
echo АНТИВИРУС "NOD32 v8 ESET SMART SECURITY" или "NOD32 v8 ESET ANTIVIRUS SECURITY" НЕ НАЙДЕН!!!
echo Скрипт завершит работу без внесения каких-либо изменений в реестр.
timeout /t 20 /nobreak
exit
)
)
)
GOTO :eof
:addserver
::Добавление альтернативного сервера обновлений
Reg.exe add "HKLM\SOFTWARE\ESET\ESET Security\CurrentVersion\Plugins\01000400\Settings" /v "FailSafeServer" /t REG_SZ /d "%server0%" /f
GOTO :eof
:ProductVersion
::Изменение ProductVersion
Reg.exe add "HKLM\SOFTWARE\ESET\ESET Security\CurrentVersion\Info" /v "ProductVersion" /t REG_SZ /d "" /f
GOTO :eof
:deleteupdates
::Удаление папки с обновлениями
rmdir /s /q "C:\ProgramData\ESET\ESET NOD32 Antivirus\updfiles"
rmdir /s /q "C:\ProgramData\ESET\ESET Smart Security\updfiles"
GOTO :eof
:RebootToSafeMode
CLS
echo Сейчас компьютер перезагрузится в безопасный режим и после обратно в обычном режиме.
echo НИЧЕГО НЕ НАЖИМАЙТЕ!
timeout /t 10 /nobreak
shutdown -r -f -t 3
exit
pause
exit /B
::Здесь заканчивается код основного скрипта
================================================================================
История версий:
VER 1.0 [06.10.2022]
+ Релиз
VER 1.1 [08.10.2022]
+ Автоматический запрос на выполнение скрипта с админскими правами, если запущен в обычном режиме
VER 1.2 [09.10.2022]
+ Добавлена возможность самостоятельного выбора сервера обновлений в настройках NOD32v8 (Настройка-перейти к расширенным параметрам-обновление-параметры-сервер обновлений-изменить)
+ Добавлена возможность прописать в скрипте до 21 альтернативного сервера
VER 2.0 [11.10.2022]
* Новый метод обновления через редактирование параметра ProductVersion в реестре
* Возврашен официальный сервер обновлений
http://update.eset.com/eset_eval/* Исправлена ошибка, когда не появлялась возможность указывать свои сервера непосредственно в настройках антивируса (Настройка-перейти к расширенным параметрам-обновление-параметры-сервер обновлений-изменить)
* Переработан алгоритм проверки в каком режиме запущен скрипт (обычный или безопасный режим)
+ В безопасном режиме удалаяется папка с обновлениями nod32
- Убрал возможность прописывания в скрипте альтернативных серверов, так как антивирус их всё-равно заменит на необходимые официальные
================================================================================
:: Эту строку не трогать. Ниже ничего не писать!!!
*/new ActiveXObject('Shell.Application').ShellExecute (WScript.ScriptFullName,'Admin','','runas',1);