A user cannot send e-mail messages by using Outlook Web Access server that is published by ISA Server 2006 when the delegation is set to NTLM

This article has been archived. It is offered "as is" and will no longer be updated.
Consider the following scenario:
  • You configure Microsoft Internet Security and Acceleration (ISA) Server 2006 to publish a Microsoft Office Outlook Web Access (OWA) server.
  • You set the delegation of the publishing rule to NT LAN Manager (NTLM).
  • The publishing rule is configured to forward requests by using the client IP address.
  • A user logs on to OWA and then tries to send an e-mail message.
In this scenario, the send operation may fail, or th eoperation may be block for a long time.
Before ISA Server 2006 can forward the e-mail message in scenario, the session to the Exchange server is closed. Then, ISA Server 2006 tries to create a new session. The IP address and the port of the new session are identical to the IP address and the port of the closed session. Because of this behavior, the new session cannot be established before the Exchange server can clean up the old session.
To resolve this problem, follow these steps:
  1. Install the hotfix rollup package that is described in the following Microsoft Knowledge Base article:
    974665 Description of the ISA Server 2006 hotfix package: August 16, 2009
  2. Start Notepad.
  3. Copy and paste the following script into Notepad:
    Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"Const SE_VPS_NAME = "WebPublishingSleepBeforeReconnect"Const SE_VPS_VALUE = 10Sub SetValue()    ' Create the root obect.    Dim root  ' The FPCLib.FPC root object    Set root = CreateObject("FPC.Root")    'Declare the other objects needed.    Dim array       ' An FPCArray object    Dim VendorSets  ' An FPCVendorParametersSets collection    Dim VendorSet   ' An FPCVendorParametersSet object    ' Get references to the array object    ' and the network rules collection.    Set array = root.GetContainingArray    Set VendorSets = array.VendorParametersSets    On Error Resume Next    Set VendorSet = VendorSets.Item( SE_VPS_GUID )    If Err.Number <> 0 Then        Err.Clear        ' Add the item        Set VendorSet = VendorSets.Add( SE_VPS_GUID )        CheckError        WScript.Echo "New VendorSet added... " & VendorSet.Name    Else        WScript.Echo "Existing VendorSet found... value- " &  VendorSet.Value(SE_VPS_NAME)    End If    if VendorSet.Value(SE_VPS_NAME) <> SE_VPS_VALUE Then        Err.Clear        VendorSet.Value(SE_VPS_NAME) = SE_VPS_VALUE        If Err.Number <> 0 Then            CheckError        Else            VendorSets.Save false, true            CheckError            If Err.Number = 0 Then                WScript.Echo "Done with " & SE_VPS_NAME & ", saved!"            End If        End If    Else        WScript.Echo "Done with " & SE_VPS_NAME & ", no change!"    End IfEnd SubSub CheckError()    If Err.Number <> 0 Then        WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description        Err.Clear    End IfEnd SubSetValue
  4. Save this Notepad file by using the .vbs file name extension. For example, save this file by using the following name:
  5. Double-click the WebPublishingSleepBeforeReconnect .vbs file to run the script.

Note This hotfix adds a short delay between the operation that closes the old session and the operation that creates the new session.
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:
824684 Description of the standard terminology that is used to describe Microsoft software updates

Article ID: 974663 - Last Review: 01/15/2015 18:49:03 - Revision: 3.0

  • Microsoft Internet Security and Acceleration Server 2006 Service Pack 1
  • kbnosurvey kbarchive kbexpertiseinter kbfix kbsurveynew kbqfe KB974663