My Network Tuning Script

Get help and discuss anything related to tweaking your internet connection, as well as the different tools and registry patches on the site. TCP Optimizer settings and Analyzer results should be posted here.
Post Reply
RandomFool
New Member
Posts: 13
Joined: Wed Feb 05, 2014 3:35 pm

My Network Tuning Script

Post by RandomFool »

This is not for dial-up. This is for windows settings, so your NIC settings need to be changed/tweaked through the device manager manually.

Tested on 9 Systems: 7 desktops and 2 laptops, used a/b/g/n wifi onboard and USB NICs, onboard/dedicated 10/100/1000 Cards, on Win Xp, Vista, 8, and 8.1; I haven't tried this on Win7. Each system ran 14 tests with resets in between. Overall the VAST majority of increase will come from the tuning of your MTU and Receive Window. All the other tweaks/options included may or may not increase your performance... and by increase, i'm talking about shaving off up to 40 seconds from a 512 MB file.

Tuning the Window shaves off minutes

Basically I just run this with everything set to No except the ForceBandwidth.

Overall:
nVidia NICs are AWESOME.
Setting your TCP Ack Freq to 1 typically gives a performance hit. However wifi will generally see an improvement.
If you have a laptop with onboard NICs, leave offloads enabled. Desktops are hit or miss.
Wireless-N is slower than wired 100 mbps

ForceBandwidth: If you know your max speed, set this to yes and follow the directions.
Otherwise I grab the max link speed of your adapter and divide by 2. If you have two adapters enabled at different speeds, sets the bandwidth to the lowest link speed div 2.

ForceReset: Deletes created keys, uses Netsh, REG, and PowerShell to reset TCP options, reboots
A sub option of ForceReset is
FixCorruption: Sfc, Dism, and schedules a disk check on reboot.
On a side note, if your sfc can't fix your corruption, once a month, you can check - http://support.microsoft.com/kb/947821

Housecleaning: Ccleaner, defrag, and cleanmgr
Uses the settings stored in cleanmgr.exe /sageset:101

MapNetworkDrives: If your shares fail to show up in explorer or in your network. This has been buggy since Vista. I set Windows to wait for connection on boot. This delay shows up most in Vista, other OS's I didn't see a difference in Boot time ( restart/shutdown - not recover from hibernate ).
ServerIp is the IP address of the serverName.


You might be able to gain 1 to 3 MB/s by trying these options. In some cases though, depending on the option, you might lose 1-2 MB/s. Testing is required on your part.

PMtuDisc - sets it to yes, and black holes to no, generally good
TcpAckFreq - sets it to 1, typically a bad idea except on wifi
TcpIpNoDelay - No delay, good for wifi
NoChimneyOffloads - turn offloads off. Sometimes though your cpu is faster than your NIC.
DoOtherNetwork - sets tcb, irpStackSize, Default windows


By default this:
Removes MMCSS dependency from AudioSrv.
Disables autotuning
Sets congestion provider to DCTCP, if not then attempts CTCP.
Determines RSS and Tcb Table Partition setting based on number of cores
Enabled TCP 1323
Sets Dns, host, local, and netbt priortiy
Sets ConnectionCounts to 10
Sets MTU, TCP Window


Thoughts:
There is a lot of redundancy in the script. It comes from working with various OS's. Some settings are deprecated on newer OS's so they won't affect your performance. Windows 8 and 8.1 really seem to be locked down.

Box1: Win 8.1x64 Pro, Dual Xeon 4 core, 16 GBs RAM, 3 15k rpm SAS in RAID 0, nVidia 660 GTX, Dedicated Intel PCI-e Gigabit NIC, 7 ft Cat 6
Box2: Win xp, AMD 3800+, 2 GB RAM, 7.2k rpm ATA 133, Onboard Intel Grfx, onboard nVida PCI-E NIC, 50 ft Cat 6

Box2 beats Box1 by a minimum of 20 seconds, worst case was 60 seconds.
Tests were with Xcopy, LanSpeedTest, and drag and drop of files and/or folders.

Did i miss any tweaks?

Put the following 7 posts into a single cmd file. Save it, run it. Sorry it's across so many posts, but there exists a character limit.

~Scott
RandomFool
New Member
Posts: 13
Joined: Wed Feb 05, 2014 3:35 pm

Post by RandomFool »

Part 1 of x. Place all into a single file

Code: Select all


@Echo Off
cls
Verify On

%SystemRoot%\System32\net.exe use
%SystemRoot%\System32\net.exe use /persistent:yes
%SystemRoot%\System32\bcdedit.exe /set {default} bootmenupolicy legacy

setlocal
setlocal EnableDelayedExpansion

REM Set ForceBandwidth to Yes if you want a specific Setting.
REM Decmial Numbers are NOT allowed.
REM If you say no, bandwidth is set via the adapter spec, 
REM and reserves HALF for read and HALF for write.
REM MyBandwidth is the highest download measurement you can get,
REM or the Value your ISP Reports. You can Google/Yahoo
REM "Speed Test", to try a few.
REM ROUND UP TO the Highest INTEGER NUMBER as MyBandwidth.
REM Then enter m or k as the factor, g is also acceptable
REM For example,
REM If you get 28.92 Mbps, enter in 29 and M as the unit
REM If you get 0.123 Mbps, enter in 124 and K as the unit
REM If you get 511 kbps, enter in 512 and K as the unit
REM If your ISP reports 1.5 Mbps, enter in 1500 and K as the unit
REM If your ISP reports 512 kbps, enter in 512 and K as the unit

SET ForceBandwidth=No
SET MyBandwidth=1
SET unit=G


REM This is fully reset and undo all settings. Overrides all others.
REM Will FORCE a reboot
REM Useful for repairing corruptions is
REM http://support.microsoft.com/kb/947821
REM Go to the microsoft link, download and install.
REM If you haven't run the above link, you may or may not want to
REM but if you do, watch it install, then go to sleep. It could
REM take hours to run. It makes sure sfc runs right.
SET ForceReset=No
SET FixCorruption=Yes


REM A little house cleaning. Runs Ccleaner if installed and 
REM CleanMgr based on settings saved in 101, then Defrags.
SET DoHouseClean=Yes


REM Make Sure Network Shares are mapped in Explorer
SET mapNetworkDrives=No
SET count=5
SET pingISP=www.comcast.net
REM Leave Blank after the Equals Sign if you don't have one
REM This is for shares on other PCs, NAS, or servers
SET serverIP=
SET serverName=SomeNasOrServerName


REM Everything below here is hit or miss for wired connections.

REM Usually Safe Standard Network Optimizations
REM On Wi-Fi set all to yes, otherwise test.
REM On Wired Typically all no, Especially TcpAckFreq

SET DoPMtuDisc=No
SET DoTcpAckFreq=No
SET DoTcpIpNoDelay=No


REM Check This one Separately, Yes for wifi and No for Desktops
REM Onboard chipset No, Dedicated is Yes
REM Still requires you to test on a per system basis
SET noChimneyOffload=No


REM Non Standard Tweaks - iffy for wired
SET DoOtherNetwork=No


REM MaxSrvrOrGateway: Use the Max MTU found between the Server or Gateway
SET MaxSrvrOrGateway=No

REM These two should actually slow your connection. Used for testing
REM resetJumbo: Force 1500 MTU ~ over rides LCMSrvrAndGateWay
REM LCMSrvrAndGateway: Use MTU based on both the gateway and your server settings below
SET resetJumbo=No
SET LCMSrvrAndGateway=No


SET DoPMtuDisc=%DoPMtuDisc:~0,1%
SET DoTcpAckFreq=%DoTcpAckFreq:~0,1%
SET DoTcpIpNoDelay=%DoTcpIpNoDelay:~0,1%
SET noChimneyOffload=%noChimneyOffload:0,1%
SET DoOtherNetwork=%DoOtherNetwork:~0,1%
SET resetJumbo=%resetJumbo:~0,1%
SET mapNetworkDrives=%mapNetworkDrives:~0,1%
SET ForceReset=%ForceReset:~0,1%
SET LCMSrvrAndGateway=%LCMSrvrAndGateway:~0,1%
SET ForceBandwidth=%ForceBandwidth:~0,1%
SET DoHouseClean=%DoHouseClean:~0,1%
SET FixCorruption=%FixCorruption:~0,1%
SET unit=%unit:~0,1%
SET MaxSrvrOrGateway=%MaxSrvrOrGateway:~0,1%
SET Sys32=%SystemRoot%\System32\

REM RTT is Round Trip Time or Worst Case Latency in ms
REM TTL is time to live, Win default is 32
REM MtuHeader is the Header Bytes not included for ping.

SET RTT=178
SET TTL=64
SET MtuHeader=28

IF /I "%ForceReset%"=="y" (
 SET DoPMtuDisc=n
 SET DoTcpAckFreq=n
 SET DoTcpIpNoDelay=n
 SET noChimneyOffload=n
 SET DoOtherNetwork=n
 SET resetJumbo=n
 SET mapNetworkDrives=n
 SET LCMSrvrAndGateway=n
 SET ForceBandwidth=n
 SET MaxSrvrOrGateway=n
 SET DoHouseClean=y
)


REM Some house cleaning 
IF /I "%DoHouseClean%"=="y" (
 %Sys32%cleanmgr.exe /sagerun:101
 %Sys32%reg.exe ADD "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v NoLmHash /t REG_DWORD /d 0 /f
 IF %ERRORLEVEL% NEQ 0 (
 "%ProgramFiles%\ccleaner\ccleaner64.exe" /AUTO
 "%ProgramFiles%\ccleaner\ccleaner.exe" /AUTO
 )
 %Sys32%defrag.exe c: -f -v
)

@Echo Removing MMCSS from Audiosrv
:FixAdo
FOR /F "Tokens=1* delims=" %%i IN ( '%Sys32%reg.exe QUERY "HKLM\SYSTEM\CurrentControlSet\Services\Audiosrv" /v DependOnService' ) DO (
 SET regBranch=%%i
)

FOR /F "Tokens=1,2,3,4*" %%i IN ( "%regBranch%" ) DO (
SET regBranch=%%k
)

SET regBranch=%regBranch:mmcss=%
SET regBranch=%regBranch:Mmcss=%
SET regBranch=%regBranch:MMcss=%
SET regBranch=%regBranch:MMCss=%
SET regBranch=%regBranch:MMCSS=%
SET regBranch=%regBranch:mmCss=%
SET regBranch=%regBranch:mmCSS=%
SET regBranch=%regBranch:mMcss=%
SET regBranch=%regBranch:mMCss=%
SET regBranch=%regBranch:mMCSS=%
SET validInterfaces=%regBranch:\0\0=\0%
IF /I NOT "%validInterfaces:~-2%"=="\0" (
 SET validInterfaces=%validInterfaces%\0
)

%Sys32%reg.exe ADD "HKLM\SYSTEM\ControlSet001\Services\Audiosrv" /v DependOnService /t REG_MULTI_SZ /d "%validInterfaces%" /f
%Sys32%reg.exe ADD "HKLM\SYSTEM\CurrentControlSet\Services\Audiosrv" /v DependOnService /t REG_MULTI_SZ /d "%validInterfaces%" /f
%Sys32%reg.exe ADD "HKLM\SYSTEM\ControlSet001\Services\MMCSS" /v Start /t REG_DWORD /d 4 /f
%Sys32%reg.exe ADD "HKLM\SYSTEM\CurrentControlSet\Services\MMCSS" /v Start /t REG_DWORD /d 4 /f
@Echo Removed MMCSS service from AudioSrv
@Echo.

@Echo Finding Interfaces
SET regBrnch=HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
SET validInterfaces= 

FOR /F "tokens=1-8 delims=\" %%i IN ( '%Sys32%reg.exe Query %regBrnch%' ) DO (
 %Sys32%reg.exe QUERY %regBrnch%\%%p /v DhcpIPAddress
 IF !ERRORLEVEL! EQU 0 (
 @Echo adding %%p
 SET validInterfaces=!validInterfaces! %%p
 ) ELSE (
 @Echo Not Valid
 )
)
@Echo Found Interfaces at %validInterfaces%
@Echo.

RandomFool
New Member
Posts: 13
Joined: Wed Feb 05, 2014 3:35 pm

Post by RandomFool »

Post 2 of x: Place all into a single file

Code: Select all

@Echo Setting Service
%Sys32%reg.exe ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v TcpAutotuning /t REG_DWORD /d 0 /f
%Sys32%reg.exe ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp" /v TcpAutotuning /t REG_DWORD /d 0 /f

%Sys32%netsh.exe interface tcp set global autotuninglevel=disable

%Sys32%WindowsPowerShell\v1.0\powershell.exe Set-NetTCPSetting -InitialCongestionWindowMss 10 2>Nul
FOR %%i IN ( Automatic Compat Custom DataCenter DataCenterCustom Internet InternetCustom ) DO (
 %Sys32%WindowsPowerShell\v1.0\powershell.exe Set-NetTCPSetting -SettingName %%i -InitialCongestionWindowMss 10 2>Nul
)

%Sys32%reg.exe ADD "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters" /v EnableDCA /t REG_DWORD /d 1 /f
%Sys32%reg.exe ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v EnableDCA /t REG_DWORD /d 1 /f

%Sys32%netsh.exe interface tcp set heuristics enabled
%Sys32%netsh.exe interface tcp set heuristics wsh=enabled
%Sys32%WindowsPowerShell\v1.0\powershell.exe Set-NetTCPSetting -ScalingHeuristics Enabled 2>Nul
FOR %%i IN ( Automatic Compat Custom DataCenter DataCenterCustom Internet InternetCustom ) DO (
 %Sys32%WindowsPowerShell\v1.0\powershell.exe Set-NetTCPSetting -SettingName %%i -ScalingHeuristics Enabled 2>Nul
)

%Sys32%netsh.exe interface tcp set global dca=enabled
%Sys32%netsh.exe interface tcp set global netdma=enabled
%Sys32%netsh.exe interface tcp set supplemental custom 300 10 ctcp enabled 50
%Sys32%netsh.exe interface tcp set global congestionprovider=ctcp
%Sys32%netsh.exe interface tcp set supplemental congestionprovider=ctcp

%Sys32%WindowsPowerShell\v1.0\powershell.exe Set-NetTCPSetting -CongestionProvider CTCP 2>Nul
FOR %%i IN ( Automatic Compat Custom DataCenter DataCenterCustom Internet InternetCustom ) DO (
 %Sys32%WindowsPowerShell\v1.0\powershell.exe Set-NetTCPSetting -SettingName %%i -CongestionProvider CTCP 2>Nul
)
@Echo Setting Tcp Parameters
SET Scrpt="%temp%\ctcp.reg"
SET VB=echo^>^>%Scrpt%
IF EXIST %Scrpt% DEL %Scrpt%
%VB% Windows Registry Editor Version 5.00
%VB% 
%VB% [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nsi\{eb004a03-9b1a-11d4-9123-0050047759bc}\0]
%VB% "0200"=hex:00,00,00,00,01,00,00,07,00,00,00,00,00,00,00,00,1e,00,00,00,00,00,\
%VB% 00,00,00,00,00,00,02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,ff,\
%VB% 00,ff,00,ff,ff,00,00,00,00,00,00,00,00,ff,ff,ff,ff,00,00,00,00,00,00,00,00,\
%VB% ff,ff,00,00,ff,ff,ff,ff,00,00,00,00,00,00,00,00
%VB% "1700"=hex:00,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
%VB% 00,00,00,00,00,00,02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
%VB% 00,ff,00,ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
%VB% ff,00,00,00,ff,ff,ff,ff,00,00,00,00,00,00,00,00
%VB% 

%Sys32%reg.exe ADD "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v NoLmHash /t REG_DWORD /d 0 /f
IF %ERRORLEVEL% EQU 0 (
 start /wait %SystemRoot%\regedit.exe -s "%Scrpt%"
)
DEL %Scrpt%

%Sys32%WindowsPowerShell\v1.0\powershell.exe Set-NetTCPSetting -CongestionProvider DCTCP 2>Nul
FOR %%i IN ( Automatic Compat Custom DataCenter DataCenterCustom Internet InternetCustom ) DO (
 %Sys32%WindowsPowerShell\v1.0\powershell.exe Set-NetTCPSetting -SettingName %%i -CongestionProvider DCTCP 2>Nul
)
%Sys32%WindowsPowerShell\v1.0\powershell.exe Set-NetTCPSetting -EcnCapability Enabled 2>Nul
FOR %%i IN ( Automatic Compat Custom DataCenter DataCenterCustom Internet InternetCustom ) DO (
 %Sys32%WindowsPowerShell\v1.0\powershell.exe Set-NetTCPSetting -SettingName %%i -EcnCapability Enabled 2>Nul
)

@Echo Interface set
@Echo.

IF /I "%noChimneyOffload%"=="y" (
 %Sys32%netsh.exe interface tcp set global chimney=disable
 %Sys32%netsh.exe interface ip set global taskoffload=disabled 
 For %%i IN ( ControlSet001 CurrentControlSet ) DO ( 
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v EnableTCPChimney /t REG_DWORD /d 0 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v EnableTCPA /t REG_DWORD /d 0 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v DisableTaskOffload /t REG_DWORD /d 1 /f
 )
 %Sys32%WindowsPowerShell\v1.0\powershell.exe Set-NetOffloadGlobalSetting -Chimney Disabled 2>Nul
 %Sys32%WindowsPowerShell\v1.0\powershell.exe Set-NetOffloadGlobalSetting -TaskOffload Enabled 2>Nul
 %Sys32%WindowsPowerShell\v1.0\powershell.exe Set-NetOffloadGlobalSetting -NetworkDirect Enabled 2>Nul
) ELSE (
 %Sys32%netsh.exe interface tcp set global chimney=enabled
 %Sys32%netsh.exe interface ip set global taskoffload=enabled 
 For %%i IN ( ControlSet001 CurrentControlSet ) DO ( 
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v EnableTCPChimney /t REG_DWORD /d 1 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v EnableTCPA /t REG_DWORD /d 1 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v DisableTaskOffload /t REG_DWORD /d 0 /f
 )
 %Sys32%WindowsPowerShell\v1.0\powershell.exe Set-NetOffloadGlobalSetting -Chimney Enabled 2>Nul
 %Sys32%WindowsPowerShell\v1.0\powershell.exe Set-NetOffloadGlobalSetting -TaskOffload Disabled 2>Nul
)

@Echo Finding Cores
SET cores=0
FOR /F "tokens=2 delims==" %%i IN ('%Sys32%wbem\WMIC.exe cpu get NumberOfCores /value ^| findstr NumberOfCores') DO SET /A cores="cores+%%i"
@Echo Number of Cores is %cores%
SET /A Low="(%cores%-(%cores%%%2))/2"
IF %Low% GTR 16 (
 SET /A Low="16+0"
)

@Echo Setting RSS
If %cores% LSS 3 (
 %Sys32%netsh.exe interface tcp set global rss=disabled
 For %%i IN ( ControlSet001 CurrentControlSet ) DO ( 
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\NDIS\Parameters" /v MaxNumRssCpus /t REG_DWORD /d 1 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v EnableRSS /t REG_DWORD /d 0 /f
 @Echo RSS CPUs set to 1, RSS disabled
 %Sys32%WindowsPowerShell\v1.0\powershell.exe Set-NetOffloadGlobalSetting -ReceiveSideScaling Disabled 2>Nul
 )
) ELSE (
 %Sys32%netsh.exe interface tcp set global rss=enabled
 For %%i IN ( ControlSet001 CurrentControlSet ) DO ( 
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\NDIS\Parameters" /v MaxNumRssCpus /t REG_DWORD /d !Low! /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v EnableRSS /t REG_DWORD /d 1 /f
 @Echo RSS CPUs set to %Low%, RSS enabled
 )
 %Sys32%WindowsPowerShell\v1.0\powershell.exe Set-NetOffloadGlobalSetting -ReceiveSideScaling Enabled 2>Nul
)
SET Low=

SET /A cores="(%cores%*%cores%+3*%cores%)/2"
IF %cores% LSS 4 SET cores=4
@Echo Tcb Table Partitions will be set to %cores%
@Echo.

RandomFool
New Member
Posts: 13
Joined: Wed Feb 05, 2014 3:35 pm

Post by RandomFool »

Post 3 of x: All goes into one file

Code: Select all

@Echo Setting Options Specified
IF /I "%DoPMtuDisc%"=="y" (
 %Sys32%reg.exe ADD "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters" /v PMTUDiscovery /t REG_DWORD /d 1 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters" /v PMTUBlackHoleDetect /t REG_DWORD /d 0 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\ControlSet001\Services\VxD\MSTCP" /v DefaultTTL /t REG_DWORD /d %TTL% /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\CurrentControlSet\Services\VxD\MSTCP" /v PMTUDiscovery /t REG_DWORD /d 1 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\CurrentControlSet\Services\VxD\MSTCP" /v PMTUBlackHoleDetect /t REG_DWORD /d 0 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\CurrentControlSet\Services\VxD\MSTCP" /v DefaultTTL /t REG_DWORD /d %TTL% /f

 FOR %%i IN ( %validInterfaces% ) DO (
 %Sys32%reg.exe ADD "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\%%i" /v PMTUDiscovery /t REG_DWORD /d 1 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\%%i" /v PMTUBlackHoleDetect /t REG_DWORD /d 0 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\%%i" /v PMTUDiscovery /t REG_DWORD /d 1 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\%%i" /v PMTUBlackHoleDetect /t REG_DWORD /d 0 /f
 )
) ELSE (
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters" /v PMTUDiscovery /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters" /v PMTUBlackHoleDetect /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\CurrentControlSet\Services\VxD\MSTCP" /v PMTUDiscovery /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\CurrentControlSet\Services\VxD\MSTCP" /v PMTUBlackHoleDetect /f
 FOR %%i IN ( %validInterfaces% ) DO (
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\%%i" /v PMTUDiscovery /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\%%i" /v PMTUBlackHoleDetect /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\%%i" /v PMTUDiscovery /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\%%i" /v PMTUBlackHoleDetect /f
 )
)

IF /I "%DoTcpAckFreq%"=="y" (
 %Sys32%reg.exe ADD "HKLM\SOFTWARE\Microsoft\MSMQ\Parameters" /v TcpNoDelay /t REG_DWORD /d 1 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters" /v TcpNoDelay /t REG_DWORD /d 1 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v TcpNoDelay /t REG_DWORD /d 1 /f
) ELSE (
 %Sys32%reg.exe DELETE "HKLM\SOFTWARE\Microsoft\MSMQ\Parameters" /v TcpNoDelay /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters" /v TcpNoDelay /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v TcpNoDelay /f
)

IF /I "%DoTcpIpNoDelay%"=="y" (
 %Sys32%reg.exe ADD "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters" /v TcpAckFrequency /t REG_DWORD /d 1 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v TcpAckFrequency /t REG_DWORD /d 1 /f
) ELSE (
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters" /v TcpAckFrequency /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v TcpAckFrequency /f
)

FOR %%i IN ( %validInterfaces% ) DO (
 IF /I "%DoTcpAckFreq%"=="y" (
 %Sys32%reg.exe ADD "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\%%i" /v TcpNoDelay /t REG_DWORD /d 1 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\%%i" /v TcpDelAckTicks /t REG_DWORD /d 1 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\%%i" /v TcpNoDelay /t REG_DWORD /d 1 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\%%i" /v TcpDelAckTicks /t REG_DWORD /d 1 /f
 ) ELSE (
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\%%i" /v TcpNoDelay /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\%%i" /v TcpDelAckTicks /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\%%i" /v TcpNoDelay /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\%%i" /v TcpDelAckTicks /f
 )
 IF /I "%DoTcpIpNoDelay%"=="y" (
 %Sys32%reg.exe ADD "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\%%i" /v TcpAckFrequency /t REG_DWORD /d 1 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\%%i" /v TcpAckFrequency /t REG_DWORD /d 1 /f
 ) ELSE (
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\%%i" /v TcpAckFrequency /f 
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\%%i" /v TcpAckFrequency /f 
 )
)
@Echo Options Set
@Echo.

@Echo Adding Standard Reg Keys
SET regBrnch=CurrentControlSet ControlSet001 
%Sys32%reg.exe ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\PSched" /v NonBestEffortLimit /t REG_DWORD /d 0 /f
%Sys32%reg.exe ADD "HKLM\SOFTWARE\Policies\Microsoft\WindowsNT\CurrentVersion\Winlogon" /v SyncForegroundPolicy /t REG_DWORD /d 1 /f
%Sys32%reg.exe ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\NetCache" /v SilentForcedAutoReconnect /t REG_DWORD /d 1 /f
%Sys32%reg.exe ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\NetCache" /v SilentForcedAutoReconnect /t REG_DWORD /d 1 /f
%Sys32%reg.exe ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v EnableLinkedConnections /t REG_DWORD /d 1 /f
%Sys32%reg.exe ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile" /v NetworkThrottlingIndex /t REG_DWORD /d 1 /f
%Sys32%reg.exe ADD "HKLM\SOFTWARE\Wow6432Node\Policies\Microsoft\Windows NT\CurrentVersion\Winlogon" /v SyncForegroundPolicy /t REG_DWORD /d 1 /f
%Sys32%reg.exe ADD "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" /v MaxConnectionsPerServer /t REG_DWORD /d 10 /f
%Sys32%reg.exe ADD "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" /v MaxConnectionsPer1_0Server /t REG_DWORD /d 10 /f
%Sys32%reg.exe ADD "HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v MaxConnectionsPerServer /t REG_DWORD /d 10 /f
%Sys32%reg.exe ADD "HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v MaxConnectionsPer1_0Server /t REG_DWORD /d 10 /f


FOR %%i IN ( %validInterfaces% ) DO (
 %Sys32%reg.exe ADD "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\%%i" /v Tcp1323Opts /t REG_DWORD /d 1 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\%%i" /v NumTcbTablePartitions /t REG_DWORD /d %cores% /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\%%i" /v Tcp1323Opts /t REG_DWORD /d 1 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\%%i" /v NumTcbTablePartitions /t REG_DWORD /d %cores% /f
)

RandomFool
New Member
Posts: 13
Joined: Wed Feb 05, 2014 3:35 pm

Post by RandomFool »

Post 4 of x: All goes into a single file

Code: Select all

FOR %%i IN ( %regBrnch% ) DO (
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\AFD\Parameters" /v NonBlockingSendSpecialBuffering /t REG_DWORD /d 1 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Control\Lsa" /v NoLmHash /t REG_DWORD /d 0 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Control\Lsa" /v LMCompatibilityLevel /t REG_DWORD /d 1 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Control\Lsa" /v EveryoneIncludesAnonymous /t REG_DWORD /d 1 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v DefaultTTL /t REG_DWORD /d %TTL% /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v Tcp1323Opts /t REG_DWORD /d 1 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v EnablePMTUDiscovery /t REG_DWORD /d 1 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v NumTcbTablePartitions /t REG_DWORD /d %cores% /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v EnableConnectionRateLimiting /t REG_DWORD /d 0 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\LanmanWorkstation" /v MaxCmds /t REG_DWORD /d 64 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\LanmanWorkstation" /v MaxThreads /t REG_DWORD /d 64 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\LanmanWorkstation" /v MaxCollectionCount /t REG_DWORD /d 64 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\LanmanWorkstation" /v ConnectionCountPerNetworkInterface /t REG_DWORD /d 10 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\LanmanWorkstation" /v ConnectionCountPerRssNetworkInterface /t REG_DWORD /d 10 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\LanmanWorkstation" /v ConnectionCountPerRdmaNetworkInterface /t REG_DWORD /d 10 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\LanmanWorkstation" /v MaximumConnectionCountPerServer /t REG_DWORD /d 32 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\Dnscache\Parameters" /v NegativeCacheTime /t REG_DWORD /d 0 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\Dnscache\Parameters" /v NetFailureCacheTime /t REG_DWORD /d 0 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\Dnscache\Parameters" /v NegativeSOACacheTime /t REG_DWORD /d 0 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\Tcpip\ServiceProvider" /v DnsPriority /t REG_DWORD /d 7 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\Tcpip\ServiceProvider" /v HostsPriority /t REG_DWORD /d 6 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\Tcpip\ServiceProvider" /v LocalPriority /t REG_DWORD /d 5 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\Tcpip\ServiceProvider" /v NetbtPriority /t REG_DWORD /d 8 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\LanmanServer\Parameters" /v RestrictNullsessAccess /t REG_DWORD /d 0 /f
 %Sys32%reg.exe ADD "HKLM\System\%%i\Services\LanmanServer\Parameters" /v TreatHostAsStableStorage /t REG_DWORD /d 1 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\LanmanWorkstation\Parameters" /v MaxCmds /t REG_DWORD /d 64 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\LanmanWorkstation\Parameters" /v MaxThreads /t REG_DWORD /d 64 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\LanmanWorkstation\Parameters" /v MaxCollectionCount /t REG_DWORD /d 64 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\LanmanWorkstation\Parameters" /v DisableBandwidthThrottling /t REG_DWORD /d 1 /f
 %Sys32%reg.exe ADD "HKLM\System\%%i\Services\LanmanWorkstation\Parameters" /v DisableLargeMtu /t REG_DWORD /d 0 /f
)
@Echo Standard Reg Keys Set
@Echo.

@Echo Finding Bandwidth, MTU, and TCP Window Size
:FindBandMtuRwin
IF /I "%resetJumbo%"=="y" %Sys32%netsh.exe interface ipv4 set subint "Ethernet" mtu=1500 store=persistent

FOR /F "tokens=1,2,3* delims=:" %%i IN ('%Sys32%ipconfig.exe ^| %Sys32%Findstr /i "gateway"') DO (
 SET gateWay=%%~j
 SET gateWay=%gateWay: =%%
)

IF /I "%serverIP%"=="" SET serverIP=%gateway%
@Echo Finding MTU for %serverIP%
SET lost=0

%Sys32%ping.exe %serverIP% -n 1 2> Nul
IF !ERRORLEVEL! NEQ 0 (
 @Echo No Connection
 GOTO Done
)
@Echo Connection is Live
@Echo.

@Echo Checking Bandwidth
SET bndWdth=0
IF /I "%ForceBandwidth%"=="y" (
 IF /I "%unit%"=="m" (
 SET /A MyBandwidth="%MyBandwidth%*1000000" & REM Mega to bits
 ) ELSE (
 IF /I "%unit%"=="g" (
 SET /A MyBandwidth="%MyBandwidth%*1000000000" & REM Giga to bits
 ) ELSE (
 SET /A MyBandwidth="%MyBandwidth%*1000" & REM Kilo to bits
 )
 )
 SET bndWdth=!MyBandwidth!
 SET LcmMtu=%gwMTU%
 IF !bndWdth! EQU 0 (
 @Echo You entered in your Bandwidth wrong, Attempting Adapter Bandwidth
 ) ELSE (
 @Echo BandWidth you report = !MyBandwidth!
 )
)

SET High=0
:BandScript
SET Scrpt="%temp%\getBndWdth.vbs"
SET VB=echo^>^>%Scrpt%
IF EXIST %Scrpt% DEL %Scrpt%
%VB% Dim strQuery, strQuery2, objLocator, objWMI, objItem, objItem2, colItems, colItems2
%VB% Dim minSpeed, nicName
%VB% strQuery = "SELECT * FROM Win32_PerfFormattedData_Tcpip_NetworkInterface"
%VB% strQuery2 = "SELECT * FROM Win32_NetworkAdapter"
%VB% Set objLocator = CreateObject( "WbemScripting.SWbemLocator" )
%VB% Set objWMI = objLocator.ConnectServer( ".", "root\CIMV2" )
%VB% objWMI.Security_.ImpersonationLevel = 3
%VB% Set colItems2 = objWMI.ExecQuery( strQuery2, "WQL", 0 )
%VB% Set colItems = objWMI.ExecQuery( strQuery, "WQL", 0 )
%VB% minSpeed = 2147483646
%VB% For Each objItem2 In colItems2
%VB% If objItem2.NetConnectionStatus = 2 Then
%VB% nicName = Mid( objItem2.Name, 1, 5 )
%VB% For Each objItem In colItems
%VB% If Mid( objItem.Name, 1, 5 ) = nicName Then
%VB% If ( ( ( objItem.CurrentBandWidth + 0 ) ^> -1 ) And _
%VB% ( ( objItem.CurrentBandWidth + 0 ) ^< minSpeed ) ) _
%VB% Then
%VB% minSpeed = objItem.CurrentBandwidth + 0
%VB% End If
%VB% End If
%VB% Next
%VB% End If
%VB% Next
%VB% wScript.Echo minSpeed
FOR /F "Tokens=1*" %%i IN ( '%Sys32%cscript.exe //nologo %Scrpt%' ) DO (
 SET Low=%%i
)
SET /A High=%High%+1
IF %High% LSS %Count% (
 @Echo BandWidth reported was %Low% Test number %High%
 IF %Low% LSS 56000 GOTO BandScript
)

IF %bndWdth% EQU 0 (
 SET bndWdth=%Low%
 SET /A bndWdth="(!bndWdth!-(!bndWdth!%%2))/2" & REM Half for Read, Half for Write
)
SET /A bndWdth="(%bndWdth%-(%bndWdth%%%8))/8" & REM bits to Bytes
DEL %Scrpt%
IF %bndWdth% LSS 7000 (
 @Echo.
 @Echo Cannot Determine Bandwidth of your device.
 @Echo You need for Force the Bandwidth in the opening options
 @Echo Cannot Set or determin rWin without it.
 @Echo.
 SET DoOtherNetwork=n
 Pause
 GOTO TestLive
)
@Echo Bandwidth Set to %bndWdth%
@Echo.

IF /I "%resetJumbo%"=="y" (
 SET /A gwMtu="1500-%MtuHeader%"
 SET /A Mtu="1500-%MtuHeader%"
 GOTO SetLcmMtu
)

RandomFool
New Member
Posts: 13
Joined: Wed Feb 05, 2014 3:35 pm

Post by RandomFool »

Post 5 of x: All goes into one file

Code: Select all

:FindMtu
SET minDiff=1
SET Low=550
SET High=9650
SET mid=5100
SET diff=9100
SET gateway=192.168.1.1

@Echo Finding MTU for %serverIP%
@Echo %Low% %high%

:FindRoot
SET /A diff="%High%-%Low%"
If %diff% LEQ %minDiff% GOTO Found
FOR /F "tokens=1,2,3,4* delims=Lost" %%i IN ('%Sys32%ping.exe -n 1 -f -l %mid% %serverIP% ^| findstr /i "lost"') DO (
 SET lost=%%~l
)
FOR /F "tokens=1,2,3,4* delims==(" %%i IN ("%lost%") DO (
 SET lost=%%~j
)
IF %lost% GTR 0 (
 IF %mid% GEQ %High% GOTO Found
 SET High=%mid%
) ELSE (
 IF %mid% LEQ %Low% GOTO Found
 SET Low=%mid%
)
SET /A mid="(%High%+%Low%)/2"
@Echo %Low% %high%
goto FindRoot

:Found
FOR /F "tokens=1,2,3,4* delims=Lost" %%i IN ('%Sys32%ping.exe -n 1 -f -l %High% %serverIP% ^| findstr /i "lost"') DO (
 SET lost=%%~l
)
FOR /F "tokens=1,2,3,4* delims==(" %%i IN ("%lost%") DO (
 SET lost=%%~j
)

IF %lost% EQU 0 (
 SET Mtu=%High%
) ELSE (
 FOR /F "tokens=1,2,3,4* delims=Lost" %%i IN ('%Sys32%ping.exe -n 1 -f -l %Low% %serverIP% ^| findstr /i "lost"') DO (
 SET lost=%%~l
 )
 FOR /F "tokens=1,2,3,4* delims==(" %%i IN ("%lost%") DO (
 SET lost=%%~j
 )
 IF %lost% EQU 0 (
 GOTO FindMtu
 ) ELSE (
 SET Mtu=%Low%
 )
)
SET LcmMtu=%Mtu%
@Echo Server MTU %Mtu%+%MtuHeader%
@Echo.

IF "%serverIP%"=="%gateway%" GOTO SetLcmMtu
IF /I "%LCMSrvrAndGateway%"=="y" (
 GOTO FindGatewayMTU
) ELSE (
 IF /I "%MaxSrvrOrGateway%"=="y" (
 GOTO FindGatewayMTU
 ) ELSE (
 SET gwMtu=%LcmMtu%
 GOTO SetLcmMtu
 )
)

:FindGatewayMTU
@Echo Gateway is %gateway%
@Echo Finding Gateway MTU
SET gwMtu=0
SET minDiff=1
SET Low=550
SET High=9650
SET mid=5100
SET diff=9100
@Echo.
@Echo %Low% %high%

:FindGwRoot
SET /A diff="%High%-%Low%"
If %diff% LEQ %minDiff% GOTO FoundGwMtu
FOR /F "tokens=1,2,3,4* delims=Lost" %%i IN ('%Sys32%ping.exe -n 1 -f -l %mid% %gateway% ^| findstr /i "lost"') DO (
 SET lost=%%~l
)
FOR /F "tokens=1,2,3,4* delims==(" %%i IN ("%lost%") DO (
 SET lost=%%~j
)
IF %lost% GTR 0 (
 IF %mid% GEQ %High% GOTO FoundGwMtu
 SET High=%mid%
) ELSE (
 IF %mid% LEQ %Low% GOTO FoundGwMtu
 SET Low=%mid%
)
SET /A mid="(%High%+%Low%)/2"
@Echo %Low% %high%
goto FindGwRoot

:FoundGwMtu
FOR /F "tokens=1,2,3,4* delims=Lost" %%i IN ('%Sys32%ping.exe -n 1 -f -l %High% %gateway% ^| findstr /i "lost"') DO (
 SET lost=%%~l
)
FOR /F "tokens=1,2,3,4* delims==(" %%i IN ("%lost%") DO (
 SET lost=%%~j
)

IF %lost% EQU 0 (
 SET /A gwMtu="%High%+%gwMtu%"
) ELSE (
 FOR /F "tokens=1,2,3,4* delims=Lost" %%i IN ('%Sys32%ping.exe -n 1 -f -l %Low% %gateway% ^| findstr /i "lost"') DO (
 SET lost=%%~l
 )
 FOR /F "tokens=1,2,3,4* delims==(" %%i IN ("%lost%") DO (
 SET lost=%%~j
 )
 IF %lost% EQU 0 (
 GOTO FindMTU
 ) ELSE (
 SET /A gwMtu="%Low%+%gwMtu%"
 )
)
@Echo Gateway MTU is %gwMtu%+%MtuHeader%
@Echo.

:SetLcmMtu
SET /A Mtu="%Mtu%+%MtuHeader%"
SET /A gwMtu="%gwMtu%+%MtuHeader%"

IF /I "%MaxSrvrOrGateway%"=="y" (
 IF %gwMtu% GTR %Mtu% (
 SET LcmMtu=%gwMtu%
 ) ELSE (
 SET LcmMtu=%Mtu%
 )
) ELSE (
 IF %Mtu% GEQ %gwMtu% (
 SET /A LcmMtu="(%Mtu%-(%Mtu%%%%gwMtu%))"
 ) ELSE (
 SET /A LcmMtu="(%gwMtu%-(%gwMtu%%%%Mtu%))"
 )
)
@Echo.
@Echo MTU set to %LcmMtu%
@Echo.

@Echo Results for Optimal TCP Receive Window Size
REM Determine Optimal TCP Receive Window Size
REM Since RTT is in ms, I convert the Adapter to kBytes/sec,
REM and assume half for read/write and overhead.
REM Hence the 16000 constant in the division;
REM 1000*2*8
REM rWin is the Optimal UNScaled Window Size
REM In the MSS, 40 bytes is for the headers

SET /A MSS="%LcmMtu%-40"
SET /A BDP="%bndWdth%%%1000" & REM to kBytes
SET /A BDP="(%bndWdth%-%BDP%)"
SET /A BDP="%BDP%/1000"
SET /A BDP="%BDP%*%RTT%"
SET /A rWin="(65535-(65535%%%MSS%))/%MSS%"
SET /A vle="(%rWin%-(%rWin%%%2))/2"
SET /A rWin="%rWin%*%MSS%"
SET scl=1
SET /A vle="%rWin%*2"

:NxtPwr
IF %BDP% GEQ %vle% (
 SET /A scl="%scl%+1"
 SET /A vle="%vle%*2"
 GOTO NxtPwr
)

SET TcpWinSz=%vle%

REM This is the value for both the send and receive
SET /A TCPSendSz="%bndWdth%-(%bndWdth%%%TcpWinSz%)"

SET Power=1
FOR /L %%i IN (1,1,%scl%) DO (
 SET /A Power="!Power!*2"
)

SET /A rWinScl="%rWin%*%Power%"
SET /A chkDfltSndRcvWinMSS="%TCPsendSz%/(%LcmMtu%-40)"
SET /A chkDfltSndRcvWinRWin="%TCPsendSz%/%rWin%"
SET /A chkDfltSndRcvWinScl="%TCPsendSz%/%vle%"
SET /A chkScaledMSS="%vle%/(%LcmMtu%-40)"
SET /A chkScaledRWIN="%vle%/%rWin%"
SET /A chkrWinMss="%rWin%/(%LcmMtu%-40)"

@Echo 1500mtu 4111360
@Echo 9000mtu 4014080
SET Low=            %Mtu%
@Echo ServerMTU = %Low:~-11%
SET Low=            %gwMtu%
@Echo GatewayMTU = %Low:~-11%
SET Low=            %LcmMtu%
@Echo Lcm MTU = %Low:~-11%
SET Low=            %bndWdth%
@Echo Bandwidth = %Low:~-11%
SET Low=            %TCPsendSz%
@Echo Dflt Send/RecvWin = %Low:~-11%
SET Low=            %chkDfltSndRcvWinMSS%
@Echo Chk div MSS = %Low:~-11%
SET Low=            %chkDfltSndRcvWinRWin%
@Echo Chk div rWin = %Low:~-11%
SET Low=            %chkDfltSndRcvWinScl%
@Echo Chk div Scle = %Low:~-11%
SET Low=            %rWin%
@Echo Un-Scaled rWin = %Low:~-11%
SET Low=            %rWinScl%
@Echo Chk r**s = %Low:~-11%
SET Low=            %chkrWinMss%
@Echo Chk div Mss = %Low:~-11%
SET Low=            %vle%
@Echo Scaled rWin = %Low:~-11%
SET Low=            %chkScaledRWIN%
@Echo Chk div rWin = %Low:~-11%
SET Low=            %chkScaledMss%
@Echo Chk div MSS = %Low:~-11%
SET Low=            %BDP%
@Echo BDP = %Low:~-11%
SET Low=            %scl%
@Echo Scale, power of 2 = %Low:~-11%
SET Low=            %Power%
@Echo 2**s = %Low:~-11%
@Echo.

%Sys32%netsh.exe interface ipv4 set subinterfaces "Ethernet" mtu=%LcmMtu% store=persistent
%Sys32%WindowsPowerShell\v1.0\powershell.exe Set-NetIPInterface -NIMtuBytes %LcmMtu% 2>Nul

@Echo Setting Reg Keys based on Above Results
FOR %%i IN ( %validInterfaces% ) DO (
 %Sys32%reg.exe ADD "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\%%i" /v MTU /t REG_DWORD /d %LcmMtu% /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\%%i" /v TcpWindowSize /t REG_DWORD /d %TcpWinSz% /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\%%i" /v GlobalMaxTcpWindowSize /t REG_DWORD /d %TcpWinSz% /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\%%i" /v MTU /t REG_DWORD /d %LcmMtu% /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\%%i" /v TcpWindowSize /t REG_DWORD /d %TcpWinSz% /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\%%i" /v GlobalMaxTcpWindowSize /t REG_DWORD /d %TcpWinSz% /f
)

FOR %%i IN ( %regBrnch% ) DO (
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\AFD\Parameters" /v FastSendDatagramThreshold /t REG_DWORD /d %LcmMtu% /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\AFD\Parameters" /v FastCopyReceiveThreshold /t REG_DWORD /d %LcmMtu% /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v FastSendDatagramThreshold /t REG_DWORD /d %LcmMtu% /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v TcpWindowSize /t REG_DWORD /d %TcpWinSz% /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v GlobalMaxTcpWindowSize /t REG_DWORD /d %TcpWinSz% /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\Ndiswan\Parameters\0" /v ProtocolMTU /t REG_DWORD /d %LcmMtu% /f
)


RandomFool
New Member
Posts: 13
Joined: Wed Feb 05, 2014 3:35 pm

Post by RandomFool »

Post 6 of x:

Code: Select all

IF /I "%DoOtherNetwork%"=="y" (
 FOR %%i IN ( %regBrnch% ) DO (
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\AFD\Parameters" /v DefaultSendWindow /t REG_DWORD /d %TCPSendSz% /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\AFD\Parameters" /v DefaultReceiveWindow /t REG_DWORD /d %TCPSendSz% /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\LanmanServer\Parameters" /v SizReqBuf /t REG_DWORD /d 32768 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\LanmanServer\Parameters" /v IRPStackSize /t REG_DWORD /d 32 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v SackOpts /t REG_DWORD /d 1 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v MaxFreeTcbs /t REG_DWORD /d 5000 /f
 %Sys32%reg.exe ADD "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v MaxHasTableSize /t REG_DWORD /d 5000 /f
 )
) ELSE (
 FOR %%i IN ( %regBrnch% ) DO (
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\%%i\Services\AFD\Parameters" /v DefaultSendWindow /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\%%i\Services\AFD\Parameters" /v DefaultReceiveWindow /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\%%i\Services\LanmanServer\Parameters" /v SizReqBuf /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v SackOpts /f
 )
)
@Echo reg Keys Set
@Echo.

:TestLive
@Echo Make Persist
%Sys32%net.exe use
%Sys32%net.exe use /persistent:yes
@Echo Persistant set
@Echo.

@Echo Testing for %pingISP%
SET Scrpt="%temp%\TempVBS.vbs"
SET VB=echo^>^>%Scrpt%
IF EXIST %Scrpt% DEL %Scrpt%

%VB% On Error Resume Next
%VB% Set oNetwork = CreateObject("WScript.Network")
%VB% Set oWMIService = GetObject("winmgmts:\\.\root\cimv2")
%VB% For i = 1 To %count%
%VB% Set cPings=oWMIService.ExecQuery("Select * From Win32_PingStatus where Address = '%pingISP%'")
%VB% For Each oPing In cPings
%VB% If oPing.StatusCode=0 Then WScript.Quit(0)
%VB% Next
%VB% Next
%VB% WScript.Quit(1)
%Sys32%wscript.exe //nologo %Scrpt%
SET Error=!ErrorLevel!
DEL %Scrpt%
IF EXIST %Scrpt% DEL %Scrpt%
@Echo %pingISP% found is %Error%
@Echo.

@Echo Verify %pingISP% on Loop
:Loop
%Sys32%ping.exe %pingISP% -n 1 2> Nul
IF !ERRORLEVEL! EQU 0 (
 %Sys32%ping.exe %pingISP% -n 1 | find /i "bytes=" > nul && goto Connect
 %Sys32%ping.exe localhost -n %count% > nul
) ELSE (
 goto Connect
)
goto Loop

:Connect
%Sys32%ping.exe %pingISP% -n 1 2> Nul
IF %ERRORLEVEL% NEQ 0 (
 @Echo No Connection
) ELSE (
 @Echo Found %pingISP%
)
@Echo.

IF /I "%mapNetworkDrives%"=="y" (
 @Echo Searching for %serverIP%
 :Loop2
 %Sys32%ping.exe %serverIP% -n 1 2> Nul
 IF !ERRORLEVEL! EQU 0 (
 %Sys32%ping.exe %serverIP% -n %count% | find /i "bytes=" > nul && goto Connect2
 %Sys32%ping.exe localhost -n %count% > nul
 ) ELSE (
 goto Connect2
 )
 goto Loop2

 :Connect2
 %Sys32%ping.exe %serverIP% -n 1 2> Nul
 IF !ERRORLEVEL! NEQ 0 (
 @Echo No Connection
 ) ELSE (
 @Echo Found %serverIP%
 )
 @Echo.

 @Echo VBS Test for %serverIP%
 SET Scrpt="%temp%\TempVBS.vbs"
 SET VB=echo^>^>%Scrpt%
 IF EXIST %Scrpt% DEL %Scrpt%

 %VB% On Error Resume Next
 %VB% Set oNetwork = CreateObject("WScript.Network")
 %VB% Set oWMIService = GetObject("winmgmts:\\.\root\cimv2")
 %VB% For i = 1 To %count%
 %VB% Set cPings=oWMIService.ExecQuery("Select * From Win32_PingStatus where Address = '%serverIP%'")
 %VB% For Each oPing In cPings
 %VB% If oPing.StatusCode=0 Then WScript.Quit(0)
 %VB% Next
 %VB% Next
 %VB% WScript.Quit(1)
 %Sys32%wscript.exe //nologo %Scrpt%
 SET Error=!ErrorLevel!
 DEL %Scrpt%
 @Echo %serverIP% Found %Error%
 @Echo.
)
IF EXIST %Scrpt% DEL %Scrpt%

 @Echo Ensuring persist
 %Sys32%net.exe use
 %Sys32%net.exe use /persistent:yes
 @Echo persistant set
@Echo.

IF /I "%mapNetworkDrives%"=="y" (
 @Echo Final check for %serverName%
 :Loop3
 %Sys32%ping.exe %serverName% -n 1 2> Nul
 IF !ERRORLEVEL! EQU 0 (
 %Sys32%ping.exe %serverName% -n %count% | find /i "bytes=" > nul && goto Connect3
 %Sys32%ping.exe localhost -n %count% > nul
 ) ELSE (
 goto Connect3
 )
 goto Loop3

 :Connect3
 %Sys32%ping.exe %serverName% -n 1 2> Nul
 IF !ERRORLEVEL! NEQ 0 (
 @Echo No Connection
 ) ELSE (
 @Echo %serverName% is found

 REM %Sys32%net.exe use A: \\192.168.x.x\Share2 /u:[domain\login] [password]
 START %SystemRoot%\explorer.exe \\%serverName%
 )
)
@Echo.
IF /I NOT "%ForceReset%"=="y" GOTO Done

:D oForceReset
SET regBrnch=HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
SET validInterfaces=
FOR /F "tokens=1-8 delims=\" %%i IN ( '%Sys32%reg.exe Query %regBrnch%' ) DO (
 %Sys32%reg.exe QUERY %regBrnch%\%%p /v DhcpIPAddress
 IF !ERRORLEVEL! EQU 0 (
 @Echo adding %%p
 SET validInterfaces=!validInterfaces! %%p
 ) ELSE (
 @Echo Not Valid
 )
)

%Sys32%reg.exe DELETE "HKLM\SOFTWARE\Microsoft\MSMQ\Parameters" /v TcpNoDelay /f

FOR %%i IN ( %validInterfaces% ) do (
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\%%i" /v MTU /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\%%i" /v Tcp1323Opts /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\%%i" /v GlobalMaxTcpWindowSize /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\%%i" /v PMTUDiscovery /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\%%i" /v PMTUBlackHoleDetect /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\%%i" /v TcpAckFrequency /f 
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\%%i" /v TcpWindowSize /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\%%i" /v MTU /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\%%i" /v Tcp1323Opts /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\%%i" /v GlobalMaxTcpWindowSize /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\%%i" /v PMTUDiscovery /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\%%i" /v PMTUBlackHoleDetect /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\%%i" /v TcpAckFrequency /f 
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\%%i" /v TcpWindowSize /f
)

FOR %%i IN ( ControlSet001 CurrentControlSet ) Do (
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\%%i\Services\Dnscache\Parameters" /v NegativeCacheTime /f 
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\%%i\Services\Dnscache\Parameters" /v NetFailureCacheTime /f 
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\%%i\Services\Dnscache\Parameters" /v NegativeSoaCacheTime /f 
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\%%i\Services\AFD\Parameters" /v DefaultSendWindow /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\%%i\Services\AFD\Parameters" /v DefaultReceiveWindow /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v MTU /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v Tcp1323Opts /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v GlobalMaxTcpWindowSize /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v PMTUDiscovery /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v PMTUBlackHoleDetect /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v TcpNoDelay /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v TcpAckFrequency /f 
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v EnablePMTUDiscovery /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\%%i\Services\LanmanServer\Parameters" /v SizReqBuf /f
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v SackOpts /f 
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v DefaultTtl /f 
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v SearchList /f 
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v MaxFreeTcbs /f 
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v TcpWindowSize /f 
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v EnableIcmpRedirect /f 
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v DisableTaskOffload /f 
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v EnablePmtuDiscovery /f 
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v NumTcbTablePartitions /f 
 %Sys32%reg.exe DELETE "HKLM\SYSTEM\%%i\Services\Tcpip\Parameters" /v UseDomainNameDevolution /f
)

RandomFool
New Member
Posts: 13
Joined: Wed Feb 05, 2014 3:35 pm

Post by RandomFool »

Post 7 of 7:

Code: Select all

%Sys32%netsh.exe winsock reset
%Sys32%netsh.exe interface ip reset
%Sys32%netsh.exe interface reset
%Sys32%netsh.exe interface ipv4 reset
%Sys32%netsh.exe interface ipv6 reset
%Sys32%netsh.exe interface 6to4 reset
%Sys32%netsh.exe httpstunnel reset
%Sys32%netsh.exe isatap reset
%Sys32%netsh.exe interface portproxy reset
%Sys32%netsh.exe interface tcp reset
%Sys32%netsh.exe interface teredo reset

%Sys32%netsh.exe winsock reset all
%Sys32%netsh.exe interface ip reset all
%Sys32%netsh.exe interface reset all
%Sys32%netsh.exe interface ipv4 reset all
%Sys32%netsh.exe interface ipv6 reset all
%Sys32%netsh.exe interface 6to4 reset all
%Sys32%netsh.exe httpstunnel reset all
%Sys32%netsh.exe isatap reset all
%Sys32%netsh.exe interface portproxy reset all
%Sys32%netsh.exe interface tcp reset all
%Sys32%netsh.exe interface teredo reset all

%Sys32%cleanmgr.exe /sagerun:101
c:\progra~1\ccleaner\ccleaner64.exe /AUTO
c:\progra~1\ccleaner\ccleaner /AUTO

%Sys32%ipconfig.exe /flushdns

%Sys32%cleanmgr.exe /sagerun:101
c:\progra~1\ccleaner\ccleaner64.exe /AUTO
c:\progra~1\ccleaner\ccleaner /AUTO

%Sys32%arp.exe -d *
%Sys32%nbtstat.exe -R
%Sys32%nbtstat.exe -rR

%Sys32%cleanmgr.exe /sagerun:101
c:\progra~1\ccleaner\ccleaner64.exe /AUTO
c:\progra~1\ccleaner\ccleaner /AUTO

%Sys32%nbtstat.exe -RR

%Sys32%netsh.exe winsock reset all
%Sys32%netsh.exe interface ip reset all
%Sys32%netsh.exe interface reset all
%Sys32%netsh.exe interface ipv4 reset all
%Sys32%netsh.exe interface ipv6 reset all
%Sys32%netsh.exe interface 6to4 reset all
%Sys32%netsh.exe httpstunnel reset all
%Sys32%netsh.exe isatap reset all
%Sys32%netsh.exe interface portproxy reset all
%Sys32%netsh.exe interface tcp reset all
%Sys32%netsh.exe interface teredo reset all

%Sys32%netsh.exe winsock reset
%Sys32%netsh.exe interface ip reset
%Sys32%netsh.exe interface reset
%Sys32%netsh.exe interface ipv4 reset
%Sys32%netsh.exe interface ipv6 reset
%Sys32%netsh.exe interface 6to4 reset
%Sys32%netsh.exe httpstunnel reset
%Sys32%netsh.exe isatap reset
%Sys32%netsh.exe interface portproxy reset
%Sys32%netsh.exe interface tcp reset
%Sys32%netsh.exe interface teredo reset

%Sys32%ipconfig.exe /flushdns

%Sys32%cleanmgr.exe /sagerun:101
c:\progra~1\ccleaner\ccleaner64.exe /AUTO
c:\progra~1\ccleaner\ccleaner /AUTO

%Sys32%arp.exe -d *

%Sys32%ipconfig.exe /flushdns
%Sys32%ipconfig.exe /release
%Sys32%ipconfig.exe /release6
%Sys32%ipconfig.exe /flushdns

%Sys32%cleanmgr.exe /sagerun:101
c:\progra~1\ccleaner\ccleaner /AUTO
c:\progra~1\ccleaner\ccleaner64.exe /AUTO

%Sys32%netsh.exe winsock reset
%Sys32%netsh.exe interface ip reset
%Sys32%netsh.exe interface reset
%Sys32%netsh.exe interface ipv4 reset
%Sys32%netsh.exe interface ipv6 reset
%Sys32%netsh.exe interface 6to4 reset
%Sys32%netsh.exe httpstunnel reset
%Sys32%netsh.exe isatap reset
%Sys32%netsh.exe interface portproxy reset
%Sys32%netsh.exe interface tcp reset
%Sys32%netsh.exe interface teredo reset

%Sys32%netsh.exe winsock reset all
%Sys32%netsh.exe interface ip reset all
%Sys32%netsh.exe interface reset all
%Sys32%netsh.exe interface ipv4 reset all
%Sys32%netsh.exe interface ipv6 reset all
%Sys32%netsh.exe interface 6to4 reset all
%Sys32%netsh.exe httpstunnel reset all
%Sys32%netsh.exe isatap reset all
%Sys32%netsh.exe interface portproxy reset all
%Sys32%netsh.exe interface tcp reset all
%Sys32%netsh.exe interface teredo reset all

%Sys32%ipconfig.exe /registerdns
%Sys32%ipconfig.exe /flushdns

%Sys32%cleanmgr.exe /sagerun:101
c:\progra~1\ccleaner\ccleaner /AUTO
c:\progra~1\ccleaner\ccleaner64.exe /AUTO

%Sys32%arp.exe -d *
%Sys32%nbtstat.exe -R
%Sys32%nbtstat.exe -rR
%Sys32%nbtstat.exe -RR
%Sys32%ipconfig.exe /flushdns

%Sys32%cleanmgr.exe /sagerun:101
c:\progra~1\ccleaner\ccleaner /AUTO
c:\progra~1\ccleaner\ccleaner64.exe /AUTO

%Sys32%nbtstat.exe -RR

%Sys32%netsh.exe winsock reset all
%Sys32%netsh.exe interface ip reset all
%Sys32%netsh.exe interface reset all
%Sys32%netsh.exe interface ipv4 reset all
%Sys32%netsh.exe interface ipv6 reset all
%Sys32%netsh.exe interface 6to4 reset all
%Sys32%netsh.exe httpstunnel reset all
%Sys32%netsh.exe isatap reset all
%Sys32%netsh.exe interface portproxy reset all
%Sys32%netsh.exe interface tcp reset all
%Sys32%netsh.exe interface teredo reset all

%Sys32%netsh.exe winsock reset
%Sys32%netsh.exe interface ip reset
%Sys32%netsh.exe interface reset
%Sys32%netsh.exe interface ipv4 reset
%Sys32%netsh.exe interface ipv6 reset
%Sys32%netsh.exe interface 6to4 reset
%Sys32%netsh.exe httpstunnel reset
%Sys32%netsh.exe isatap reset
%Sys32%netsh.exe interface portproxy reset
%Sys32%netsh.exe interface tcp reset
%Sys32%netsh.exe interface teredo reset

%Sys32%ipconfig.exe /renew
%Sys32%ipconfig.exe /registerdns
%Sys32%arp.exe -d *
%Sys32%nbtstat.exe -R
%Sys32%nbtstat.exe -rR

%Sys32%cleanmgr.exe /sagerun:101
c:\progra~1\ccleaner\ccleaner /AUTO
c:\progra~1\ccleaner\ccleaner64.exe /AUTO

%Sys32%nbtstat.exe -RR
%Sys32%ipconfig.exe /flushdns

%Sys32%netsh.exe winsock reset
%Sys32%netsh.exe interface ip reset
%Sys32%netsh.exe interface reset
%Sys32%netsh.exe interface ipv4 reset
%Sys32%netsh.exe interface ipv6 reset
%Sys32%netsh.exe interface 6to4 reset
%Sys32%netsh.exe httpstunnel reset
%Sys32%netsh.exe isatap reset
%Sys32%netsh.exe interface portproxy reset
%Sys32%netsh.exe interface tcp reset
%Sys32%netsh.exe interface teredo reset

%Sys32%netsh.exe winsock reset all
%Sys32%netsh.exe interface ip reset all
%Sys32%netsh.exe interface reset all
%Sys32%netsh.exe interface ipv4 reset all
%Sys32%netsh.exe interface ipv6 reset all
%Sys32%netsh.exe interface 6to4 reset all
%Sys32%netsh.exe httpstunnel reset all
%Sys32%netsh.exe isatap reset all
%Sys32%netsh.exe interface portproxy reset all
%Sys32%netsh.exe interface tcp reset all
%Sys32%netsh.exe interface teredo reset all

%Sys32%Defrag.exe c: -f -v

IF /I "%FixCorruption%"=="y" (
 @Echo y > "%temp%\y.txt"
 %Sys32%sfc.exe /scannow
 %Sys32%Dism.exe /Online /Cleanup-Image /RestoreHealth
 %Sys32%chkdsk c: /f /v /x < "%temp%\y.txt
)
%Sys32%shutdown.exe -r


:D one
@Echo %date% %time% %gwMtu% %Mtu% %LcmMtu% %rwin% %scl% %TcPWinSz% %bndWdth% >> "%HomeDrive%\%HomePath%\Desktop\TcpLog.txt"

SET BDP=
SET bndWdth=
SET chkDfltSndRcvWinMSS=
SET chkDfltSndRcvWinRWin=
SET chkDfltSndRcvWinScl=
SET chkrWinMss=
SET chkScaledMSS=
SET chkScaledRWIN=
SET cores=
SET count=
SET diff=
SET DoHouseClean=
SET DoOtherNetwork=
SET DoPMtuDisc=
SET DoTcpAckFreq=
SET DoTcpIpNoDelay=
SET Error=
SET FixCorruption=
SET ForceBandwidth=
SET ForceReset=
SET gateway=
SET gwMtu=
SET High=
SET LcmMtu=
SET LCMSrvrAndGateway=
SET lost=
SET Low=
SET mapNetworkDrives=
SET MaxSrvrOrGateway=
SET mid=
SET minDiff=
SET MSS=
SET Mtu=
SET MtuHeader=
SET MyBandwidth=
SET noChimneyOffload=
SET pingISP=
SET Power=
SET regBrnch=
SET resetJumbo=
SET RTT=
SET rWin=
SET rWinScl=
SET scl=
SET Scrpt=
SET serverIP=
SET serverName=
SET Sys32=
SET TCPSendSz=
SET TcpWinSz=
SET TTL=
SET unit=
SET validInterfaces=
SET VB=
SET vle=

endlocal
%SystemRoot%\System32\net.exe use
%SystemRoot%\System32\net.exe use /persistent:`
@Echo Done
@Echo on
MagikMark
Regular Member
Posts: 100
Joined: Thu Nov 21, 2013 8:57 pm

Post by MagikMark »

Nice! Can you make a script that would work in win 8.1?
User avatar
Philip
SG VIP
Posts: 11758
Joined: Sat May 08, 1999 5:00 am
Location: Jacksonville, Florida

Post by Philip »

Very nice !

Have you tried the perfomance difference in high-latency broadband transfers rather than local copying ?
User avatar
RaisinCain
Posts: 1941
Joined: Fri Jun 05, 2009 7:11 pm

Post by RaisinCain »

Why can't people just leave well enough alone? If it isn't broke, don't bother trying to fix it. I believe Microsoft knows a little more about how it's OS works than the "tweaker" mindset.
User avatar
Philip
SG VIP
Posts: 11758
Joined: Sat May 08, 1999 5:00 am
Location: Jacksonville, Florida

Post by Philip »

Not really:
- one default does not fit all types of network conditions
- there are newer congestion algorithms that are not turned on by default in the OS
- older OSes are not optimized for broadband at all (small limited TCP Window)
- there are options to offload calculations (CRC, etc.) on some network cards, etc.
User avatar
RaisinCain
Posts: 1941
Joined: Fri Jun 05, 2009 7:11 pm

Post by RaisinCain »

Philip wrote:Not really:
- one default does not fit all types of network conditions
- there are newer congestion algorithms that are not turned on by default in the OS
- older OSes are not optimized for broadband at all (small limited TCP Window)
- there are options to offload calculations (CRC, etc.) on some network cards, etc.
I can understand doing this with older OSes but come on, it really isn't necessary with any current OS. Everything just ends up getting screwed up in the long run from what I have witnessed. I am not saying that these "tweaks" don't work in certain situations but I have found that when this occurs, either the ISP or the end user is at fault.
phk1
New Member
Posts: 1
Joined: Thu Jun 29, 2017 1:57 pm

Post by phk1 »

Where is the vbs files? TempVBS.vbs by example.
Post Reply