IIS7 – post #59 – IIS 7.0 WebDAV module impressions

I don’t usually do too many reviews in my blog.  But, there is a cool module that Microsoft released that supports WebDAV in IIS 7.0.   I’ve never implemented WebDAV, I was curious how this differed from FrontPage (yeah ok!), FTP etc.  Microsoft has a great publishing story, or options at this point to securely publish content.  I was impressed how easily it was to get up and going.  There was a bit of a learning curve, but not too bad.


Here are a few highlights I’ve ran across in my testing.


1) When you try to use net use * http://IPAddress  inside Windows XP or 2003, you get an System 67 error.  If you use the “Add Network Place” feature inside ‘My Network Places’.  You can use WebDAV to copy content. You need to make sure you install the Desktop Experience feature on the Server.  Using net use * http://IPAddressOrDomainName works from an Vista box.


2) There is a great how-to article provided by MS.  Here is the link.
http://go.microsoft.com/fwlink/?LinkId=105146


3) Here is the posting on forums.iis.net that another user was working along side and passed on some good info.
http://forums.iis.net/t/1147386.aspx

4) There is a WebDAV schema file located in %windir%system32inetsrvconfigschemawebdav_schema.xml


5) Inside the applicationHost.config, there is a section inside ‘requestFiltering’ that appears to block copying certain files and folders using WebDAV. I’ve not tried to comment these out and see if that was the issue, but this is what I found.


<requestFiltering>
                <fileExtensions allowUnlisted=”true” applyToWebDAV=”true”>
                    <add fileExtension=”.asa” allowed=”false” />
                    <add fileExtension=”.asax” allowed=”false” />
                    <add fileExtension=”.ascx” allowed=”false” />
                    <add fileExtension=”.master” allowed=”false” />
                    <add fileExtension=”.skin” allowed=”false” />
                    <add fileExtension=”.browser” allowed=”false” />
                    <add fileExtension=”.sitemap” allowed=”false” />
                    <add fileExtension=”.config” allowed=”false” />
                    <add fileExtension=”.cs” allowed=”false” />
                    <add fileExtension=”.csproj” allowed=”false” />
                    <add fileExtension=”.vb” allowed=”false” />
                    <add fileExtension=”.vbproj” allowed=”false” />
                    <add fileExtension=”.webinfo” allowed=”false” />
                    <add fileExtension=”.licx” allowed=”false” />
                    <add fileExtension=”.resx” allowed=”false” />
                    <add fileExtension=”.resources” allowed=”false” />
                    <add fileExtension=”.mdb” allowed=”false” />
                    <add fileExtension=”.vjsproj” allowed=”false” />
                    <add fileExtension=”.java” allowed=”false” />
                    <add fileExtension=”.jsl” allowed=”false” />
                    <add fileExtension=”.ldb” allowed=”false” />
                    <add fileExtension=”.dsdgm” allowed=”false” />
                    <add fileExtension=”.ssdgm” allowed=”false” />
                    <add fileExtension=”.lsad” allowed=”false” />
                    <add fileExtension=”.ssmap” allowed=”false” />
                    <add fileExtension=”.cd” allowed=”false” />
                    <add fileExtension=”.dsprototype” allowed=”false” />
                    <add fileExtension=”.lsaprototype” allowed=”false” />
                    <add fileExtension=”.sdm” allowed=”false” />
                    <add fileExtension=”.sdmDocument” allowed=”false” />
                    <add fileExtension=”.mdf” allowed=”false” />
                    <add fileExtension=”.ldf” allowed=”false” />
                    <add fileExtension=”.ad” allowed=”false” />
                    <add fileExtension=”.dd” allowed=”false” />
                    <add fileExtension=”.ldd” allowed=”false” />
                    <add fileExtension=”.sd” allowed=”false” />
                    <add fileExtension=”.adprototype” allowed=”false” />
                    <add fileExtension=”.lddprototype” allowed=”false” />
                    <add fileExtension=”.exclude” allowed=”false” />
                    <add fileExtension=”.refresh” allowed=”false” />
                    <add fileExtension=”.compiled” allowed=”false” />
                    <add fileExtension=”.msgx” allowed=”false” />
                    <add fileExtension=”.vsdisco” allowed=”false” />
                </fileExtensions>
                <verbs allowUnlisted=”true” applyToWebDAV=”true” />
                <hiddenSegments applyToWebDAV=”true”>
                    <add segment=”web.config” />
                    <add segment=”bin” />
                    <add segment=”App_code” />
                    <add segment=”App_GlobalResources” />
                    <add segment=”App_LocalResources” />
                    <add segment=”App_WebReferences” />
                    <add segment=”App_Data” />
                    <add segment=”App_Browsers” />
                </hiddenSegments>
            </requestFiltering>


In conclusion, the WebDAV module is worth checking out, here is an article by Robert McMurray. 
http://blogs.iis.net/robert_mcmurray/archive/2007/12/22/webdav-module-for-windows-server-2008-golive-beta-is-released.aspx


Cheers,


Steve Schofield
Microsoft MVP – IIS

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: