Тема: VBS: Тюнинг сетевых настроек
Все ,наверное ,когда нибудь пытались заниматься тюнингом настроек винды с помощью твикеров и т.д. и т.п., я тоже был не исключение, пока несколько раз не погубил винду этими твикерами, после этого - я решил самостоятельно изучать параметры и придаваемые им значения. Целью тюнинга я выбрал сетевые настройки (без разницы хоть для локальной сети, хоть для интернета).
Для тюнинга настроек в Windows XP наработан пока что следующий скрипт,
Set WshShell=CreateObject ("WScript.Shell")
const HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
strKeyPath = "SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces"
oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys
' очистка от мусора и старых значений в подветках интерфейсов
For Each subkey In arrSubKeys
On Error Resume Next
WshShell.RegDelete "HKLM\" & strKeyPath & "\" & subkey & "\TcpAckFrequency"
WshShell.RegDelete "HKLM\" & strKeyPath & "\" & subkey & "\TcpDelAckTicks"
WshShell.RegDelete "HKLM\" & strKeyPath & "\" & subkey & "\MTU"
WshShell.RegDelete "HKLM\" & strKeyPath & "\" & subkey & "\KeepAliveInterval"
WshShell.RegDelete "HKLM\" & strKeyPath & "\" & subkey & "\KeepAliveTime"
WshShell.RegDelete "HKLM\" & strKeyPath & "\" & subkey & "\EnableDeadGWDetect"
On Error Goto 0
Next
' очистка от мусора и старых значений в глобале
On Error Resume Next
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DeadGWDetectDefault"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\KeepAliveInterval"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpDelAckTicks"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpAckFrequency"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\MTU"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\KeepAliveTime"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Adaptive_ifs"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\GlobalMaxTcpWindowSize"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\SearchList"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpMaxDupAcks"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpWindowSize"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\SackOpts"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\AFD\Parameters\NonBlockingSendSpecialBuffering"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpMaxConnectResponseRetransmissions"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpMaxDataRetransmissions"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpMaxHalfOpen"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpMaxHalfOpenRetried"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpMaxPortsExhausted"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\SynAttackProtect"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\MaxHashTableSize"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\FFPControlFlags"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\NumTcbTablePartitions"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TimedWaitDelay"
On Error Goto 0
' прописывание глобальных настроек
WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpTimedWaitDelay",30,"REG_DWORD"
WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\EnablePMTUDiscovery",0,"REG_DWORD"
WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\EnableDeadGWDetect",0,"REG_DWORD"
WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\EnablePMTUBHDetect",0,"REG_DWORD"
WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\SackOpts",1,"REG_DWORD"
WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DisableTaskOffload",0,"REG_DWORD"
WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DisableLargeSendOffload",0,"REG_DWORD"
WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DisableDHCPMediaSense",1,"REG_DWORD"
WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\SmbDeviceEnabled",0,"REG_DWORD"
WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Tcp1323Opts",1,"REG_DWORD"
WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\MaxUserPort",65534,"REG_DWORD"
WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DefaultTTL",128,"REG_DWORD"
WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpNumConnections",16777214,"REG_DWORD"
WshShell.RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoRemoteRecursiveEvents",1,"REG_DWORD"
WshShell.RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoRemoteChangeNotify",1,"REG_DWORD"
WshShell.RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDetailsThumbnailOnNetwork",1,"REG_DWORD"
WshShell.RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\NoNetCrawling",1,"REG_DWORD"
strKeyPath = "SYSTEM\CurrentControlSet\Services"
oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys
' прописка для Intel'овских карточек адаптивной технологии
For Each subkey In arrSubKeys
If Left(ucase(subkey),5)="E100B" Then
WshShell.RegWrite "HKLM\" & strKeyPath & "\" & subkey & "\Parameters\Adaptive_ifs",1,"REG_DWORD"
End If
Next
' прописка в подветках интерфейсов
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration where IPEnabled=True")
For Each objItem in colItems
If Not isNull(objItem.IPAddress) Then
WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\" & objItem.SettingID & "\TcpAckFrequency",1,"REG_DWORD"
WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\" & objItem.SettingID & "\MTU",576,"REG_DWORD"
End If
NextПосле отработки скрипта обязательно перезагруз !
Дополнительно к скрипту протокол QoS включаю ограниченным в 0% и в результате карточка Realtek 8139 с такой же точно, при копировании файла в локале имеют 96% использования сети, ИМХО не плохо против 80%...
Кто дружит с сетевым тюнингом - прошу откликнитесь...


