There is a bug in Windows 2003 SP2 which can create a vast array of mysterious network-related issues including, but not limited to:
• You cannot create a Remote Desktop Protocol (RDP) connection to the server.
• You cannot connect to shares on the server from a computer on the local area network.
• You cannot join a client computer to the domain.
• You cannot connect to Microsoft Exchange Server from a computer that is running Microsoft Outlook.
• You can only connect to Web sites that are hosted on the server or on the Internet by using a secure sockets layer (SSL) connection. In this scenario, you cannot connect to a Web site that does not use SSL encryption.
• You experience slow network performance.
• You cannot create an outgoing FTP connection from the server.
• The DHCP Server service crashes.
• Clients experience slow domain logons.
• Network Address Translation (NAT) clients that are located behind Windows SBS 2003 experience intermittent connection failures.
• You experience intermittent RPC communications failures.
• Clients that are configured as SecureNat clients may be unable to connect to the Internet.
• Some Outlook clients may be unable to connect to Exchange.
• You cannot run the Configure E-mail and Internet Connection Wizard successfully.
• Microsoft Internet Security and Acceleration (ISA) Server blocks RPC communications.
• Clients cannot visit the http://companyweb Web site.
• You cannot browse Internet Information Services (IIS) Virtual Directories.
To combat this issue, here is an excellent .cmd script that was written to revert certain TCP/IP "features" to pre-SP2 functionality, and resolve these problems:
@echo off
REM ———————————————————————————————–
REM Add Registry entries in:
REM HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP\Parameters
REM
REM Created By: Bill Miles
REM
REM ———————————————————————————————–
REM — Check OS version, must be 5.1(XP) or greater (Windows 2000 not supported)
FOR /F "usebackq tokens=2 delims=[" %%a IN (`ver`) DO (
REM echo [%%a
FOR /F "usebackq tokens=2 delims= " %%b IN ('%%a') DO (
REM echo %%b
FOR /F "usebackq tokens=1,2 delims=." %%c IN ('%%b') DO (
REM echo %%c.%%d
IF %%d LSS 1 (
echo Current Windows version [%%a not supported!
goto :END
)
)
)
)
SET REGROOT=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP\Parameters
SET REGKEY=unknown
REG ADD %REGROOT% /v TcpWindowSize /t REG_DWORD /d 256960 /f
REG ADD %REGROOT% /v TcpMaxDataRetransmissions /t REG_DWORD /d 10 /f
REM — IF EXIST —
SET REGKEY=EnableTCPA
FOR /F "usebackq skip=2 tokens=1,2,3 delims= " %%a IN (`REG QUERY %REGROOT% /v %REGKEY%`) DO (
REM %%a == Key Name
REM %%b ==
REM %%c == Key Value
echo %%a %%c
IF "%%a" NEQ "%REGKEY%" (
echo %REGKEY% does not exist.
) ELSE (
IF "%%c" NEQ "0×0" (
REG ADD %REGROOT% /v %REGKEY% /t REG_DWORD /d 0 /f
)
)
)
SET REGKEY=EnableTCPChimney
FOR /F "usebackq skip=2 tokens=1,2,3 delims= " %%a IN (`REG QUERY %REGROOT% /v %REGKEY%`) DO (
REM %%a == Key Name
REM %%b ==
REM %%c == Key Value
echo %%a %%c
IF "%%a" NEQ "%REGKEY%" (
echo %REGKEY% does not exist.
) ELSE (
IF "%%c" NEQ "0×0" (
REG ADD %REGROOT% /v %REGKEY% /t REG_DWORD /d 0 /f
)
)
)
SET REGKEY=EnableRSS
FOR /F "usebackq skip=2 tokens=1,2,3 delims= " %%a IN (`REG QUERY %REGROOT% /v %REGKEY%`) DO (
REM %%a == Key Name
REM %%b ==
REM %%c == Key Value
echo %%a %%c
IF "%%a" NEQ "%REGKEY%" (
echo %REGKEY% does not exist.
) ELSE (
IF "%%c" NEQ "0×0" (
REG ADD %REGROOT% /v %REGKEY% /t REG_DWORD /d 0 /f
)
)
)
:END
sleep 12
exit
The script is a great first resort for mysterious network issues and has resolved many production problems in the past. Keep in mind, it requires a reboot to kick into effect.
More information about this bug can be found @ the MS KB Article: http://support.microsoft.com/kb/936594