Exchange 2003, ISA and attachment size

I've seen a few of these reports recently and worked on one personally, so I thought I would mention this in case anyone else has run into this issue and wasn't sure how to fix it.

The environment:
ISA server 200x using a Web Publishing Rule to publish OWA on an Exchange 2003 server.

The problem:
When using OWA externally, files larger than 50kb cannot be attached.  The symptom is that the attachment screen will simply go blank.  If you wait long enough, you may eventually see a timeout error, but that could be a long time (30 minutes or more).  Attaching the same file from inside the network works fine.

The apparent solution:
On the Exchange 2003 server, there is a setting within the IIS metabase that needs to be modified.  Specifically, the parameter UploadReadAheadSize needs to be set.

Why does this need to be changed?

I don't know.  I'm not an ISA expert, nor am I am IIS expert.  The above-mentioned parameter is not set by default, and IIS will use the default schema value of 49152 bytes (48kb).  It is worth noting that this parameter apparently does not *always* need to be modified.  You should thus only modify this attribute if you are encountering this issue.

This parameter can be modified using adsutil.vbs, which is included by default with IIS, and exists in the inetpub\adminscripts directory.  It can also be modified by editing the metabase.xml file in the \winnt\system32\inetsrv directory.

First, verify that no value is set.

C:\inetpub\adminscripts>adsutil get w3svc/UploadReadAheadSize

You should get back a response

The parameter "UploadReadAheadSize" is not set at this node.

To modify this parameter, run the following command

C:\inetpub\adminscripts>adsutil set w3svc/UploadReadAheadSize "<Size in bytes>"

For example, if you want to change this value to 20mb, you would put in "20000000" as the size.

The response should be

UploadReadAheadSize               : (INTEGER) 20000000

Once you make this change, it should be effective immediately.