<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://forums.iis.net/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/" xmlns:cs="http://blogs.iis.net/"><channel><title>Configuration &amp; Scripting</title><link>http://forums.iis.net/1034.aspx</link><description>Use this forum to get assistance with understanding, editing, or using the IIS metabase including automating with ADSI or WMI</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Re: Get list of all sites using ASP.NET running on IIS6</title><link>http://forums.iis.net/thread/1857381.aspx</link><pubDate>Tue, 09 Oct 2007 21:05:16 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1857381</guid><dc:creator>mvolo</dc:creator><slash:comments>0</slash:comments><comments>http://forums.iis.net/thread/1857381.aspx</comments><wfw:commentRss>http://forums.iis.net/commentrss.aspx?SectionID=1034&amp;PostID=1857381</wfw:commentRss><description>&lt;p&gt;Tom,&lt;br /&gt;&lt;br /&gt;Each site node under W3SVC will be in the form of a siteid, like &amp;quot;IIS://localhost/W3SVC/1&amp;quot;.&amp;nbsp; Also, each of the site nodes will have the KeyType = IIsWebServer.&lt;/p&gt;
&lt;p&gt;You do not need to do this recursively, since all site nodes&amp;nbsp;are directly under the W3SVC node.&amp;nbsp; Also, there are other nodes under there that are not site nodes, that will not be numeric AND will not have KeyType = IIsWebServer, so you can eliminate those.&lt;/p&gt;
&lt;p&gt;If you want to enumerate applications under each site, then you need to get recursive for each of the site nodes, and look for the &amp;quot;AppIsolated&amp;quot; property having the value of &amp;quot;2&amp;quot; for each node that is marked as an application.&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Mike&lt;/p&gt;</description></item><item><title>Get list of all sites using ASP.NET running on IIS6</title><link>http://forums.iis.net/thread/1857363.aspx</link><pubDate>Tue, 09 Oct 2007 17:03:12 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1857363</guid><dc:creator>tjrobinson.net</dc:creator><slash:comments>0</slash:comments><comments>http://forums.iis.net/thread/1857363.aspx</comments><wfw:commentRss>http://forums.iis.net/commentrss.aspx?SectionID=1034&amp;PostID=1857363</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;&lt;p&gt;I&amp;#39;m trying to get a list of all sites running on our development server. After looking at a few examples online, I&amp;#39;ve come up with this:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Data;&lt;br /&gt;using System.Configuration;&lt;br /&gt;using System.Collections;&lt;br /&gt;using System.Web;&lt;br /&gt;using System.Web.Security;&lt;br /&gt;using System.Web.UI;&lt;br /&gt;using System.Web.UI.WebControls;&lt;br /&gt;using System.Web.UI.WebControls.WebParts;&lt;br /&gt;using System.Web.UI.HtmlControls;&lt;br /&gt;using System.DirectoryServices;&lt;br /&gt;&lt;br /&gt;public partial class _Default : System.Web.UI.Page&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected void Page_Load(object sender, EventArgs e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DirectoryEntry W3SVC = new DirectoryEntry(&amp;quot;IIS://localhost/W3SVC&amp;quot;);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RecursiveDump(W3SVC.Children);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void RecursiveDump(DirectoryEntries site)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (DirectoryEntry s in site)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(s.Path + &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int notUsed;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (Int32.TryParse(s.Name, out notUsed))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(s.Properties[&amp;quot;ServerComment&amp;quot;].Value + &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (s.Children != null)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RecursiveDump(s.Children);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;This gives the output:&lt;/p&gt;&lt;p&gt;IIS://localhost/W3SVC/1&lt;br /&gt;Default Web Site&lt;br /&gt;IIS://localhost/W3SVC/1/Filters&lt;br /&gt;IIS://localhost/W3SVC/1/IIsCertMapper&lt;br /&gt;IIS://localhost/W3SVC/1/ROOT&lt;br /&gt;IIS://localhost/W3SVC/1/ROOT/aspnet_client&lt;br /&gt;IIS://localhost/W3SVC/AppPools&lt;br /&gt;IIS://localhost/W3SVC/Filters&lt;br /&gt;IIS://localhost/W3SVC/Filters/ASP.NET_2.0.50727.0&lt;br /&gt;IIS://localhost/W3SVC/Filters/Compression&lt;br /&gt;IIS://localhost/W3SVC/Filters/Compression/deflate&lt;br /&gt;IIS://localhost/W3SVC/Filters/Compression/gzip&lt;br /&gt;IIS://localhost/W3SVC/Filters/Compression/Parameters&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;...which is interesting but not really what I&amp;#39;m after. It&amp;#39;s listed one of the sites, Default Web Site, but not any others. There are two more sites (not virtual directories) on the server.&lt;/p&gt;&lt;p&gt;Thanks,&lt;br /&gt;&lt;br /&gt;Tom&lt;br /&gt;&amp;nbsp;&lt;/p&gt;</description></item></channel></rss>