<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Blog du Tristank : IIS</title><link>http://blogs.technet.com/tristank/archive/tags/IIS/default.aspx</link><description>Tags: IIS</description><dc:language>en-AU</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>IIS WebDAV Security Advisory</title><link>http://blogs.technet.com/tristank/archive/2009/05/19/iis-webdav-security-advisory.aspx</link><pubDate>Tue, 19 May 2009 09:49:20 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3243071</guid><dc:creator>tristank</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/tristank/comments/3243071.aspx</comments><wfw:commentRss>http://blogs.technet.com/tristank/commentrss.aspx?PostID=3243071</wfw:commentRss><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;Today, an IIS 5.0 to 6.0 security advisory was released:&lt;/p&gt;  &lt;h3&gt;Vulnerability in Internet Information Services Could Allow Elevation of Privilege&lt;/h3&gt;  &lt;p&gt;&lt;a title="http://www.microsoft.com/technet/security/advisory/971492.mspx" href="http://www.microsoft.com/technet/security/advisory/971492.mspx"&gt;http://www.microsoft.com/technet/security/advisory/971492.mspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If you’re using WebDAV on any version prior to 7.0 (where it was completely rewritten, and released as an add-on module after ), you’ll want to read the advisory, and take appropriate action.&lt;/p&gt;  &lt;p&gt;Mitigating factors are listed in the advisory.&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3243071" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/tristank/archive/tags/IT+Pro+_2F00_+Sysadmin/default.aspx">IT Pro / Sysadmin</category><category domain="http://blogs.technet.com/tristank/archive/tags/Networking/default.aspx">Networking</category><category domain="http://blogs.technet.com/tristank/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.technet.com/tristank/archive/tags/IIS/default.aspx">IIS</category></item><item><title>Don’t Use Office Applications (or GDI+, or System.Drawing, or WinInet) in a Server Application (or ASP.Net)</title><link>http://blogs.technet.com/tristank/archive/2008/11/06/don-t-use-office-applications-or-gdi-or-system-drawing-or-wininet-in-a-server-application-or-asp-net.aspx</link><pubDate>Thu, 06 Nov 2008 10:03:22 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3148329</guid><dc:creator>tristank</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/tristank/comments/3148329.aspx</comments><wfw:commentRss>http://blogs.technet.com/tristank/commentrss.aspx?PostID=3148329</wfw:commentRss><description>&lt;p&gt;Johan posted a timely reminder of a long-standing perennial support call generator in his post &lt;a title="Office Automation" href="http://blogs.msdn.com/johan/archive/2008/10/14/office-automation.aspx"&gt;Office Automation&lt;/a&gt; .&lt;/p&gt;  &lt;p&gt;Adding one more option to the list of possible workarounds – direct XML-based production/manipulation of an &lt;a href="http://msdn.microsoft.com/en-us/library/aa338205.aspx#office2007aboutnewfileformat_developingsolutionsusingtheoffice"&gt;OOXML&lt;/a&gt; (or ODF, for that matter) document (Word, Excel, Powerpoint?) might get you where you need to go. &lt;/p&gt;  &lt;p&gt;Now, to get the laundry list out of the way, here’s a quick top-of-the-head list of other technologies best kept away from your shiny new ASP.Net application:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Outlook automation on the server isn’t a good idea at all, which is why CDO (or these days, DAV for Exchange Server) is preferred.&lt;/li&gt;    &lt;li&gt;The Word/Excel/Powerpoint/Outlook programmable Object Models typically drive the application itself rather than manipulating data files directly, so should be avoided too.&lt;/li&gt;    &lt;li&gt;Tom posted a while back on &lt;a href="http://blogs.msdn.com/tom/archive/2008/03/19/gdi-gdiplus-and-asp-net.aspx"&gt;the perils of System.Drawing/GDI+&lt;/a&gt; in ASP.Net applications. The same goes for WPF, last I heard.&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;We do use System.Drawing as a demo of in some of our IIS 7 demos (most recently seen in the &lt;a href="http://channel9.msdn.com/pdc2008/ES14/"&gt;PDC IIS 7 demo&lt;/a&gt; that included watermarking using System.Drawing), and elsewhere – it’s an effective demo, but the caveats are as documented.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa385331.aspx"&gt;WinInet&lt;/a&gt; (the core HTTP engine used by Internet Explorer) is another old, old case of the same designed-for-client paradigm (which led to the creation of WinHTTP (and in .Net land, HttpWebRequest etc)).&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I’m not saying any of the above don’t &lt;em&gt;typically&lt;/em&gt; work - most of the time, whatever you’re doing might work fine (I personally wrote a bunch of charting and drawing controls years ago in ASP.Net before discovering this), but &lt;em&gt;when it doesn’t, our options are limited in how we’re able to help.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3148329" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/tristank/archive/tags/Developery/default.aspx">Developery</category><category domain="http://blogs.technet.com/tristank/archive/tags/IIS/default.aspx">IIS</category></item><item><title>Site Optimization Tips with VRTA</title><link>http://blogs.technet.com/tristank/archive/2008/11/03/site-optimization-tips-with-vsrta.aspx</link><pubDate>Mon, 03 Nov 2008 07:47:01 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3146204</guid><dc:creator>tristank</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/tristank/comments/3146204.aspx</comments><wfw:commentRss>http://blogs.technet.com/tristank/commentrss.aspx?PostID=3146204</wfw:commentRss><description>&lt;p&gt;New and shiny on MSDN: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-au/magazine/dd188562.aspx"&gt;12 Steps To Faster Web Pages With Visual Round Trip Analyzer&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3146204" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/tristank/archive/tags/IIS/default.aspx">IIS</category></item><item><title>.HDMP and .MDMP files</title><link>http://blogs.technet.com/tristank/archive/2008/09/23/hdmp-and-mdmp-files.aspx</link><pubDate>Tue, 23 Sep 2008 11:12:27 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3127079</guid><dc:creator>tristank</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/tristank/comments/3127079.aspx</comments><wfw:commentRss>http://blogs.technet.com/tristank/commentrss.aspx?PostID=3127079</wfw:commentRss><description>&lt;p&gt;Just a quickie – the rule is blog what you know, but I figure my speculation might be good enough here.&lt;/p&gt;  &lt;p&gt;A friend gave me an HDMP file and asked what I could make of it. After the usual “I could make a hat! Or a brooch! Or a dinosaur!” type stuff, I realized it wouldn’t open anyway.&lt;/p&gt;  &lt;p&gt;In my experience, most .HDMPs come with matching .MDMP files. I think of these as Minidumps (in the “real” mini sense – just information about threads and thread stacks), and Heap dumps (everything else the process knew or cared about in User mode).&lt;/p&gt;  &lt;p&gt;This HDMP wasn’t openable in the debugger directly, but if its corresponding MDMP was present in the same folder at the same time, I reckon it woulda.&lt;/p&gt;  &lt;p&gt;The feared WER-wolf produces these files in pairs (that’s Windows Error Reporting, kids, don’t be too scared, except that it invalidates everything we used to know about AEDebug registry keys and similar, but that’s another story for another time), and that’s how I’ve analyzed them in the past. I remember hearing of some sort of merge operation that needed to happen between M and H dumps, but I’m reasonably certain I haven’t bothered with that (I assume I’m lazy by default), so I think the debugger just does it for ya.&lt;/p&gt;  &lt;p&gt;Now I’ve written that, I’m going to go look for references to support my assertions!&lt;/p&gt;  &lt;p&gt;949180&amp;#160;&amp;#160;&amp;#160; How to create a user-mode process dump file in Windows Server 2008   &lt;br /&gt;&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;949180"&gt;http://support.microsoft.com/default.aspx?scid=kb;EN-US;949180&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;(At the bottom – mini and heap dumps - yay me!). Think that’s enough for today. Hugs!&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3127079" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/tristank/archive/tags/Developery/default.aspx">Developery</category><category domain="http://blogs.technet.com/tristank/archive/tags/IT+Pro+_2F00_+Sysadmin/default.aspx">IT Pro / Sysadmin</category><category domain="http://blogs.technet.com/tristank/archive/tags/Windows+Vista/default.aspx">Windows Vista</category><category domain="http://blogs.technet.com/tristank/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.technet.com/tristank/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/tristank/archive/tags/Troubleshooting/default.aspx">Troubleshooting</category></item><item><title>What does it mean when there's no "broken page" icon in IE8?</title><link>http://blogs.technet.com/tristank/archive/2008/09/10/what-does-it-mean-when-there-s-no-broken-page-icon-in-ie8.aspx</link><pubDate>Wed, 10 Sep 2008 10:59:09 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3121840</guid><dc:creator>tristank</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/tristank/comments/3121840.aspx</comments><wfw:commentRss>http://blogs.technet.com/tristank/commentrss.aspx?PostID=3121840</wfw:commentRss><description>&lt;p&gt;I was just catching up on some of my RSS feeds, and noticed that one of the &lt;a href="http://www.drive.com.au/Editorial/ArticleDetail.aspx?ArticleID=56871&amp;amp;vf=26"&gt;pages&lt;/a&gt; I was at didn't have a broken page icon, but wasn't working quite right (some broken javascript in the photos area, I'm guessing... I'll investigate that next).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/tristank/WindowsLiveWriter/Whatdoesitmeanwhentheresnobrokenpageicon_FC62/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://blogs.technet.com/blogfiles/tristank/WindowsLiveWriter/Whatdoesitmeanwhentheresnobrokenpageicon_FC62/image_thumb.png" width="244" height="96" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I wondered what that meant, so fired up &lt;a href="http://www.fiddler2.com/"&gt;Fiddler2&lt;/a&gt; to have a look.&lt;/p&gt;  &lt;p&gt;The Headers collection didn't include the &lt;a href="http://msdn.microsoft.com/en-us/library/cc288325%28VS.85%29.aspx#Servers"&gt;compatibility header&lt;/a&gt; (X-UA-Compatible: IE=EmulateIE7 or similar):&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;HTTP/1.1 200 OK     &lt;br /&gt;Proxy-Connection: Keep-Alive      &lt;br /&gt;Connection: Keep-Alive      &lt;br /&gt;Content-Length: 77144      &lt;br /&gt;Via: 1.1 MYPROXY      &lt;br /&gt;Date: Wed, 10 Sep 2008 07:42:24 GMT      &lt;br /&gt;Content-Type: text/html; charset=utf-8      &lt;br /&gt;Server: Microsoft-IIS/6.0      &lt;br /&gt;X-AspNet-Version: 2.0.50727      &lt;br /&gt;Cache-Control: private&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;But the META tag was present (&lt;a href="http://msdn.microsoft.com/en-us/library/cc288325%28VS.85%29.aspx#SetMode"&gt;link&lt;/a&gt;):&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;lt;!doctype html public &amp;quot;-//w3c//dtd xhtml 1.0 transitional//en&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;quot;http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd&amp;quot;&amp;gt;      &lt;br /&gt;&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;en&amp;quot; lang=&amp;quot;en&amp;quot;&amp;gt;      &lt;br /&gt;&amp;#160; &amp;lt;head&amp;gt;&amp;lt;&lt;strong&gt;&lt;font color="#ff0000"&gt;meta http-equiv=&amp;quot;X-UA-Compatible&amp;quot; content=&amp;quot;IE=7&amp;quot;&lt;/font&gt;&lt;/strong&gt; /&amp;gt;&amp;lt;title&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Spied: New Mazda3&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;So: the page is being told to render in IE7 Standards Mode (forced, as opposed to IE=EmulateIE7, which would behave as IE7 did). This makes the toggle compatibility mode button moot, because the site has chosen their mode explicitly.&lt;/p&gt;  &lt;p&gt;Wonder if that's the problem... Time to investigate with the developer toolbar, I think...&lt;/p&gt;  &lt;p&gt;(Update: nup, document mode didn't fix it - Script Debugging needed to be un-disabled in IE, and then the debugger showed me it was happening in motiongallery.js. I've lost interest now :) )&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3121840" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/tristank/archive/tags/Extra+Bits+Of+A+Personal+Nature/default.aspx">Extra Bits Of A Personal Nature</category><category domain="http://blogs.technet.com/tristank/archive/tags/Networking/default.aspx">Networking</category><category domain="http://blogs.technet.com/tristank/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.technet.com/tristank/archive/tags/Troubleshooting/default.aspx">Troubleshooting</category></item><item><title>Generic Troubleshooting: "Is it still a problem?"</title><link>http://blogs.technet.com/tristank/archive/2008/04/28/generic-troubleshooting-is-it-still-a-problem.aspx</link><pubDate>Mon, 28 Apr 2008 09:38:05 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3046172</guid><dc:creator>tristank</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.technet.com/tristank/comments/3046172.aspx</comments><wfw:commentRss>http://blogs.technet.com/tristank/commentrss.aspx?PostID=3046172</wfw:commentRss><description>&lt;p&gt;I've been doing this support thing for a while now.&lt;/p&gt;  &lt;p&gt;Frequently, the basics are what get overlooked when troubleshooting an issue, particularly an issue that seems complex on the surface.&lt;/p&gt;  &lt;p&gt;Often, though, you'll find that the detailed techniques lead you back to a fairly basic set of rules, the most basic of which is:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Everything's either a file issue, or a settings issue, or just how the software works (by bug or by design).&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;If something seems unlikely to be a file (corrupted or incorrect file) or settings issue, it could easily be a bug (that is, given the same conditions, you'll be able to reach the same outcome). But if you think you might have hit a bug, what's the most efficient way of addressing it?&lt;/p&gt;  &lt;p&gt;Obviously, &lt;em&gt;to find someone else has addressed it already!&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;So, the &lt;strong&gt;Temporal rule of Troubleshooting&lt;/strong&gt;: &lt;strong&gt;try it with the most recent version available&lt;/strong&gt;. &lt;/p&gt;  &lt;p&gt;(this doesn't necessarily mean &amp;quot;try Word 2007 if 2003 doesn't work&amp;quot;, I mean &amp;quot;within the same major version&amp;quot;).&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Today, for example, I was looking at a memory dump (which you usually tend to do at the pointy end of a troubleshooting process, and I'm not going to show working or why these two are relevant), and found these *cough* classics:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;0:000&amp;gt; lmvm&lt;strong&gt;urlmon&lt;/strong&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Loaded symbol image file: urlmon.dll      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Image path: C:\WINNT\system32\urlmon.dll      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Image name: urlmon.dll      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Timestamp:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#ff0000"&gt;Wed Aug 04 17:56:37 2004&lt;/font&gt; (411096B5)      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; File version:&amp;#160;&amp;#160;&amp;#160;&amp;#160; 6.0.2900.2180      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Product version:&amp;#160; 6.0.2900.2180      &lt;br /&gt;...      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; CompanyName:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Microsoft Corporation      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; ProductName:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Microsoft&amp;#174; Windows&amp;#174; Operating System      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; InternalName:&amp;#160;&amp;#160;&amp;#160;&amp;#160; UrlMon.dll      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; OriginalFilename: UrlMon.dll      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; ProductVersion:&amp;#160;&amp;#160; 6.00.2900.2180      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; FileVersion:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 6.00.2900.2180 (xpsp_sp2_rtm.040803-2158)      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; FileDescription:&amp;#160; OLE32 Extensions for Win32      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; LegalCopyright:&amp;#160;&amp;#160; &amp;#169; Microsoft Corporation. All rights reserved.&lt;/p&gt;    &lt;p&gt;     &lt;br /&gt;0:000&amp;gt; lmvm&lt;strong&gt;msxml3&lt;/strong&gt;      &lt;br /&gt;start&amp;#160;&amp;#160;&amp;#160; end&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; module name      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Loaded symbol image file: msxml3.dll      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Image path: C:\WINNT\system32\msxml3.dll      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Image name: msxml3.dll      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Timestamp:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#ff0000"&gt;Wed Aug 04 17:59:24 2004&lt;/font&gt; (4110975C)      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; CheckSum:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 00138815      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; ImageSize:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 00130000      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; File version:&amp;#160;&amp;#160;&amp;#160;&amp;#160; 8.50.2162.0      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Product version:&amp;#160; 8.50.2162.0      &lt;br /&gt;...      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; CompanyName:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Microsoft Corporation      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; ProductName:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Microsoft(R) MSXML 3.0 SP 5      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; InternalName:&amp;#160;&amp;#160;&amp;#160;&amp;#160; MSXML3.dll      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; OriginalFilename: MSXML3.dll      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; ProductVersion:&amp;#160;&amp;#160; 8.50.2162.0      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; FileVersion:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 8.50.2162.0      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; FileDescription:&amp;#160; MSXML 3.0 SP 5      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; LegalCopyright:&amp;#160;&amp;#160; Copyright (C) Microsoft Corporation. 1981-2003&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;What does that tell me? Well, lots! Like: this particular machine isn't up to date on IE and XML security patches. Internet Explorer security patches are cumulative, so installing one tends to refresh the majority of the browser software (side bonus: this can also resolve file-level issues, like a corrupted or incorrect DLL).&lt;/p&gt;  &lt;p&gt;From that, you can infer that it's probably not up to date on a bunch of stuff. We make it pretty easy to apply security updates these days, and if the security patches aren't up to date, chances are there are non-security patches missing too, and so on.&lt;/p&gt;  &lt;p&gt;So: My standard response to any binary implicated in a reproducible problem is to &lt;strong&gt;look for and then apply the latest version available&lt;/strong&gt; (from memory, urlmon was updated this month, and msxml3 sometime since mid-2007).&lt;/p&gt;  &lt;p&gt;Once we've applied the latest updates, we'll know whether we actually have more work to do, or whether we're just covering old ground. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;So, short version: Try the latest version first.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;See the big potential time saving there?&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3046172" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/tristank/archive/tags/Developery/default.aspx">Developery</category><category domain="http://blogs.technet.com/tristank/archive/tags/IT+Pro+_2F00_+Sysadmin/default.aspx">IT Pro / Sysadmin</category><category domain="http://blogs.technet.com/tristank/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.technet.com/tristank/archive/tags/Troubleshooting/default.aspx">Troubleshooting</category></item><item><title>The Cat's Out Of The Bag: ISA Server will become ForeFront TMG</title><link>http://blogs.technet.com/tristank/archive/2008/04/09/the-cat-s-out-of-the-bag-isa-server-will-become-forefront-tmg.aspx</link><pubDate>Wed, 09 Apr 2008 09:21:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3032887</guid><dc:creator>tristank</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/tristank/comments/3032887.aspx</comments><wfw:commentRss>http://blogs.technet.com/tristank/commentrss.aspx?PostID=3032887</wfw:commentRss><description>&lt;p&gt;So, we all know that &lt;a href="http://support.microsoft.com/kb/948680/en-us"&gt;ISA 2006 doesn't work on Windows Server 2008&lt;/a&gt;. Massive architectural changes to the IP stack, blah blah, etc, etc.&lt;/p&gt;  &lt;p&gt;People (uh, yeah, just &amp;quot;people&amp;quot;) have been asking about what's to become of ISA Server for a while:&lt;/p&gt;  &lt;p&gt;&amp;quot;There's no ISA 2008 announced!&amp;quot; they'd scream.&lt;/p&gt;  &lt;p&gt;&amp;quot;This surely means the end of one of the best product lines Microsoft has produced!&amp;quot; might have also been heard (in a somewhat muffled way).&lt;/p&gt;  &lt;p&gt;&amp;quot;Won't Tristan be out of a job?&amp;quot; one person wailed, unconvincingly.&lt;/p&gt;  &lt;p&gt;Well, that's right - the plan at this point is that there is &lt;strong&gt;no ISA Server 2008&lt;/strong&gt;. &lt;/p&gt;  &lt;p&gt;(pause for effect, teeth-gnashing, gasping, horror to subside)&lt;/p&gt;  &lt;p&gt;As of the &lt;strong&gt;next version&lt;/strong&gt;, &lt;strong&gt;Internet Security and Acceleration Server&lt;/strong&gt; is &lt;strong&gt;ForeFront Threat Management Gateway&lt;/strong&gt;!&lt;/p&gt;  &lt;p&gt;(Now you're going to tell me that ISA was a perfectly good name and not at all unwieldy...)&lt;/p&gt;  &lt;p&gt;See our well-formed &lt;a href="http://www.microsoft.com/presspass/press/2008/apr08/04-08ForefrontBetaPR.mspx"&gt;Press Release&lt;/a&gt; for details!&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Microsoft also today announced the name of its next-generation network edge security product, Forefront Threat Management Gateway. Forefront Threat Management Gateway is the future version of Microsoft ISA Server and will extend the capabilities of ISA Server 2006 with new features and security technologies, designed to help provide multiple-threat protection, simplified management and secure connectivity, and will be built on Windows Server 2008. More details about Forefront Threat Management Gateway will be available later this year.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Excellent! So, key takeaway: we are working on a successor. The product isn't going away!&lt;/p&gt;  &lt;p&gt;There's an early beta &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=65bd5f8a-d94c-457a-9f88-2046597130e1&amp;amp;displaylang=en"&gt;available from here&lt;/a&gt;, though it's downloading at a slow trickle for me right now (got excitement?).&lt;/p&gt;  &lt;p&gt;So, go forth and, you know, &lt;em&gt;Manage Threats&lt;/em&gt;! In the &lt;em&gt;future&lt;/em&gt;!&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3032887" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/tristank/archive/tags/IT+Pro+_2F00_+Sysadmin/default.aspx">IT Pro / Sysadmin</category><category domain="http://blogs.technet.com/tristank/archive/tags/ISA+Server/default.aspx">ISA Server</category><category domain="http://blogs.technet.com/tristank/archive/tags/Networking/default.aspx">Networking</category><category domain="http://blogs.technet.com/tristank/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.technet.com/tristank/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.technet.com/tristank/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category></item><item><title>Post-SP2 TCP Offload Fix</title><link>http://blogs.technet.com/tristank/archive/2008/03/17/post-sp2-tcp-offload-fix.aspx</link><pubDate>Mon, 17 Mar 2008 06:31:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3007931</guid><dc:creator>tristank</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.technet.com/tristank/comments/3007931.aspx</comments><wfw:commentRss>http://blogs.technet.com/tristank/commentrss.aspx?PostID=3007931</wfw:commentRss><description>&lt;p&gt;I've &lt;a href="http://blogs.technet.com/tristank/archive/2007/07/23/netmon-vs-chimney.aspx"&gt;mentioned Chimney before&lt;/a&gt;. Now, a new &lt;a href="http://support.microsoft.com/kb/948496"&gt;Windows Update fix for TCP Offload, which turns it off&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;It was on by default in Windows Server 2003 SP2, so if your NIC supported Offload, or RSS, or that other thing I can never remember, it was enabled.&lt;/p&gt;  &lt;p&gt;But: we (PSS we) typically &lt;em&gt;turn it off&lt;/em&gt; as a first troubleshooting step for &lt;em&gt;any&lt;/em&gt; network-related issue - &lt;/p&gt;  &lt;p&gt;a) because we know from experience that several drivers seem to do &lt;a href="http://support.microsoft.com/kb/945977/en-us"&gt;interesting things&lt;/a&gt; with it installed (that's a nice way of saying &lt;em&gt;update your drivers&lt;/em&gt;), &lt;/p&gt;  &lt;p&gt;b) because several of &lt;a href="http://support.microsoft.com/kb/947775/en-us"&gt;our&lt;/a&gt; drivers do interesting things with it (if you're going to choose to use it, check for recent-model tcpip.sys hotfixes), and &lt;/p&gt;  &lt;p&gt;c) because we want to be able to &lt;a href="http://blogs.technet.com/tristank/archive/2007/07/23/netmon-vs-chimney.aspx"&gt;see TCP traffic in a network capture for troubleshooting purposes&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Off-unless-opted-in brings parity with Windows Server 2008.&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3007931" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/tristank/archive/tags/IT+Pro+_2F00_+Sysadmin/default.aspx">IT Pro / Sysadmin</category><category domain="http://blogs.technet.com/tristank/archive/tags/Networking/default.aspx">Networking</category><category domain="http://blogs.technet.com/tristank/archive/tags/IIS/default.aspx">IIS</category></item><item><title>IIS7 Modules Aplenty - WebDAV, Bitrate Throttling</title><link>http://blogs.technet.com/tristank/archive/2008/03/15/iis7-modules-aplenty-webdav-bitrate-throttling.aspx</link><pubDate>Sat, 15 Mar 2008 14:51:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3002477</guid><dc:creator>tristank</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.technet.com/tristank/comments/3002477.aspx</comments><wfw:commentRss>http://blogs.technet.com/tristank/commentrss.aspx?PostID=3002477</wfw:commentRss><description>&lt;P&gt;New modules, supported by Microsoft, are now officially RTMd (RTWd?) and available for use with IIS 7.0. &lt;/P&gt;
&lt;H3&gt;WebDAV&lt;/H3&gt;
&lt;P&gt;Yay new WebDAV! Yay being able to enable it on specific parts of a site! Yay better!&lt;/P&gt;
&lt;P&gt;Robert: &lt;A title=http://blogs.msdn.com/robert_mcmurray/archive/2008/03/12/webdav-extension-for-windows-server-2008-rtm-is-released.aspx href="http://blogs.msdn.com/robert_mcmurray/archive/2008/03/12/webdav-extension-for-windows-server-2008-rtm-is-released.aspx" mce_href="http://blogs.msdn.com/robert_mcmurray/archive/2008/03/12/webdav-extension-for-windows-server-2008-rtm-is-released.aspx"&gt;http://blogs.msdn.com/robert_mcmurray/archive/2008/03/12/webdav-extension-for-windows-server-2008-rtm-is-released.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Downloads&lt;/STRONG&gt;:&lt;/P&gt;
&lt;P&gt;•&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft WebDAV Extension for IIS 7.0 (x86)&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A href="http://www.iis.net/go/1621/" mce_href="http://www.iis.net/go/1621/"&gt;http://www.iis.net/go/1621/&lt;/A&gt; &lt;BR&gt;•&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft WebDAV Extension for IIS 7.0 (x64)&lt;A href="http://www.iis.net/go/1618/" mce_href="http://www.iis.net/go/1618/"&gt;http://www.iis.net/go/1618/&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;STRONG&gt;Media Bitrate Throttling&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;Yay something about bandwidth for media files!&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Vishal:&lt;/STRONG&gt; &lt;A href="http://blogs.iis.net/vsood/archive/2008/03/15/bit-rate-throttling-is-now-released.aspx" mce_href="http://blogs.iis.net/vsood/archive/2008/03/15/bit-rate-throttling-is-now-released.aspx"&gt;http://blogs.iis.net/vsood/archive/2008/03/15/bit-rate-throttling-is-now-released.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Downloadies:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;· 32 bit – &lt;A href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1640" mce_href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1640"&gt;http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1640&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;· 64 bit – &lt;A href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1641" mce_href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1641"&gt;http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1641&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;STRONG&gt;Intro&lt;/STRONG&gt;:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;The Internet Information Services 7.0 (IIS 7.0) Media Pack – Bit Rate Throttling module provides the ability to &lt;STRONG&gt;throttle progressive downloads of media files&lt;/STRONG&gt; (in which audio/video playback starts as soon as sufficient data has been buffered on the client) based on the &lt;STRONG&gt;content bit rate&lt;/STRONG&gt;. For sites that deliver audio and video files that may not be watched in their entirety, this module&lt;/EM&gt; &lt;EM&gt;&lt;STRONG&gt;could significantly reduce your media-related bandwidth costs&lt;/STRONG&gt;. A secondary feature of the Bit Rate Throttling Module is that it &lt;STRONG&gt;can also be used to throttle non-media ("Data") file types at specified bit rates&lt;/STRONG&gt;.&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;H3&gt;&lt;STRONG&gt;Don't Forget The New FTP Server While You're At It&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;I already mentioned this, but I'll list it here as a one-stop convenience (aww, aren't I nice?)&lt;/P&gt;
&lt;P&gt;Replaces FTP6 (that shipped in the box) with FTP7: FTP with SSL, virtual hostname support, extensibility, right-click-and-add-FTP-to-a-website publishing integration... loads of cool stuff.&lt;/P&gt;
&lt;LI&gt;&lt;A href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;i=1619&amp;amp;g=6" mce_href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;i=1619&amp;amp;g=6"&gt;Microsoft FTP Publishing Service for IIS 7.0 (x86)&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;i=1620&amp;amp;g=6" mce_href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;i=1620&amp;amp;g=6"&gt;Microsoft FTP Publishing Service for IIS 7.0 (x64)&lt;/A&gt; &lt;/LI&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3002477" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/tristank/archive/tags/Developery/default.aspx">Developery</category><category domain="http://blogs.technet.com/tristank/archive/tags/IT+Pro+_2F00_+Sysadmin/default.aspx">IT Pro / Sysadmin</category><category domain="http://blogs.technet.com/tristank/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.technet.com/tristank/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.technet.com/tristank/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category></item><item><title>"Stacking" NTLM Authentication</title><link>http://blogs.technet.com/tristank/archive/2008/03/11/stacking-ntlm-authentication.aspx</link><pubDate>Tue, 11 Mar 2008 09:30:49 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2986762</guid><dc:creator>tristank</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/tristank/comments/2986762.aspx</comments><wfw:commentRss>http://blogs.technet.com/tristank/commentrss.aspx?PostID=2986762</wfw:commentRss><description>&lt;p&gt;This question came up today (well, actually, it was about four weeks ago I started typing this, but bear with me), and it's been a little while since I've rambled about authentication protocols, so let's enjoy a nice, calm discussion on a &lt;strike&gt;Monday&lt;/strike&gt; Tuesday arvo.&lt;/p&gt;  &lt;p&gt;The request was something like:    &lt;br /&gt;&lt;strong&gt;In a Web Publishing scenario, can I do NTLM at the ISA Server and NTLM at the Exchange server too?&lt;/strong&gt;&lt;/p&gt;  &lt;h3&gt;No&lt;/h3&gt;  &lt;p&gt;And the answer is - well, &lt;strong&gt;no&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;There's no way for the client browser to distinguish between the ISA Server (first) saying 401 WWW-Authenticate: NTLM , and then the IIS Server saying 401 WWW-Authenticate: NTLM.&lt;/p&gt;  &lt;p&gt;Because it appears to be a repeated authentication sequence &lt;em&gt;when the connection is already authenticated&lt;/em&gt; from IE's perspective (and IE doesn't think it's talking to a different server), IE assumes there's been an auth failure (why else would the server challenge again?).&lt;/p&gt;  &lt;p&gt;So, lots of authentication prompts are going to happen. &lt;strong&gt;The solution (as described) is not workable&lt;/strong&gt;.&lt;/p&gt;  &lt;h3&gt;But&lt;/h3&gt;  &lt;p&gt;With ISA 2006 and its &lt;a href="http://www.microsoft.com/technet/isa/2006/authentication.mspx"&gt;amazingly-useful-how-did-we-ever-live-without-them Authentication features&lt;/a&gt;:&lt;/p&gt;  &lt;p&gt;What you could do is Integrated Windows Authentication at the Exchange server (i.e. allow Kerberos), and use protocol transition at the ISA Server, from whatever form of authentication you can accept from a client to Kerberos Credential Delegation (or even another protocol, depending on the auth method used by the listener).&lt;/p&gt;  &lt;h3&gt;So&lt;/h3&gt;  &lt;p&gt;The question itself was a &amp;quot;no&amp;quot;, but &lt;em&gt;the question almost always isn't actually the question&lt;/em&gt;. That one's for free.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Special note: I worked really hard on the headings for this post. I hope it was appreciated.&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2986762" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/tristank/archive/tags/IT+Pro+_2F00_+Sysadmin/default.aspx">IT Pro / Sysadmin</category><category domain="http://blogs.technet.com/tristank/archive/tags/ISA+Server/default.aspx">ISA Server</category><category domain="http://blogs.technet.com/tristank/archive/tags/Networking/default.aspx">Networking</category><category domain="http://blogs.technet.com/tristank/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.technet.com/tristank/archive/tags/IIS/default.aspx">IIS</category></item><item><title>MaxUserPort - what it is, what it does, when it's important</title><link>http://blogs.technet.com/tristank/archive/2008/03/11/maxuserport-what-it-is-what-it-does-when-it-s-important.aspx</link><pubDate>Tue, 11 Mar 2008 09:17:57 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2986729</guid><dc:creator>tristank</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/tristank/comments/2986729.aspx</comments><wfw:commentRss>http://blogs.technet.com/tristank/commentrss.aspx?PostID=2986729</wfw:commentRss><description>&lt;p&gt;What can we say about &lt;strong&gt;MaxUserPort&lt;/strong&gt; that hasn't already been said? Not a lot, it would seem. He's a beautiful dancer, perhaps? Ahh, such gentle humour, and nary a kitten drowned anywhere.&lt;/p&gt;  &lt;p&gt;But TCP port shenanigans are fairly frequently misunderstood, so let's talk about the very basics of MaxUserPort.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;NB: This is all pre-Vista behaviour - applicable from NT4 through to Windows Server 2003, including all the little NT-flavoured stops on the way.&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h3&gt;MaxUserPort controls &amp;quot;outbound&amp;quot; TCP connections&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://technet2.microsoft.com/windowsserver/en/library/730fb465-d402-4853-bacc-16ba78e9fcc01033.mspx?mfr=true"&gt;MaxUserPort&lt;/a&gt; is used to limit the number of dynamic ports available to TCP/IP applications.&lt;/p&gt;  &lt;p&gt;It's &lt;em&gt;never&lt;/em&gt; going to be an issue affecting inbound connections. &lt;em&gt;MaxUserPort is not the right answer if you think you have an inbound connection problem.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;(I don't know &lt;em&gt;why&lt;/em&gt;, I just know it &lt;em&gt;is&lt;/em&gt;. Probably something to do with constraining resource use on 16MB machines, or something.)&lt;/p&gt;  &lt;p&gt;To further simplify: it's typically going to limit the number of &lt;strong&gt;outbound&lt;/strong&gt; sockets that can be created. Note: that's really a big fat generalization, but it's one that works in 99% of cases.&lt;/p&gt;  &lt;p&gt;If an application asks for the next available &lt;em&gt;socket&lt;/em&gt; (a socket is a combination of an IP address and a port number), it'll come from the &lt;em&gt;ephemeral&lt;/em&gt; port range allowed by MaxUserPort. Typically, these &amp;quot;next available&amp;quot; sockets are used for outbound connections.&lt;/p&gt;  &lt;p&gt;The default range for MaxUserPort is from 1024-5000, but the &lt;em&gt;possible&lt;/em&gt; range is up to 65534.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;When You Fiddle MaxUserPort&lt;/h3&gt;  &lt;p&gt;So, why would you change MaxUserPort?&lt;/p&gt;  &lt;p&gt;In the web server context (equally applicable to other application servers), you'd usually need to look at MaxUserPort when:&lt;/p&gt;  &lt;p&gt; - your &lt;strong&gt;server process&lt;/strong&gt; is &lt;strong&gt;communicating with some type of other system&lt;/strong&gt; (like a back-end database, or any TCP-based application server - quite often http web servers)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;And:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt; - you are &lt;strong&gt;not using socket pooling&lt;/strong&gt;, and/or&lt;/p&gt;  &lt;p&gt; - your &lt;strong&gt;request model&lt;/strong&gt; is something like &lt;strong&gt;one request = one outbound TCP connection&lt;/strong&gt; (or more!)&lt;/p&gt;  &lt;p&gt;In this type of scenario, you can run out of ephemeral ports (between 1024 and MaxUserPort) very quickly, and the &lt;strong&gt;problem will scale with the load applied to the system&lt;/strong&gt;, particularly if a socket is acquired and abandoned with every request. &lt;/p&gt;  &lt;p&gt;When a socket is abandoned, it'll take two minutes to fall back into the pool.&lt;/p&gt;  &lt;p&gt;Discussions about how the design could scale better if it reused sockets rather than pooling tend to be unwelcome when the users are screaming that the app is slow, or hung, or whatever, so at this point, you'd have established that new request threads are hung waiting on an available socket, and just turn up MaxUserPort to 65534.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;What Next? TcpTimedWaitDelay, natch&lt;/h3&gt;  &lt;p&gt;Once &lt;strong&gt;MaxUserPort&lt;/strong&gt; is at 65534, it's still possible for the &lt;strong&gt;rate of port use&lt;/strong&gt; to &lt;strong&gt;exceed&lt;/strong&gt; the rate at which they're being returned to the pool! You've bought yourself some headroom, though.&lt;/p&gt;  &lt;p&gt;So &lt;strong&gt;how do you return connections to the pool faster&lt;/strong&gt;?&lt;/p&gt;  &lt;p&gt;Glad you asked: you start tweaking &lt;a href="http://technet2.microsoft.com/windowsserver/en/library/730fb465-d402-4853-bacc-16ba78e9fcc01033.mspx?mfr=true"&gt;TcpTimedWaitDelay&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;By default, a connection can't be reused for 2 times the Maximum Segment Lifetime (MSL), which works out to 4 minutes, or &lt;em&gt;so the docs claim&lt;/em&gt;, but according to The Lore O' The Group here, we reckon it's actually &lt;strong&gt;just the TcpTimedWaitDelay&lt;/strong&gt; value, no doubling of anything.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;TcpTimedWaitDelay&lt;/strong&gt; lets you set a value for the Time_Wait timeout manually.&lt;/p&gt;  &lt;p&gt;As a quick aside: the value you specify has to take retransmissions into account - a client could still be transferring data from a server when a &lt;strong&gt;FIN&lt;/strong&gt; is sent by the server, and the client then gets &lt;strong&gt;TcpTimedWaitDelay&lt;/strong&gt; seconds to get all the bits it wants. This could be sucky in, for example, a flaky dial-up networking scenario, or, say, New Zealand, if the client needs to retransmit a whole lot... and it's sloooow. (and this is a global option, as far as I remember).&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;30 seconds&lt;/strong&gt; is a nice, round number that either quarters or eighths (depending on who you ask -&lt;em&gt; we&lt;/em&gt; say quarter for now) the time before a socket is reusable (without the programmer doing anything special (say, SO_REUSEADDR)).&lt;/p&gt;  &lt;p&gt;If you've had to do this, at this point, you should be &lt;a href="http://www.codinghorror.com/blog/archives/000966.html"&gt;thinking seriously about the architecture&lt;/a&gt; - &lt;strong&gt;will this scale to whatever load requirements you have&lt;/strong&gt;?&lt;/p&gt;  &lt;p&gt;The maths is straightforward: &lt;/p&gt;  &lt;p&gt;If each &lt;strong&gt;connection&lt;/strong&gt; is &lt;strong&gt;reusable&lt;/strong&gt; after a &lt;strong&gt;minimum of N&lt;/strong&gt; (TcpTimedWaitDelay) seconds     &lt;br /&gt;and you are &lt;strong&gt;creating more than X&lt;/strong&gt; (MaxUserPort) connections &lt;strong&gt;in an N second period...&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Your app is going to spend time &amp;quot;waiting&amp;quot; on socket availability...&lt;/p&gt;  &lt;p&gt;Which is what techy types call &amp;quot;blocking&amp;quot; or &amp;quot;hanging&amp;quot;. Nice*!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Fun* KB Articles:     &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://support.microsoft.com/kb/319502/" href="http://support.microsoft.com/kb/319502/"&gt;http://support.microsoft.com/kb/319502/&lt;/a&gt;    &lt;br /&gt;&lt;a title="http://support.microsoft.com/kb/328476" href="http://support.microsoft.com/kb/328476"&gt;http://support.microsoft.com/kb/328476&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2986729" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/tristank/archive/tags/Developery/default.aspx">Developery</category><category domain="http://blogs.technet.com/tristank/archive/tags/IT+Pro+_2F00_+Sysadmin/default.aspx">IT Pro / Sysadmin</category><category domain="http://blogs.technet.com/tristank/archive/tags/ISA+Server/default.aspx">ISA Server</category><category domain="http://blogs.technet.com/tristank/archive/tags/Networking/default.aspx">Networking</category><category domain="http://blogs.technet.com/tristank/archive/tags/IIS/default.aspx">IIS</category></item><item><title>What's in IIS 7.0 for me?</title><link>http://blogs.technet.com/tristank/archive/2008/02/29/what-s-in-iis-7-0-for-me.aspx</link><pubDate>Fri, 29 Feb 2008 06:16:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2941833</guid><dc:creator>tristank</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/tristank/comments/2941833.aspx</comments><wfw:commentRss>http://blogs.technet.com/tristank/commentrss.aspx?PostID=2941833</wfw:commentRss><description>&lt;p&gt;While having a seemingly-innocuous chat with a colleague, I was asked to &amp;quot;throw together a few points&amp;quot; on what IIS 7.0 would do for a web application I've worked with in the past. Serves me right for &lt;em&gt;talking to people&lt;/em&gt;, really.&lt;/p&gt;  &lt;p&gt;In this application's case, authoring, publishing and content creation weren't as important as eventual scale-out and actual application performance (otherwise the just-released &lt;a href="http://blogs.iis.net/robert_mcmurray/archive/2008/02/27/ftp7-for-windows-server-2008-rtm-is-released.aspx"&gt;FTP7&lt;/a&gt; would have been top of the list).&lt;/p&gt;  &lt;p&gt;Here's what I came up with, off the cuff:    &lt;br /&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://learn.iis.net/page.aspx/108/core-web-server-overview/"&gt;Reduced attack surface&lt;/a&gt;/patching requirements: IIS7 is now modular, and only the parts of the server actually needed by the application are required to be installed. This can also enable performance increases due to reduced memory footprint.       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;Vastly (imho) improved &lt;a href="http://learn.iis.net/page.aspx/206/dynamic-compression/"&gt;compression capabilities&lt;/a&gt; and compression performance (with automatic compression back-off when CPU use is high! How cool is that!?)       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;Simplified &lt;a href="http://learn.iis.net/page.aspx/211/shared-configuration/"&gt;web farm management&lt;/a&gt; - if the application is able to work reliably in a web farm scenario, the IIS configuration store can be centralized and shared across all machines in the farm. (also see MSDeploy)       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://learn.iis.net/page.aspx/127/deep-dive-into-iis-7-configuration/"&gt;XCOPYable configuration&lt;/a&gt; - easily ensure settings are consistent between dev, qa and prod environments.       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://learn.iis.net/page.aspx/266/troubleshooting-failed-requests-using-tracing-in-iis7/"&gt;Failed Request Tracing&lt;/a&gt; (aka FREB) - if failures occur, request traces can be captured that include detailed diagnostic information.       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=fb8b981f-227c-4af6-a44b-b115696a80ac&amp;amp;DisplayLang=en"&gt;Windows Server 2008 security&lt;/a&gt;, performance and scalability improvements - the most secure Windows yet (I expect); support for the latest hardware and 64-bit computing; and optimized TCP/IP performance.       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://learn.iis.net/page.aspx/144/how-to-setup-ssl-on-iis-7/"&gt;SSL&lt;/a&gt; performance greatly increased - &lt;a href="http://msdn2.microsoft.com/en-us/library/aa364671.aspx"&gt;Kernel-mode SSL&lt;/a&gt; (not the best link for admin types) reduces context switching and ring transitions, and improves performance       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/msdnmag/issues/07/03/IIS7/#S3"&gt;Better UI!&lt;/a&gt; After a short time working out how the new model worked, I'm sold. &lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2941833" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/tristank/archive/tags/Developery/default.aspx">Developery</category><category domain="http://blogs.technet.com/tristank/archive/tags/IT+Pro+_2F00_+Sysadmin/default.aspx">IT Pro / Sysadmin</category><category domain="http://blogs.technet.com/tristank/archive/tags/Windows+Vista/default.aspx">Windows Vista</category><category domain="http://blogs.technet.com/tristank/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.technet.com/tristank/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category></item><item><title>SetSPN improvements in Windows Server 2008! W00t!</title><link>http://blogs.technet.com/tristank/archive/2007/12/21/kerberos-and-setspn-improvements-in-iis-7-0-under-windows-server-2008.aspx</link><pubDate>Fri, 21 Dec 2007 10:21:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2659321</guid><dc:creator>tristank</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/tristank/comments/2659321.aspx</comments><wfw:commentRss>http://blogs.technet.com/tristank/commentrss.aspx?PostID=2659321</wfw:commentRss><description>&lt;p&gt;All this stuff is based on a prerelease (RC1) version of Windows Server 2008 and may change before final release. Cheques may not be honoured.&lt;/p&gt;  &lt;p&gt;I had a &lt;em&gt;happy moment&lt;/em&gt; one night in India when the trainer for our IIS 7.0 TTT course discussed some of the Kerberos-related improvements in IIS7. &lt;/p&gt;  &lt;p&gt;... SetSPN got revamped.&lt;/p&gt;  &lt;p&gt;We all know (or knew, before my wiki collapsed) that &lt;a href="http://blogs.technet.com/tristank/archive/2006/05/08/spns-r-fn.aspx" mce_href="http://blogs.technet.com/tristank/archive/2006/05/08/spns-r-fn.aspx"&gt;duplicate Kerberos SPNs are bad&lt;/a&gt;. (The Wiki is still down, by the way, sorry).&lt;/p&gt;  &lt;p&gt;We know that it's been a little bit iffy configuring said SPNs and that the chance of getting it wrong was quite high - there was no control that prevented the registration of the same SPN twice, against different accounts.&lt;/p&gt;  &lt;p&gt;Worse: SetSPN was focused on the account (security principal) only - if you thought you had a duplicate, you needed to use a customized LDIFDE command to track it down based on the SPN, as SetSPN wouldn't search by SPN, only by account.&lt;/p&gt;  &lt;p&gt;Buuut: Some &lt;em&gt;wonderful&lt;/em&gt; SDE that should really be on my Christmas card list decided that SetSPN could become an all-singing all-dancing SPN troubleshooting tool!&lt;/p&gt;  &lt;p&gt;Yes folks, SetSPN now has SANITY CHECK (-S) switches and FIND THE PROBLEM (-X) switches! HOW COOL IS THAT!?&lt;/p&gt;  &lt;p&gt;In order to not break backwards compatibility (I infer; I didn't actually participate in the conversation or decision making process), these are implemented as new switches, not old ones: Existing scripts that rely on creating duplicates (and then presumably resolving that situation shortly afterwards) won't (er, shouldn't) suddenly break.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;C:\Users\Administrator&amp;gt;setspn     &lt;br /&gt;Usage: setspn [modifiers switches data] computername      &lt;br /&gt;Where 'computername' can be the name or domain\name &lt;/p&gt;    &lt;p&gt;Modifiers:     &lt;br /&gt;&lt;strong&gt;-F = perform the duplicate checking on forestwide level&lt;/strong&gt;      &lt;br /&gt;-P = do not show progress (useful for redirecting output to file) &lt;/p&gt;    &lt;p&gt;Switches:     &lt;br /&gt;-R = reset HOST ServicePrincipalName      &lt;br /&gt;Usage:&amp;#160;&amp;#160; setspn -R computername      &lt;br /&gt;-A = add arbitrary SPN      &lt;br /&gt;Usage:&amp;#160;&amp;#160; setspn -A SPN computername      &lt;br /&gt;&lt;strong&gt;-S = add arbitrary SPN &lt;font color="#ff0000"&gt;after verifying no duplicates exist&lt;/font&gt;&lt;/strong&gt;      &lt;br /&gt;Usage:&amp;#160;&amp;#160; setspn -S SPN computername      &lt;br /&gt;-D = delete arbitrary SPN      &lt;br /&gt;Usage:&amp;#160;&amp;#160; setspn -D SPN computername      &lt;br /&gt;-L = list registered SPNs      &lt;br /&gt;Usage:&amp;#160;&amp;#160; setspn [-L] computername      &lt;br /&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;-Q = query for existence of SPN&lt;/font&gt;&lt;/strong&gt;      &lt;br /&gt;Usage:&amp;#160;&amp;#160; setspn -Q SPN      &lt;br /&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;-X = search for duplicate SPNs&lt;/strong&gt;        &lt;br /&gt;&lt;/font&gt;Usage:&amp;#160;&amp;#160; setspn -X &lt;/p&gt;    &lt;p&gt;Examples:     &lt;br /&gt;setspn -R daserver1      &lt;br /&gt;It will register SPN 'HOST/daserver1' and 'HOST/{DNS of daserver1}'      &lt;br /&gt;setspn -A http/daserver daserver1      &lt;br /&gt;It will register SPN 'http/daserver' for computer 'daserver1'      &lt;br /&gt;setspn -D http/daserver daserver1      &lt;br /&gt;It will delete SPN 'http/daserver' for computer 'daserver1'      &lt;br /&gt;&lt;strong&gt;setspn -F -S http/daserver daserver1       &lt;br /&gt;It will register SPN 'http/daserver' for computer 'daserver1' if no such SPN exists in the forest &lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;So, any instructions out there that currently use the positively archaic SETSPN -A can now be updated to use the shiny new SETSPN -S.&lt;/p&gt;  &lt;p&gt;Again, I ask you: How cool is that!?&lt;/p&gt;  &lt;p&gt;I should add that I haven't actually tried this yet, just gurgled at the wonderful new options and imagined their effect. If it throws a &amp;quot;NotYetImplementedException&amp;quot;, please forgive my enthusiasm :)&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2659321" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/tristank/archive/tags/Developery/default.aspx">Developery</category><category domain="http://blogs.technet.com/tristank/archive/tags/IT+Pro+_2F00_+Sysadmin/default.aspx">IT Pro / Sysadmin</category><category domain="http://blogs.technet.com/tristank/archive/tags/ISA+Server/default.aspx">ISA Server</category><category domain="http://blogs.technet.com/tristank/archive/tags/Networking/default.aspx">Networking</category><category domain="http://blogs.technet.com/tristank/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.technet.com/tristank/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.technet.com/tristank/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category></item><item><title>401.3, you say? Not 403?</title><link>http://blogs.technet.com/tristank/archive/2007/10/22/401-3-you-say-not-403.aspx</link><pubDate>Mon, 22 Oct 2007 12:35:12 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2227198</guid><dc:creator>tristank</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/tristank/comments/2227198.aspx</comments><wfw:commentRss>http://blogs.technet.com/tristank/commentrss.aspx?PostID=2227198</wfw:commentRss><description>&lt;p&gt;You're running an IIS 6.0 website, and you have a virtual directory configured for anonymous authentication only (that is, you've &lt;strong&gt;un&lt;/strong&gt;ticked Integrated Windows Authentication).&lt;/p&gt; &lt;p&gt;Using a web browser, you try to access a file in that virtual directory. &lt;a href="http://example.com/vdir/something.txt"&gt;http://example.com/vdir/something.txt&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;What's a web browser?&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Know what&amp;nbsp;IE is, Leon?&lt;/p&gt; &lt;p&gt;&lt;em&gt;Yeah.&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Same thing.&lt;/p&gt; &lt;p&gt;&lt;em&gt;I've never seen an IE. But I know what you mean.&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Anyway, the something.txt file is ACLd such that the anonymous user account (IUSR_MACHINENAME)&amp;nbsp;doesn't have any NTFS permissions to it. IIS impersonates the anonymous user for any anonymous request, and if it's knocked back, it 401s the client with a WWW-Authenticate header describing the types of authentication supported.&lt;/p&gt; &lt;p&gt;Now IIS needs to ask for &lt;strong&gt;some kind of credential&lt;/strong&gt;, but the only authentication method ticked is &lt;strong&gt;Anonymous&lt;/strong&gt;. So IIS &lt;strong&gt;can't ask for credentials&lt;/strong&gt;. It &lt;strong&gt;can't 401 with a WWW-Authenticate header&lt;/strong&gt; because it's got &lt;strong&gt;nothing to put in it&lt;/strong&gt;.&amp;nbsp;It won't send a &lt;strong&gt;403&lt;/strong&gt; because it hasn't yet made a good-faith attempt to impersonate a user other than Anonymous. &lt;/p&gt; &lt;p&gt;But you haven't configured it to ask for credentials. You could tick Integrated Windows and make the pain go away. Or you could allow the Internet Guest Account (at least) Read access to the file.&amp;nbsp;But you're not doing that, Leon.&lt;/p&gt; &lt;p&gt;Why is that, Leon?&lt;/p&gt; &lt;p&gt;&lt;em&gt;Do you make these questions up yourself, or do you have them written down for you?&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Actually, people come to me with questions all the time, and I sometimes write them down.&amp;nbsp;&lt;/p&gt; &lt;p&gt;Like this one: tell me only the good things that come to your&amp;nbsp;mind, about... Personal Web Server&amp;nbsp;on Windows 95.&lt;/p&gt; &lt;p&gt;&lt;em&gt;Personal Web Server? Let me tell you about Personal Web Server...&lt;/em&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2227198" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/tristank/archive/tags/Developery/default.aspx">Developery</category><category domain="http://blogs.technet.com/tristank/archive/tags/IT+Pro+_2F00_+Sysadmin/default.aspx">IT Pro / Sysadmin</category><category domain="http://blogs.technet.com/tristank/archive/tags/Networking/default.aspx">Networking</category><category domain="http://blogs.technet.com/tristank/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.technet.com/tristank/archive/tags/IIS/default.aspx">IIS</category></item><item><title>Tip o' the Week: WEVTUTIL for EVTX/EVT file conversion</title><link>http://blogs.technet.com/tristank/archive/2007/10/05/tip-o-the-week-wevtutil-for-evtx-evt-file-conversion.aspx</link><pubDate>Fri, 05 Oct 2007 09:19:19 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2111502</guid><dc:creator>tristank</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.technet.com/tristank/comments/2111502.aspx</comments><wfw:commentRss>http://blogs.technet.com/tristank/commentrss.aspx?PostID=2111502</wfw:commentRss><description>&lt;p&gt;This week, a pointer to a solution to a problem I occasionally hit.&lt;/p&gt; &lt;p&gt;Windows Vista (and by extension Windows Server 2008, I assume) utilizes a new EVTX log format for event log exports. It's XML-based, natch.&lt;/p&gt; &lt;p&gt;Problem:&amp;nbsp;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&amp;amp;displaylang=en"&gt;Everyone's Favourite Log Digestion Tool&amp;nbsp;Log Parser&lt;/a&gt; uses system APIs to read event log exports, and the old .EVT event log format isn't "native" any more. Long story short, it chokes on them.&lt;/p&gt; &lt;p&gt;This, to put it mildly, was annoying, as most customers haven't moved to Windows Server 2008 yet (I mean, it's only five months from release - is there ever a better time?) and so supply event logs in the old format when asked.&lt;/p&gt; &lt;p&gt;Anyway - you can convert the old-school event logs into shiny new event logs&amp;nbsp;through the user interface (just double-click the EVT, wait for it&amp;nbsp;to open and display&amp;nbsp;in chronological order;&amp;nbsp;then do a Save As, pick a location and filename and answer an obscure question about language formatting; then find and open the newly-resaved log file),&amp;nbsp;but bluntly, the GUI process leaves a bit to be desired if you have the slightest inkling towards type-A behaviour, and all I really want is something that'll work in Log Parser, really.&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.technet.com/neilcar/archive/2007/08/15/plogparser-event-logs-and-vista.aspx"&gt;WEVTUTIL (and NeilCar)&lt;/a&gt; to the rescue. It's included out of the box, and&amp;nbsp;it'll convert those&amp;nbsp;dusty&amp;nbsp;old&amp;nbsp;event logs from the command line, with nary a GUI&amp;nbsp;or common dialog in sight, ready for consumption by Logparser, or any other EVTX-friendly file muncher.&lt;/p&gt; &lt;p&gt;Neil's example (for the click-inhibited): &lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;font face="Consolas"&gt;wevtutil epl application.evt application.evtx /lf:true&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Bewdiful.&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2111502" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/tristank/archive/tags/Developery/default.aspx">Developery</category><category domain="http://blogs.technet.com/tristank/archive/tags/IT+Pro+_2F00_+Sysadmin/default.aspx">IT Pro / Sysadmin</category><category domain="http://blogs.technet.com/tristank/archive/tags/ISA+Server/default.aspx">ISA Server</category><category domain="http://blogs.technet.com/tristank/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.technet.com/tristank/archive/tags/Windows+Vista/default.aspx">Windows Vista</category><category domain="http://blogs.technet.com/tristank/archive/tags/IIS/default.aspx">IIS</category></item></channel></rss>