@echo off
setlocal EnableDelayedExpansion

set logfile=C:\setup.log

del /f c:\ifacename.txt

for /f "skip=2 tokens=2,4*" %%A in ('netsh interface show interface') do (
  if "%%A" == "Connected" (
    echo %%B %%C>> c:\ifacename.txt
  )
  if "%%A" == "Подключен" (
    echo %%B %%C>> c:\ifacename.txt
  )

)

set /P IFACENAME=< c:\ifacename.txt

echo Trimming

set IFACENAME=%IFACENAME%##
set IFACENAME=%IFACENAME:    ##=##%
set IFACENAME=%IFACENAME:  ##=##%
set IFACENAME=%IFACENAME: ##=##%
set IFACENAME=%IFACENAME:##=%

del /f c:\ifacename.txt

IF "(%IFACENAME%)" == "()" (
        set IFACENAME=Ethernet
)

echo --- Interface name: %IFACENAME% >> %logfile%

echo --- set Administartor password >> %logfile%

net user Administrator ($PASS)  >> %logfile%
net user Admin ($PASS)  >> %logfile%
echo ------Set static IP-------------------------------------[%DATE%-%TIME%]      >> %logfile%
echo --- IP/NM=($IP)/($NETMASK)  GW=($GATEWAY)      >> %logfile%
echo --- IP6/NM=($IPv6)/($IPv6_PREFIX)  GW=($IPv6_GATEWAY)      >> %logfile%
echo --- NS1=($NAMESERVER)                                                   >> %logfile%

set "IP=($IP)"
set "IPv6=($IPv6)"
set "nexthop=($NEXTHOPIPv4)"

IF "%nexthop%"=="()" (
        set "nexthop=NONE"
)
echo %nexthop% | findstr /c:( 1>nul
IF NOT ERRORLEVEL 1 (
        set "nexthop=NONE"
)

IF (%nexthop%) == () (
        set "nexthop=NONE"
)
IF "(%IP%)" == "()" (
	IF NOT "(%IPv6%)" == "()" (
		echo --- IPv6 only --- >> %logfile%
		netsh interface ipv6 set address "%IFACENAME%" ($IPv6)/($IPv6_PREFIX) >> %logfile%
		netsh interface ipv6 add route ::/0 "%IFACENAME%" ($IPv6_GATEWAY) >> %logfile%
	) ELSE (
		echo --- no ips --- >> %logfile%
	)
) ELSE (
	echo --- IPv4 --- >> %logfile%
	if "(%nexthop%)" == "(NONE)" (
		netsh interface ip set address    "%IFACENAME%" static ($IP) ($NETMASK) ($GATEWAY)  >> %logfile%
	) ELSE (
		netsh interface ip set address    "%IFACENAME%" static ($IP) 255.255.255.255 ($NEXTHOPIPv4)  >> %logfile%
	)
	netsh interface ip add dnsservers "%IFACENAME%" ($NAMESERVER)          >> %logfile%
)

set "nslist=($NAMESERVERS)"

IF "%nslist%"=="()" (
        set "nslist=NEX"
)
echo %nslist% | findstr /c:( 1>nul
IF NOT ERRORLEVEL 1 (
        set "nslist=NEX"
)

if NOT "%nslist%"=="" ( 
        IF NOT "%nslist%"=="NEX" (
                set flist=%nslist:"=%
                echo NAMESERVERS: !flist! >> %logfile%
REM                netsh interface ip delete dnsservers "%IFACENAME%" all >> %logfile%
                FOR %%i IN (!flist!) DO (
                        echo %%i >> %logfile%
                        echo %%i | findstr /c:: 1>nul
                        if ERRORLEVEL 1 (
                                echo ipv4 >> %logfile%
                                netsh interface ip add dnsservers "%IFACENAME%" %%i >> %logfile%
                        ) ELSE (
                                echo ipv6 >> %logfile%
                                netsh interface ipv6 add dnsservers "%IFACENAME%" %%i >> %logfile%
                        )
                )
        ) ELSE (
                echo BRACERS >> %logfile%
        )
) ELSE (
        echo EMPTY >> %logfile%
)

set extendfile=C:\vmmgr\extend.txt
echo --- resize disk >> %logfile%
echo select volume c > %extendfile%
echo extend filesystem noerr >> %extendfile%
diskpart.exe /s %extendfile% >> %logfile%

set "kms=($KMSADDRESS)"
set "ato=0"
IF NOT "%kms%" == "" (
        IF NOT "%kms%" == "()" (
                echo "KMS is not null. Activating license" >> %logfile%
                cscript %windir%\system32\slmgr.vbs -skms %kms%
                set "ato=1"
        ) ELSE (
                echo "KMS is bracers" >> %logfile%
        )
) ELSE (
        echo "PKEY is EMPTY" >> %logfile%
)
set "pkey=($PRODUCTKEY)"

IF NOT "%pkey%" == "" (
        IF NOT "%pkey%" == "()" (
                echo "PKEY is not null. Activating license"
                echo activate windows >> %logfile%
                cscript %windir%\system32\slmgr.vbs -ipk %pkey%
                set "ato=1"
        ) ELSE (
                echo "PKEY is bracers" >> %logfile%
        )
) ELSE (
        echo "PKEY is EMPTY" >> %logfile%
)
IF "%ato%" == "1" (
        cscript %windir%\system32\slmgr.vbs -ato
)

REM Enable RDP
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
netsh firewall set service remotedesktop enable

echo remove task vmmgr_firstrun >> %logfile%
schtasks /Delete /TN "vmmgr_firstrun" /F  >> %logfile%

echo disable delivery optimization >> %logfile%
reg add HKLM\SYSTEM\CurrentControlSet\Services\DoSvc /v Start /t REG_DWORD /d 0x4 /f >> %logfile%

echo restart OS >> %logfile%
echo ------END--------------------------------------------------[%DATE%-%TIME%]     >> %logfile%

echo RMDIR /s /Q  C:\vmmgr >> c:\del.cmd
echo shutdown /r >> c:\del.cmd
cmd /c c:\del.cmd
