<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.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>How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx</link><description>Sample tool in VBScript to manipulate (insert/replace/remove) individual LIST items.</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#323826</link><pubDate>Fri, 17 Dec 2004 23:52:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:323826</guid><dc:creator>Rick Stivers</dc:creator><description>I guess I could then run this from within vb.net using System.Diagnostics.Process.Start to open a cmd prompt and pass in the arguments. I set custom errors based on the web site being created, and it was a pain editing the metabase.xml file. I'll let you know how it goes. Thanks for the very nice script! </description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#425798</link><pubDate>Mon, 06 Jun 2005 22:46:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:425798</guid><dc:creator>turinreza@gmail.com</dc:creator><description>this is not working for me&lt;br&gt;adding a Wildcard Application map on&lt;br&gt;II 6.0 on Windows 2003..&lt;br&gt;&lt;br&gt;It just adds a blank space under the &lt;br&gt;regular application mappings..&lt;br&gt;&lt;br&gt;Using adsutil.vbs does add it correctly&lt;br&gt;but it deletes (under the wildcard application maps) but delets all the other mappings&lt;br&gt;in the application section..</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#428988</link><pubDate>Tue, 14 Jun 2005 20:43:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:428988</guid><dc:creator>David.Wang</dc:creator><description>Can you give the exact command that you used.&lt;br&gt;&lt;br&gt;It worked fine for me to insert an ISAPI wildcard application mapping at any point that I wanted.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>HOWTO: Enumerate IIS website configuration (VBScript using ADSI)</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#438706</link><pubDate>Thu, 14 Jul 2005 09:48:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:438706</guid><dc:creator>David Wang</dc:creator><description>A powerful but often under-utilized and misunderstood feature of IIS is its programmatic configuration...</description></item><item><title>HOWTO: Enumerate IIS website configuration (VBScript using ADSI)</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#438707</link><pubDate>Thu, 14 Jul 2005 09:53:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:438707</guid><dc:creator>David Wang</dc:creator><description>A powerful but often under-utilized and misunderstood feature of IIS is its programmatic configuration...</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#483257</link><pubDate>Fri, 21 Oct 2005 03:28:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:483257</guid><dc:creator>Mark A. Richman</dc:creator><description>Thanks David! I used this code to hunt down a bug of my own today :) </description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#493106</link><pubDate>Wed, 16 Nov 2005 00:31:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:493106</guid><dc:creator>mattgo</dc:creator><description>Thanks for the script - tweaking just one of the list elements has been tripping me up for weeks! Too bad your script relies on local execution on the server... I've got 200+ to wire up - guess I've got a little work to do now :)</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#493142</link><pubDate>Wed, 16 Nov 2005 01:49:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:493142</guid><dc:creator>David Wang</dc:creator><description>There is a variable at the top of the script, strServer, which can be easily adjusted to any other server name or parameterized from the commandline.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#493813</link><pubDate>Thu, 17 Nov 2005 12:25:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:493813</guid><dc:creator>Tim</dc:creator><description>I am wanting to add a hostheader to a particular site (ie: subdomain.domain.com on port 80).  How is this done through this script?</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#494245</link><pubDate>Fri, 18 Nov 2005 05:29:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:494245</guid><dc:creator>David Wang</dc:creator><description>Tim - Assuming the site ID is 1...&lt;br&gt;&lt;br&gt;&amp;lt;tool name.vbs&amp;gt; W3SVC/1/ServerBindings : &amp;quot;:80:subdomain.domain.com&amp;quot; /INSERT&lt;br&gt;&lt;br&gt;Which basically means:&lt;br&gt;1. Inside of the LIST element named W3SVC/1/ServerBindings&lt;br&gt;2. Search for a LIST element with &amp;quot;:&amp;quot; in it&lt;br&gt;3. /INSERT ahead of that element another element whose value is &amp;quot;:80:subdomain.domain.com&amp;quot;&lt;br&gt;&lt;br&gt;In other words, that's exactly the mechanics of &amp;quot;adding a hostheader&amp;quot; element to a particular site's ServerBinding.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#494457</link><pubDate>Fri, 18 Nov 2005 18:42:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:494457</guid><dc:creator>Shaun</dc:creator><description>How come when I change a custom error page (401,1) to a URL&lt;br&gt;&lt;br&gt;&amp;lt;tool name.vbs&amp;gt; W3SVC/3/HttpErrors 401,1 401,1,URL,/errors/401-1.html&lt;br&gt;&lt;br&gt;It works great but when I go into IIS and change the same error page to the default or another file and re-run the VBS script to change another error page it still reports that 401,1 is set to /errors/401-1.html and not to what I changed it to in IIS?&lt;br&gt;&lt;br&gt;Is there a cache problem maybe?</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#494458</link><pubDate>Fri, 18 Nov 2005 18:42:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:494458</guid><dc:creator>Shaun</dc:creator><description>How come when I change a custom error page (401,1) to a URL&lt;br&gt;&lt;br&gt;&amp;lt;tool name.vbs&amp;gt; W3SVC/3/HttpErrors 401,1 401,1,URL,/errors/401-1.html&lt;br&gt;&lt;br&gt;It works great but when I go into IIS and change the same error page to the default or another file and re-run the VBS script to change another error page it still reports that 401,1 is set to /errors/401-1.html and not to what I changed it to in IIS?&lt;br&gt;&lt;br&gt;Is there a cache problem maybe?</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#494604</link><pubDate>Fri, 18 Nov 2005 23:22:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:494604</guid><dc:creator>David Wang</dc:creator><description>Shaun - You need to give /COMMIT on the commandline to have it actually change configuration (by default it just shows you what it is going to do - so that you can verify the right search/replace happens *before* you do something).&lt;br&gt;&lt;br&gt;So, if you use the above syntax, no matter what you changed the error page to in IIS, the tool will display /errors/401-1.html because that's what it is *going* to change it to.&lt;br&gt;&lt;br&gt;If you want to list what is in the property, either use ADSUTIL.VBS to retrieve the property directly, or use the tool's /INSERT syntax to insert an entry, which then gives you an idea what the original list looks like with the new entry inserted - but that's not a LISTing of what actually exists.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#513295</link><pubDate>Mon, 16 Jan 2006 17:02:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:513295</guid><dc:creator>Sandeep</dc:creator><description>I am trying to remove a particular entry from scriptmaps of a website. It is a wildcard entry. But it is removing all entries from the scriptmap.&lt;br&gt;&lt;br&gt;How can I make this happen. The command I am using is: &lt;br&gt;&lt;br&gt;cscript &amp;lt;sample code&amp;gt;.vbs w3svc/3/root/scriptmap &amp;quot;*, E:\CFusionMX\runtime\lib\wsconfig\1\jrun_iis6_wildcard.dll,3&amp;quot; &amp;quot;&amp;quot; /remove /commit</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#521678</link><pubDate>Wed, 01 Feb 2006 10:42:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:521678</guid><dc:creator>David.Wang</dc:creator><description>Sandeep - hmm, weird. The &amp;quot;*&amp;quot; seems to be tricking VBScript somehow, but I'm not certain why.&lt;br/&gt;&lt;br/&gt;Since that parameter is an inclusive match, you can simply work around the behavior by not specifying &amp;quot;*,&amp;quot; because the rest will simply match and the right entry gets removed.&lt;br/&gt;&lt;br/&gt;I'll debug and figure out what is going on with &amp;quot;*&amp;quot; and post the update here...&lt;br/&gt;&lt;br/&gt;//David</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#537843</link><pubDate>Thu, 23 Feb 2006 17:29:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:537843</guid><dc:creator>Lenny</dc:creator><description>Well I like the script as it saved me a lot of effort. I worked out the mime map thing and it followed the same principal of getting the existing array and redim presever with an increment on the current count.&lt;br&gt;&lt;br&gt;Only thing is that even from the command prompt it tells me that&lt;br&gt;&lt;br&gt;c:\ADSIArrayListTool W3SVC/Root/RacketShop/HttpErrors 404 404,2,FILEc:\WINDOWS\iisHelp\common\404lw.htm /COMMIT&lt;br&gt;&lt;br&gt;has been successfull but Metabase Explorer and IIS Manager show that no change has occured. I'll peservere though as I'm close...&lt;br&gt;&lt;br&gt;Lenny</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#537937</link><pubDate>Thu, 23 Feb 2006 19:49:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:537937</guid><dc:creator>Lenny</dc:creator><description>Note for the posting above -&lt;br&gt;&lt;br&gt;although I typed it wrong here the syntax does actually include the /n or /1 for the website path and there is a comma between FILE and the path.&lt;br&gt;&lt;br&gt;I have edit while running enabled in the metabase and the script does add a value to the custom errors list. Although the old one still is there and the new one shows up in metabase explorer but not on the custom errors tab for the Racket shop vdir.&lt;br&gt;&lt;br&gt;Interesting, I'll try removing an entry before adding one etc and see how it goes...</description></item><item><title>HOWTO: Troubleshoot HTTP Error 999</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#543509</link><pubDate>Sat, 04 Mar 2006 11:14:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:543509</guid><dc:creator>David Wang</dc:creator><description>Question:&lt;br&gt;What is a 999 error and how can I troubleshoot it? It's not an error code that IIS will allow...</description></item><item><title>How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration </title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#543823</link><pubDate>Sun, 05 Mar 2006 05:36:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:543823</guid><dc:creator>dudu</dc:creator><description>TrackBack From:&lt;a rel="nofollow" target="_new" href="http://dudu.cnblogs.com/archive/2006/03/05/343135.html"&gt;http://dudu.cnblogs.com/archive/2006/03/05/343135.html&lt;/a&gt;</description></item><item><title>How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration </title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#543824</link><pubDate>Sun, 05 Mar 2006 05:36:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:543824</guid><dc:creator>dudu</dc:creator><description>TrackBack From:&lt;a rel="nofollow" target="_new" href="http://dudu.cnblogs.com/archive/2006/03/05/343135.html"&gt;http://dudu.cnblogs.com/archive/2006/03/05/343135.html&lt;/a&gt;</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#556915</link><pubDate>Tue, 21 Mar 2006 22:36:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:556915</guid><dc:creator>Mortgage Loan</dc:creator><description>Your site is very informational for me. Nice work.</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#565813</link><pubDate>Fri, 31 Mar 2006 15:15:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:565813</guid><dc:creator>ale5000</dc:creator><description>Nice work but&lt;br&gt;- &amp;quot;/remove&amp;quot; There are two equal elements but it remove only one.&lt;br&gt;- &amp;quot;/insert&amp;quot; It shouldn't add a new element if it is already present.</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#565837</link><pubDate>Fri, 31 Mar 2006 15:41:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:565837</guid><dc:creator>David.Wang</dc:creator><description>ale5000 - &lt;br&gt;1. As documented in help:&lt;br&gt; &amp;nbsp; &amp;nbsp;/ALL &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Operate on ALL matching &amp;lt;ExistValue&amp;gt;. Default is first match.&lt;br&gt;&lt;br&gt;So, &amp;nbsp;/remove /all &amp;nbsp;will remove all matching elements. Default is first match&lt;br&gt;&lt;br&gt;2. LIST data type does not have uniqueness constraint in IIS, so I am not introducing it. For example, it is ok to configure multiple identical *-scriptmaps.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#581152</link><pubDate>Sat, 22 Apr 2006 06:32:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:581152</guid><dc:creator>loralynne</dc:creator><description>Hi,&lt;br&gt;&lt;br&gt;Iʻm trying to add an application extension, but the path to the dll Iʻm adding has spaces in it so it needs quotes around the path. &amp;nbsp;I canʻt seem to get the quotes in there using this script. &amp;nbsp;Can someone help me out with this please?&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;loralynne</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#581254</link><pubDate>Sat, 22 Apr 2006 13:54:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:581254</guid><dc:creator>David.Wang</dc:creator><description>loralynne - There is already a tool to manipulate Application Extensions. iisext.vbs &lt;BR&gt;&lt;BR&gt;&lt;A HREF="/david.wang/archive/2005/04/20/IIS6_CGI_Web_Service_Extension.aspx" target=_new rel=nofollow&gt;http://blogs.msdn.com/david.wang/archive/2005/04/20/IIS6_CGI_Web_Service_Extension.aspx&lt;/A&gt; &lt;BR&gt;&lt;BR&gt;It is actually impossible to pass double-quotes into a script hosted by Windows Scripting Host (like VBScript or JScript), so what you are asking for is not possible by default. I explain why in the referenced blog entry. &lt;BR&gt;&lt;BR&gt;Now, one can always come up with a custom-encoding for double-quotes to work around this issue, but that was not in my sample. I just added a syntax for it - double-backquote = double-quote&lt;BR&gt;&lt;BR&gt;//David</description></item><item><title>David Wang : How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#581256</link><pubDate>Sat, 22 Apr 2006 14:00:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:581256</guid><dc:creator>David Wang : How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</dc:creator><description>PingBack from &lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx"&gt;http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx&lt;/a&gt;</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#581391</link><pubDate>Sat, 22 Apr 2006 23:24:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:581391</guid><dc:creator>loralynne</dc:creator><description>Thanks, David! &amp;nbsp;Works great.&lt;br&gt;&lt;br&gt;Yeah, I use iisext.vbs to add a Web Service Extension. &amp;nbsp;Iʻm using your script to add to the ScriptMaps property.</description></item><item><title>HOWTO: Install and Use CustomAuth on IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#583484</link><pubDate>Tue, 25 Apr 2006 23:03:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:583484</guid><dc:creator>David Wang</dc:creator><description>It never ceases to amaze me how easily users will download and install arbitrary binaries from arbitrary...</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#591158</link><pubDate>Sat, 06 May 2006 02:00:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:591158</guid><dc:creator>surendraz</dc:creator><description>Hi David,&lt;br&gt; &amp;nbsp; &amp;nbsp;I have &amp;nbsp;a script that does something like this - &lt;br&gt;&lt;br&gt;Find all the xml nodes where HTTPERRORS is defined in Metabase.xml&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Now, traverse through all the nodes and then update the list to the new set of HTTPERRORS list.&lt;br&gt;&lt;br&gt;Script looks like this - &amp;nbsp;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;Set iisPath = GetObject(&amp;quot;IIS://&amp;quot; &amp;amp; strServerName)&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;aryPathList = iisPath.GetDataPaths(&amp;quot;HttpErrors&amp;quot;,0)&lt;br&gt;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;For Each strPath in aryPathList&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Set iisPath = GetObject(strPath)&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; aryCustomErrors = iisPath.GetEx(&amp;quot;HttpErrors&amp;quot;)	 &lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -- UPDATE THE LIST&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iisPath.PutEx &amp;nbsp;ADS_PROPERTY_UPDATE,&amp;quot;HttpErrors&amp;quot;,aryMasterArray&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iisPath.SetInfo&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;Next&lt;br&gt;&lt;br&gt;&lt;br&gt;This seem to work fine, but I just discovered that for some folders under v-roots has HTTPERRORS defined as a custom element, where this script bails out.&lt;br&gt;&lt;br&gt;HTTPERRORS as a custom element looks like this --&lt;br&gt;&lt;br&gt;&amp;lt;IIsConfigObject	Location =&amp;quot;/LM/W3SVC/1/ROOT/SampleVRoot/Folder1&amp;quot;&lt;br&gt;	&amp;gt;&lt;br&gt;	&amp;lt;Custom&lt;br&gt;		Name=&amp;quot;HttpErrors&amp;quot;&lt;br&gt;		ID=&amp;quot;6008&amp;quot;&lt;br&gt;		Value=&amp;quot;400,*,URL,/err.aspx&amp;quot;&lt;br&gt;		Type=&amp;quot;MULTISZ&amp;quot;&lt;br&gt;		UserType=&amp;quot;IIS_MD_UT_FILE&amp;quot;&lt;br&gt;		Attributes=&amp;quot;INHERIT&amp;quot;&lt;br&gt;	/&amp;gt;&lt;br&gt;&lt;br&gt;Do you have any suggestions on handling this case? I can be more specific and precise on the script if you would like to know the exact script...&lt;br&gt;&lt;br&gt;Thanks,</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#591178</link><pubDate>Sat, 06 May 2006 02:36:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:591178</guid><dc:creator>surendraz</dc:creator><description>Hi David, &lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;May be I should rephrase the question in this way - Can I update Custom properties via ADSI? If not, are there any other easy ways to achieve this?&lt;br&gt;&lt;br&gt;Thanks,</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#594989</link><pubDate>Thu, 11 May 2006 03:33:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:594989</guid><dc:creator>Confused Admin</dc:creator><description>Hi David,&lt;br&gt;&lt;br&gt;First off, thanks for your help on the IIS Newsgroups;&lt;br&gt;&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://www.microsoft.com/technet/community/newsgroups/dgbrowser/en-us/default.mspx?dg=microsoft.public.inetserver.iis&amp;amp;tid=ce318b30-31e4-464a-9dd6-626b9fe2cbd8&amp;amp;p=1"&gt;http://www.microsoft.com/technet/community/newsgroups/dgbrowser/en-us/default.mspx?dg=microsoft.public.inetserver.iis&amp;amp;tid=ce318b30-31e4-464a-9dd6-626b9fe2cbd8&amp;amp;p=1&lt;/a&gt;&lt;br&gt;&lt;br&gt;I think I am now very close to what I want by using your script. &lt;br&gt;&lt;br&gt;I am still having some problems though when trying to do a recursive replacement of a particluar application mapping. This is my script;&lt;br&gt;&lt;br&gt;cscript &amp;lt;script_name&amp;gt; W3SVC/ScriptMaps &amp;quot;.app&amp;quot; &amp;quot;.app,X:\path\to\app.dll,5&amp;quot; /ALL /RECURSE /COMMIT &lt;br&gt;&lt;br&gt;If I remove the &amp;quot;/COMMIT&amp;quot; switch and put in a &amp;quot;/VERBOSE&amp;quot; one, I can see that the script is matching all the existing application mappings for &amp;quot;.app&amp;quot; throughout the metabase. The problem is when I put the &amp;quot;/COMMIT&amp;quot; switch back in the script exits the first time it doesn't get a match instead of continuing through the metabase. Is this behaviour by design, is it a bug, or have I just gotten the syntax wrong (probable)? Thanks again.</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#595244</link><pubDate>Thu, 11 May 2006 13:05:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:595244</guid><dc:creator>David.Wang</dc:creator><description>Confused Admin - Ah, you found two bugs which I have fixed and reposted.&lt;br&gt;&lt;br&gt;Bug 1 - VBScript uses &amp;quot;Exit Function&amp;quot; to return from a function, not &amp;quot;Return&amp;quot;. It silently ignored my syntax error of using &amp;quot;Return&amp;quot;, a part of my error-checking, which played havoc on the remainder of the code since it then allowed: &amp;quot;If (Undefined AND true )&amp;quot; to return true, which caused the code to attempt to match and modify a property that it should not... which fails and since I expect it to succeed, the code fails fast and quits.&lt;br&gt;&lt;br&gt;It would have been nice for VBScript to tell me &amp;quot;syntax error&amp;quot; up-front because then I would have figured out &amp;quot;Exit Function&amp;quot; earlier...&lt;br&gt;&lt;br&gt;Bug 2 - When recursively editing a value, you should not edit inherited values.&lt;br&gt;&lt;br&gt;This should now address your issues.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#595256</link><pubDate>Thu, 11 May 2006 13:50:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:595256</guid><dc:creator>David.Wang</dc:creator><description>Sandeep - Ok, I finally figured out what is going awry with your use of &amp;quot;*&amp;quot; on the commandline. The &amp;quot;*&amp;quot; was being used in a RegExp Test and failing (since &amp;quot;*&amp;quot; needs a qualifier), but due to &amp;quot;on error resume next&amp;quot;, it still evaluated to &amp;quot;true&amp;quot; and thus mistakenly matching against entries.&lt;br&gt;&lt;br&gt;This is now fixed.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#595258</link><pubDate>Thu, 11 May 2006 14:03:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:595258</guid><dc:creator>David.Wang</dc:creator><description>surendraz - Unfortunately, custom nodes are exactly that, &amp;quot;custom&amp;quot;, so it does not conform to any schema and hence cannot be manipulated via ADSI/WMI.&lt;br&gt;&lt;br&gt;IIS should not be generating any custom nodes, so its presence means that you have run code which incorrectly modified properties using ABO (which is the only way to generate such nodes since it is not bound by schema).&lt;br&gt;&lt;br&gt;Now, IIS still functions because it uses ABO to read properties. Such incorrect properties are only problems for scripts that use ADSI/WMI to configure IIS and are unfortunately by-design.&lt;br&gt;&lt;br&gt;You want to deal with this problem by removing/fixing code who generates custom nodes in the IIS metabase.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#595769</link><pubDate>Fri, 12 May 2006 04:17:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:595769</guid><dc:creator>Confused Admin</dc:creator><description>Hi David,&lt;br&gt;&lt;br&gt;Thanks very much for your help again, I really appreciate it. I'm using your updated script and I think there still might be an issue with the script exiting early. This time it is not exiting because it failed to find a match, but rather because it finds an inherited property. Should the script exit when it finds an inherited property, or should it just skip it and move onto the next one?&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#595881</link><pubDate>Fri, 12 May 2006 09:21:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:595881</guid><dc:creator>David.Wang</dc:creator><description>Confused Admin - I think something else specific to your machine is happening - maybe you have a property that is not type'd correctly from some 3rd party application.&lt;br&gt;&lt;br&gt;On /recurse, the tool skips the inherited property and moves on to the next one.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#595945</link><pubDate>Fri, 12 May 2006 11:30:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:595945</guid><dc:creator>Confused Admin</dc:creator><description>Hi David,&lt;br&gt;&lt;br&gt;Actually I think you're correct David, the issue I'm having is different than I first thought. I don't think it is to do with the inherited values now, and it seems to be due to property depth in the metabsae. This is the syntax I'm using to try and recursively remove any .app application mapping that is not inherited throughout the entire metabase;&lt;br&gt;&lt;br&gt;cscript &amp;lt;script_name&amp;gt; W3SVC/ScriptMaps &amp;quot;.app&amp;quot; &amp;quot;&amp;quot; /REMOVE / ALL /RECURSE /COMMIT&lt;br&gt;&lt;br&gt;This seems to only work until the script reaches Root. For example the recursive search &amp;nbsp;for these paths work;&lt;br&gt;&lt;br&gt;W3SVC/ScriptMaps&lt;br&gt;&lt;br&gt;W3SCV/1/ScriptMaps&lt;br&gt;&lt;br&gt;But the script seems to exit when it gets to here;&lt;br&gt;&lt;br&gt;W3SVC/1/Root/ScriptMaps&lt;br&gt;&lt;br&gt;If I run the script with the full path to where any custom application mappings are actually going to reside the script works fine, such as; &lt;br&gt; &lt;br&gt;cscript &amp;lt;script_name&amp;gt; W3SVC/1/Root/ScriptMaps &amp;quot;.app&amp;quot; &amp;quot;&amp;quot; /REMOVE / ALL /RECURSE /COMMIT&lt;br&gt;&lt;br&gt;Maybe I am missing something, but I have now tested this on two IIS 5.1 machines and one IIS 6 server with consistent results. Is Root treated differently perhaps?&lt;br&gt;&lt;br&gt;&lt;br&gt; &lt;br&gt;</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#595995</link><pubDate>Fri, 12 May 2006 12:57:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:595995</guid><dc:creator>David.Wang</dc:creator><description>Confused Admin - can you turn on /VERBOSE and /DEBUG so that we narrow down where the failure is coming from your commandline.&lt;br&gt;&lt;br&gt;Root is not treated differently; on my IIS 5.1 and IIS 6 machines the recursion worked just fine, including at W3SVC/1/Root/ScriptMaps.&lt;br&gt;&lt;br&gt;There is something consistently peculiar on your machines.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#596088</link><pubDate>Fri, 12 May 2006 15:55:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:596088</guid><dc:creator>Confused Admin</dc:creator><description>Sorry for all the trouble David. I created a test application mapping for a &amp;quot;.app&amp;quot; extension in W3SVC/7989556/Root/ScriptMaps using the IIS Admin MMC, and this is what I get when I run your script (named update_metabase.vbs in this case); &lt;br&gt;&lt;br&gt;&lt;br&gt;C:\Inetpub\AdminScripts&amp;gt;update_metabase.vbs W3SVC/ScriptMaps &amp;quot;.app&amp;quot; &amp;quot;&amp;quot; &amp;nbsp;/REMOVE /RECURSE /ALL /VERBOSE&lt;br&gt;OpType &amp;nbsp; &amp;nbsp; &amp;nbsp; = 14&lt;br&gt;PropertyPath = W3SVC&lt;br&gt;PropertyName = ScriptMaps&lt;br&gt;ExistValue &amp;nbsp; = .APP&lt;br&gt;NewValue &amp;nbsp; &amp;nbsp; =&lt;br&gt;Syntax &amp;nbsp; &amp;nbsp; &amp;nbsp; = LIST&lt;br&gt;&lt;br&gt;W3SVC/ScriptMaps&lt;br&gt;Original:&lt;br&gt;.asa,C:\WINDOWS\system32\inetsrv\asp.dll,5,GET,HEAD,POST,TRACE&lt;br&gt;.asp,C:\WINDOWS\system32\inetsrv\asp.dll,5,GET,HEAD,POST,TRACE&lt;br&gt;.cdx,C:\WINDOWS\system32\inetsrv\asp.dll,5,GET,HEAD,POST,TRACE&lt;br&gt;.cer,C:\WINDOWS\system32\inetsrv\asp.dll,5,GET,HEAD,POST,TRACE&lt;br&gt;.idc,C:\WINDOWS\system32\inetsrv\httpodbc.dll,5,GET,POST&lt;br&gt;.php,S:\PHP4\sapi\isapi_fcgi.dll,5&lt;br&gt;.shtm,C:\WINDOWS\system32\inetsrv\ssinc.dll,5,GET,POST&lt;br&gt;.shtml,C:\WINDOWS\system32\inetsrv\ssinc.dll,5,GET,POST&lt;br&gt;.stm,C:\WINDOWS\system32\inetsrv\ssinc.dll,5,GET,POST&lt;br&gt;New:&lt;br&gt;0: .asa,C:\WINDOWS\system32\inetsrv\asp.dll,5,GET,HEAD,POST,TRACE&lt;br&gt;1: .asp,C:\WINDOWS\system32\inetsrv\asp.dll,5,GET,HEAD,POST,TRACE&lt;br&gt;2: .cdx,C:\WINDOWS\system32\inetsrv\asp.dll,5,GET,HEAD,POST,TRACE&lt;br&gt;3: .cer,C:\WINDOWS\system32\inetsrv\asp.dll,5,GET,HEAD,POST,TRACE&lt;br&gt;4: .idc,C:\WINDOWS\system32\inetsrv\httpodbc.dll,5,GET,POST&lt;br&gt;5: .php,S:\PHP4\sapi\isapi_fcgi.dll,5&lt;br&gt;6: .shtm,C:\WINDOWS\system32\inetsrv\ssinc.dll,5,GET,POST&lt;br&gt;7: .shtml,C:\WINDOWS\system32\inetsrv\ssinc.dll,5,GET,POST&lt;br&gt;8: .stm,C:\WINDOWS\system32\inetsrv\ssinc.dll,5,GET,POST&lt;br&gt;SUCCESS: No Match. Did not SetInfo&lt;br&gt;&lt;br&gt;W3SVC/1/ScriptMaps (Inherited)&lt;br&gt;Ignoring inherited property for Recursive Modification&lt;br&gt;&lt;br&gt;W3SVC/1636682815/ScriptMaps (Inherited)&lt;br&gt;Ignoring inherited property for Recursive Modification&lt;br&gt;&lt;br&gt;W3SVC/7989556/ScriptMaps (Inherited)&lt;br&gt;Ignoring inherited property for Recursive Modification&lt;br&gt;&lt;br&gt;Failed to retrieve W3SVC/AppPools/ScriptMaps&lt;br&gt;&lt;br&gt;Failed to retrieve W3SVC/Filters/ScriptMaps&lt;br&gt;&lt;br&gt;Failed to retrieve W3SVC/Info/ScriptMaps&lt;br&gt;&lt;br&gt;C:\Inetpub\AdminScripts&amp;gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#618165</link><pubDate>Mon, 05 Jun 2006 23:08:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:618165</guid><dc:creator>Paul M</dc:creator><description>I tried use this script to set a Wildcard application map for a virtual directory, but it seems to be setting a blank application extension instead. Here is the command line I am using:&lt;br&gt;&lt;br&gt;script.vbs w3svc/1/ROOT/&amp;lt;VirtualDir&amp;gt;/ScriptMaps &amp;quot;&amp;quot; C:\WINDOWS\Mic&lt;br&gt;rosoft.NET\Framework\v1.1.4322\aspnet_isapi.dll /INSERT /COMMIT&lt;br&gt;&lt;br&gt;Am I using the wrong property?&lt;br&gt;</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#618502</link><pubDate>Tue, 06 Jun 2006 03:52:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:618502</guid><dc:creator>loralynne</dc:creator><description>Hi David,&lt;br&gt;&lt;br&gt;I'm using your script to add an Application Mapping. &amp;nbsp;However, on &amp;nbsp;Windows 2000 and Windows XP, I need the path to the dll to be in 8.3 format. &amp;nbsp;Can you help me please?&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;loralynne</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#621061</link><pubDate>Wed, 07 Jun 2006 22:27:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:621061</guid><dc:creator>Pokche</dc:creator><description>I am trying to run &amp;lt;chglist.vbs&amp;gt; W3SVC/1/HttpErrors 404 404,*,URL,/CustomErrors/404.asp /COMMIT &amp;nbsp;but I want to change the error code 403;4 instead but am unable to do so. I ran the following:&lt;br&gt;&amp;lt;chglist.vbs&amp;gt; W3SVC/1/HttpErrors 403 403,4,URL,/CustomErrors/404.asp /COMMIT &lt;br&gt;I can however update 403;1 error code using the above line but not 403;4. &amp;nbsp;Can you help me on what i am missing here?&lt;br&gt;Thanks.</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#621085</link><pubDate>Wed, 07 Jun 2006 22:56:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:621085</guid><dc:creator>David.Wang</dc:creator><description>Pokche - Since you want to change the specific custom error 403;4, try matching match against &amp;quot;403,4&amp;quot; instead of just &amp;quot;403&amp;quot; for replacement. &lt;br&gt;&lt;br&gt;HttpErrors is a LIST of custom errors for ALL error codes, 403.1 as well as 403.4. Since 403.1 comes before 403.4 numerically in the LIST, the tool changes the FIRST entry that matches by default, and you gave &amp;quot;403&amp;quot;, which matches 403.1, 403.2, 403.3, 403.4, etc, that is why you are updating 403.1 custom error with your syntax.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#632014</link><pubDate>Thu, 15 Jun 2006 11:34:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:632014</guid><dc:creator>David.Wang</dc:creator><description>Paul M - When you make changes to IIS configuration without using the UI (such as with a script through the IIS Admin Interfaces), you can insert whatever you want, including invalid/incorrect values... so it is important to follow documentation for syntax.&lt;br&gt;&lt;br&gt;See the documentation for ScriptMaps from here:&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/html/bb9c0d25-d003-4ddd-8adb-8662de0a24ee.asp"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/html/bb9c0d25-d003-4ddd-8adb-8662de0a24ee.asp&lt;/a&gt;&lt;br&gt;&lt;br&gt;A trick for determining the syntax is to use the IIS Manager UI to make the change and then see what it changed and how.&lt;br&gt;&lt;br&gt;In your case, your syntax inserts an application mapping without an extension... which is exactly what you observed.&lt;br&gt;&lt;br&gt;I updated the examples in the blog entry to show how to add a wildcard application mapping.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#632042</link><pubDate>Thu, 15 Jun 2006 12:23:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:632042</guid><dc:creator>David.Wang</dc:creator><description>loralynne - I am not certain why you require a 8.3 filepath. IIS on Windows 2000, Windows XP, and Windows Server 2003 all support Application Mappings with long filepath. In fact, IIS6 rejects 8.3 filepath for security reasons.&lt;br&gt;&lt;br&gt;I updated the examples in the blog entry to show how to add an application mapping with long filepath (see the wildcard application mapping example which uses %ProgramFile%, usually a long filepath).&lt;br&gt;&lt;br&gt;Please consider using long filepath because it is the secure choice.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#632605</link><pubDate>Thu, 15 Jun 2006 21:42:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:632605</guid><dc:creator>loralynne</dc:creator><description>Hi David,&lt;br&gt;&lt;br&gt;Thanks for your response.&lt;br&gt;&lt;br&gt;I'm doing a PHP installation, and the problem is that PHP doesn't work if the php isapi dll is installed in say, C:\Program Files, or any directory whose path has spaces in it. &amp;nbsp;It works if this path is in 8.3 format in the application mapping or if the dll is moved to the WINDOWS directory.&lt;br&gt;&lt;br&gt;Here are a couple of links that suggest using 8.3 format:&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://us2.php.net/install.windows"&gt;http://us2.php.net/install.windows&lt;/a&gt;&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://www.west-wind.com/wwThreads/Message1FH100UYI.wwt"&gt;http://www.west-wind.com/wwThreads/Message1FH100UYI.wwt&lt;/a&gt;&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;loralynne</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#633485</link><pubDate>Fri, 16 Jun 2006 03:32:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:633485</guid><dc:creator>David.Wang</dc:creator><description>loralynne - PHP ISAPI DLL works fine for me in &amp;quot;C:\Program Files\P H P&amp;quot; on Windows 2000, Windows XP, and Windows Server 2003 - I just tried it myself.&lt;br&gt;&lt;br&gt;So, I am still confused of what you are trying to ask of me. What is stopping you from giving the pathname in 8.3 format to the script? Or are you asking for the script to translate a longpath to shortpath for you?&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#633510</link><pubDate>Fri, 16 Jun 2006 03:50:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:633510</guid><dc:creator>David.Wang</dc:creator><description>loralynne - I just went to read the &amp;quot;Suggestions&amp;quot; made at the links that you pointed me to. What a good chuckle! :-)&lt;br&gt;&lt;br&gt;Don't get me wrong -- I understand and appreciate the efforts made by other kind users trying to help each other out. It's just that many of the &amp;quot;suggestions&amp;quot; are of the &amp;quot;I got it to work by doing this&amp;quot; variety and not necessarily done the right way through an understanding of IIS -- so you have to take it with a grain of salt. Most of the suggestions, while they'll &amp;quot;work&amp;quot;, are actually quite bad because IIS works much better than they assume. I wish I can delete most of those bad suggestions!&lt;br&gt;&lt;br&gt;I assure you that using:&lt;br&gt;chglist.vbs W3SVC/1/root/ScriptMaps &amp;quot;&amp;quot; &amp;quot;.php,%ProgramFiles%\P H P\PHP5ISAPI.DLL,1&amp;quot; /INSERT /COMMIT &lt;br&gt;&lt;br&gt;Will work for PHP installed in &amp;quot;C:\Program Files\P H P&amp;quot;. You do not need to use 8.3 format and you do not need the DLL nor PHP.INI to be in Windows directory.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#637209</link><pubDate>Mon, 19 Jun 2006 21:57:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:637209</guid><dc:creator>loralynne</dc:creator><description>Hi David,&lt;br&gt;&lt;br&gt;A colleague of mine actually showed me the error that occurs after he manually entered the long path on Win XP. &amp;nbsp;He then changed it to 8.3, and it worked like a champ. &amp;nbsp;So unless we come up with a better solution, we might actually have to resort to this solution, and I figured out how to do this in the script.&lt;br&gt;&lt;br&gt;Thanks again for all your help. &amp;nbsp;I really appreciate your input.&lt;br&gt;&lt;br&gt;-loralynne&lt;br&gt;</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#637498</link><pubDate>Tue, 20 Jun 2006 00:40:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:637498</guid><dc:creator>David.Wang</dc:creator><description>loralynne - If you do not enter the long path correctly (from the UI or from the commandline), it will fail with a pretty bizarre error. I think that the older IIS Manager UI (W2K and WXP) actually require you to input a long path format that doesn't work; it was subsequently fixed in WS03.&lt;br&gt;&lt;br&gt;The instructions and samples I gave on how to use long paths work on W2K, WXP, WS03, and Vista - I literally installed PHP, then typed in that commandline, and verified PHP's phpinfo(); work with &amp;quot;%ProgramFiles%\P H P\PHP5isapi.dll&amp;quot; on all the platforms.&lt;br&gt;&lt;br&gt;You can certainly use 8.3 format if you need, but I am obligated to tell you that 8.3 will not work in any version of IIS after Windows XP due to security. All I can say is that suggestions to use 8.3 format as a &amp;quot;requirement&amp;quot; are incorrect.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#640063</link><pubDate>Tue, 20 Jun 2006 21:39:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:640063</guid><dc:creator>loralynne</dc:creator><description>Hi David,&lt;br&gt;&lt;br&gt;The instructions and samples you gave work great and add the information to the metabase as expected. &amp;nbsp;However, our problem is that using the long path on XP doesn't work. &amp;nbsp;If we don't find a correct fix, we're planning on using 8.3 format only on 2K and XP. &amp;nbsp;The long path works fine on Server 2003.&lt;br&gt;&lt;br&gt;Thanks for all your advice and taking the time to actually verify this on all the platforms. &amp;nbsp;I'll relay this information to my colleague.&lt;br&gt;&lt;br&gt;-loralynne</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#640595</link><pubDate>Wed, 21 Jun 2006 02:34:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:640595</guid><dc:creator>David.Wang</dc:creator><description>loralynne - when you say &amp;quot;our problem is that using the long path on XP doesn't work&amp;quot;, are you saying:&lt;br&gt;1. Your version of PHP does not work with long pathnames&lt;br&gt;2. Your PHP-based application does not work with long pathnames&lt;br&gt;&lt;br&gt;Because it is possible that the PHP-based application fails with long pathnames, and that would be an issue with that application.&lt;br&gt;&lt;br&gt;From my casual observation, PHP itself seems to work fine with long pathnames, and IIS can certainly invoke the PHP Application Mapping with long pathnames.&lt;br&gt;&lt;br&gt;One thing to remember with long pathnames and a CGI Application Mapping (i.e. php-cgi.exe) - you *may* need to enclose %s parameter in quotes to make sure spaces are properly escaped. This totally depends on the CGI.&lt;br&gt;&lt;br&gt;For example, when configuring CMD.EXE as an Application Mapping for .cmd in IIS (so that you can launch batch files via an HTTP request), you have to use:&lt;br&gt; &amp;nbsp;cmd.exe /c &amp;quot;%s&amp;quot; &amp;quot;%s&amp;quot;&lt;br&gt;Or else it will fail if the resource has a long pathname.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#641940</link><pubDate>Wed, 21 Jun 2006 23:30:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:641940</guid><dc:creator>loralynne</dc:creator><description>Hi David,&lt;br&gt;&lt;br&gt;My apologies. &amp;nbsp;I found out from my colleague (who ran your script) that the reason why the long path wasn't working was because there were quotes around it. &amp;nbsp;In my first post (on 4/21), I asked about how I can add quotes around the path using your script since when I manually entered it via the GUI, it gave the error &amp;quot;wrong executable filename&amp;quot;, until I put quotes around it. &amp;nbsp;So I assumed that PHP wouldn't work if I ran your script to add the app mapping without quotes.&lt;br&gt;&lt;br&gt;I guess if you want to add an app mapping that has spaces in the path to the dll/exe, you'll have to do it via a script since the GUI won't let you without putting quotes around the path.&lt;br&gt;&lt;br&gt;Anyways, thanks again for all your help, and sorry for wasting your time on this.&lt;br&gt;&lt;br&gt;-loralynne</description></item><item><title>HOWTO: Install and Run PHP on IIS7, Part 3</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#645627</link><pubDate>Sat, 24 Jun 2006 13:20:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:645627</guid><dc:creator>David Wang</dc:creator><description>A short while ago, I came out with a small script to properly configure PHP for IIS7. Sure enough, I...</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#648517</link><pubDate>Tue, 27 Jun 2006 17:22:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:648517</guid><dc:creator>millhouse50</dc:creator><description>I've been stuck on this issue for the past week now and it's really driving me crazy. I need to know how to programmatically add/delete extensions in web directory when I create the web. &lt;br&gt;&lt;br&gt;What I mean is that if you open the IIS manager, then right click on the default web site, go down to properties and open that up. Then click on the home directory tab, and then hit the configuration button. There is a list of extensions there that I need to manipulate when I make the web site. &lt;br&gt;&lt;br&gt;I've found tons of examples and code, but I don't know which one to use. Also I'm doing this all in vbscript. If you could provide me a sample, or show me to a little code snippit or something I would be VERY relieved. &lt;br&gt;&lt;br&gt;Thanks a ton in advance.</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#648863</link><pubDate>Tue, 27 Jun 2006 22:11:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:648863</guid><dc:creator>David.Wang</dc:creator><description>millhouse50 - this blog entry has the VBScript code as well as the sample commandline to do what you want. &lt;BR&gt;&lt;BR&gt;Please either take the necessary code snippet or determine your necessary commandline, or read the blog comments, to help yourself.&lt;BR&gt;&lt;BR&gt;//David</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#650516</link><pubDate>Thu, 29 Jun 2006 09:35:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:650516</guid><dc:creator>David.Wang</dc:creator><description>loralynne - Ah, I see. Yeah, long pathnames, quotes, and IIS Configuration can be confusing. Here's the short summary:&lt;br&gt;- IIS uses Application Mapping pathnames as long pathname and without need for quotes&lt;br&gt;- The GUI in W2K/XP had a bug where it puts quotes around pathnames and then puts it into the Application Mapping. This usually happens when type a pathname with spaces into the GUI.&lt;br&gt;- When you run a script, it is impossible to pass in quotes unless you use a different encoding; but you need to use quotes on the commandline to pass in spaces&lt;br&gt;&lt;br&gt;What this means is that when you set an IIS configuration value, you need to know what value IIS wants, and what each configuration tool will actually put into configuration. No safe-guards anywhere.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#651439</link><pubDate>Fri, 30 Jun 2006 01:55:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:651439</guid><dc:creator>loralynne</dc:creator><description>Thanks for the summary, David!</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#652351</link><pubDate>Fri, 30 Jun 2006 18:35:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:652351</guid><dc:creator>Pat</dc:creator><description>Thanks for this script, i use before the Admin IIS 6.0 script iiscnfg.vbs for export and import the ScriptMaps, but the attribute was not exported with them. Only Export of the ScriptMaps when i edit the property before in MMC, bad!&lt;br&gt;&lt;br&gt;Now i use your script and i have integrate it to my deployment &amp;amp; building solution. Works fine.&lt;br&gt;&lt;br&gt;-Pat</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#652509</link><pubDate>Fri, 30 Jun 2006 20:30:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:652509</guid><dc:creator>David.Wang</dc:creator><description>Pat - it sounds like you are only exporting/importing settings on a per-Website basis, while many properties like ScriptMaps are inheriting from global values by default and do not show up per-Website. Thus, when you export, inheriting values are not there (so that you continue to re-inherit from global values on the destination machine).&lt;br&gt;&lt;br&gt;When you edit the property in MMC, it stops the inheritance and sets them on a per-Website basis, so it shows up on export. &lt;br&gt;&lt;br&gt;The problem you must resolve is that a website has many global settings on the source machine which are not exported/imported into the destination machine.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#653829</link><pubDate>Sun, 02 Jul 2006 01:15:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:653829</guid><dc:creator>Mert Sakarya</dc:creator><description>Thanks for the code. I'm trying to do the samething with javascript.&lt;br&gt;How can I modify LIST data type in IIS with javascript.&lt;br&gt;&lt;br&gt;I can convert LISTs with toArray function of javascript but I can't put the updated value back!!!</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#654311</link><pubDate>Sun, 02 Jul 2006 13:57:56 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:654311</guid><dc:creator>David.Wang</dc:creator><description>Mert - Since you converted LISTs to JScript Array for modification, it makes sense that you must convert the JScript Array BACK INTO a VB SafeArray to put it back.&lt;br&gt;&lt;br&gt;This is one reason why I wrote the sample in VBScript - because LIST modification is simpler in VBScript.&lt;br&gt;&lt;br&gt;With JScript, I must convert LISTs from VBArray to JScript Array since VBScript cannot manipulate VBArray directly, manipulate it as JScript Array, then convert it back to VBArray to update the LIST data type.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#655319</link><pubDate>Mon, 03 Jul 2006 19:08:56 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:655319</guid><dc:creator>Mert Sakarya</dc:creator><description>Than the question becomes;&lt;br&gt;&lt;br&gt;How can I create a VB Safe Array and modify it with JScript?&lt;br&gt;&lt;br&gt;Why I'm insisting on JScript is because, it is way much powerful than VBScript. You've got classes, try catch blocks, cool arrays, &amp;nbsp;interesting object notation like (obj.property == obj[&amp;quot;property&amp;quot;]) and also JSON ;)&lt;br&gt;&lt;br&gt;I am using HTA, Javascript, XMLHTTPRequest and JSON, JQuery in a Setup application, the possibilities are weird!!!</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#655320</link><pubDate>Mon, 03 Jul 2006 19:09:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:655320</guid><dc:creator>Mert Sakarya</dc:creator><description>Than the question becomes;&lt;br&gt;&lt;br&gt;How can I create a VB Safe Array and modify it with JScript?&lt;br&gt;&lt;br&gt;Why I'm insisting on JScript is because, it is way much powerful than VBScript. You've got classes, try catch blocks, cool arrays, &amp;nbsp;interesting object notation like (obj.property == obj[&amp;quot;property&amp;quot;]) and also JSON ;)&lt;br&gt;&lt;br&gt;I am using HTA, Javascript, XMLHTTPRequest and JSON, JQuery in a Setup application, the possibilities are weird!!!&lt;br&gt;&lt;br&gt;Mert</description></item><item><title>HOWTO: Convert between JScript Array and VB Safe Array</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#655886</link><pubDate>Tue, 04 Jul 2006 12:12:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:655886</guid><dc:creator>David Wang</dc:creator><description>I recently got a question about how to manipulate the LIST data type within JScript since my sample code...</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#655888</link><pubDate>Tue, 04 Jul 2006 12:14:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:655888</guid><dc:creator>David.Wang</dc:creator><description>Mert - I suggest searching for code to manipulate VB Safe Array.&lt;br&gt;&lt;br&gt;It is possible to convert between VB Safe Array and JScript Array (both directions) to do the manipulation.&lt;br&gt;&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/david.wang/archive/2006/07/04/HOWTO_Convert_between_JScript_Array_and_VB_Safe_Array.aspx"&gt;http://blogs.msdn.com/david.wang/archive/2006/07/04/HOWTO_Convert_between_JScript_Array_and_VB_Safe_Array.aspx&lt;/a&gt;&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#718732</link><pubDate>Thu, 24 Aug 2006 21:59:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:718732</guid><dc:creator>Eric E</dc:creator><description>Excellent Script!!!! I needed to remove some script mappings from our websites and this made it possible to do it programmatically. &amp;nbsp;Thanks!!!!</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#3082847</link><pubDate>Mon, 04 Jun 2007 18:47:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3082847</guid><dc:creator>Juan</dc:creator><description>&lt;p&gt;Removing a Wildcard application map removes all Cache ISAPI extensions, althought it used to work before enabling SSL (I don't know it is related with the problem).&lt;/p&gt;
&lt;p&gt;Example: C:\Inetpub\chglist.vbs W3SVC/1/root/ScriptMaps &amp;quot;&amp;quot; &amp;quot;*,D:\WWW\dlls\myappMap.dll,0&amp;quot; /REMOVE /COMMIT&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#3201651</link><pubDate>Sun, 10 Jun 2007 12:25:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3201651</guid><dc:creator>Joe</dc:creator><description>&lt;p&gt;I'm trying to install a wildcard application mapping on every site on a server. If I invoke it like so:&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;&amp;lt;script&amp;gt; W3SVC\ScriptMaps &amp;quot;&amp;quot; &amp;quot;*,wildcard.dll,1&amp;quot; /insert /recurse /commit&lt;/p&gt;
&lt;p&gt;...it successfully installs the map at the global server level, as specified, but it doesn't recurse into the siges (e.g., W3SVC/1/root/ScriptMaps); instead it says:&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Ignoring inherited property for Recursive Modification&lt;/p&gt;
&lt;p&gt;It works the way I expect when I pass W3SVC/1/root/ScriptMaps (or similar), finding any overridden ScriptMaps settings in the subtree and adding my extension.&lt;/p&gt;
&lt;p&gt;Rather than simply change the code, I'd like to understand why you designed it this way. The obvious downside is that I have to know a priori which sites exist in the metabase (1, 2, 54241, etc), which means I need to manually enumerate them and invoke this script on each path. That doesn't seem like the best way to do this.&lt;/p&gt;
&lt;p&gt;I realize this has been partially asked before, but I'd appreciate it if you could explain the concept, rather than simply the syntax.&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#3234302</link><pubDate>Mon, 11 Jun 2007 22:49:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3234302</guid><dc:creator>Okey_Dokey1</dc:creator><description>&lt;p&gt;Question: We use your &amp;quot;ChgList.vbs&amp;quot; script (called in as an external script to run &amp;quot;command = &amp;quot;chglist.vbs&amp;quot;) in one of our IIS 6 server scripts to perform &amp;quot;Script Map Deletion&amp;quot;. What is the easiest way to turn this around in a secondary script used to not actually perform the action but just to verify if it has been performed in the main script or if the specific types of files exist (.cer, .cdx, and .idc). I am new at this and just trying to learn how to. Thanks.&lt;/p&gt;
&lt;p&gt;Okey_Dokey1&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#3296346</link><pubDate>Thu, 14 Jun 2007 22:49:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3296346</guid><dc:creator>Andrew</dc:creator><description>&lt;p&gt;I just wanted to drop a quick thank you for the script. I needed a way to flick the ASP.NET Web Service Extensions on and off and this worked like a charm. Thank you David for the script, I appreciate it.&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#3317991</link><pubDate>Fri, 15 Jun 2007 21:59:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3317991</guid><dc:creator>Landho</dc:creator><description>&lt;p&gt;This is perfect. &amp;nbsp;Thanks so much...&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#3493734</link><pubDate>Sun, 24 Jun 2007 08:57:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3493734</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Joe - the reason for &amp;quot;Ignoring inherited property for Recursive Modification&amp;quot; is because I do not want to make a recursive config change at a node that is already inheriting that property value from its parent.&lt;/p&gt;
&lt;p&gt;You can view &amp;quot;recurvise modification&amp;quot; as the same as &amp;quot;manual-override of property value inheritance&amp;quot;.&lt;/p&gt;
&lt;p&gt;In other words, suppose you only had ScriptMaps set at W3SVC/ScriptMaps. This means all websites are already inheriting this value, so when you tell ChgList.vbs to recurse from W3SVC/ScriptMaps, it only makes sense to change W3SVC/ScriptMaps.&lt;/p&gt;
&lt;p&gt;If ChgList.vbs also modified W3SVC/1/ROOT/ScriptMaps, it would change W3SVC/1/ROOT/ScriptMaps to no longer inherit from W3SVC/ScriptMaps, a conceptual change. While this is no danger this initial time, any *future* edits to W3SVC/ScriptMaps will no longer automatically inherit to W3SVC/1/ROOT/ScriptMaps.&lt;/p&gt;
&lt;p&gt;Now, in your situation, you may choose to always remember to use /recursive so it does not matter, but not everyone has that luxury in their environment, nor will everyone remember to use /recursive.&lt;/p&gt;
&lt;p&gt;Thus, ChgList.vbs explicitly ignores inherited property on /recurse&lt;/p&gt;
&lt;p&gt;It would be completely different functionality to recursively edit all non-inherited values. You can get that functionality by stitching together ADSUTIL.VBS FIND to do that recursion and ChgList.vbs to do the edit of the LIST data type.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#3493786</link><pubDate>Sun, 24 Jun 2007 09:02:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3493786</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Okey_Dokey1 - To Verify that the action has been performed or if specific types of extensions exist, you can simply call ChgList.vbs without /commit&lt;/p&gt;
&lt;p&gt;&amp;lt;chglist.vbs&amp;gt; W3SVC/1/root/ScriptMaps &amp;quot;.idc&amp;quot; &amp;quot;***FOUND***&amp;quot;&amp;quot;&lt;/p&gt;
&lt;p&gt;The output of the command will include ***FOUND*** if .idc is in any list entry of W3SVC/1/root/ScriptMaps . Just parse the output.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>How To Install PHP on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#4493810</link><pubDate>Tue, 21 Aug 2007 15:35:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4493810</guid><dc:creator>IIS Admin Blog</dc:creator><description>&lt;p&gt;I recently decided to experiment with hosting my own blog and after looking at the various packages available&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#5031581</link><pubDate>Fri, 21 Sep 2007 14:22:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5031581</guid><dc:creator>Peter Pojuner</dc:creator><description>&lt;p&gt;Brilliant - Works a treat for me !!&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#6265279</link><pubDate>Thu, 15 Nov 2007 18:51:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6265279</guid><dc:creator>renato tirone</dc:creator><description>&lt;p&gt;I love you David ! indeed ! thanks a lot . &lt;/p&gt;
</description></item><item><title>Website Scripts &amp;raquo; David Wang : HOWTO: Install and Run PHP on IIS7 Part 3</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#7187320</link><pubDate>Mon, 21 Jan 2008 22:34:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7187320</guid><dc:creator>Website Scripts » David Wang : HOWTO: Install and Run PHP on IIS7 Part 3</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://websitescripts.247blogging.info/david-wang-howto-install-and-run-php-on-iis7-part-3/"&gt;http://websitescripts.247blogging.info/david-wang-howto-install-and-run-php-on-iis7-part-3/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#7785063</link><pubDate>Tue, 19 Feb 2008 05:17:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7785063</guid><dc:creator>Dani</dc:creator><description>&lt;p&gt;Mr Wang,&lt;/p&gt;
&lt;p&gt;How do I do remove a specifc script mapping? Do I used putex command?&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#7838358</link><pubDate>Thu, 21 Feb 2008 17:42:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7838358</guid><dc:creator>Moe Sislak</dc:creator><description>&lt;p&gt;I am new to all of this, can you cut and paste the section of your code that adds the host headers?&lt;/p&gt;
&lt;p&gt;The reason being is for someone like myself it is sometimes hard to wade through all the error checking, etc&lt;/p&gt;
&lt;p&gt;All I need to see is the snippet of code that adds the host headers&lt;/p&gt;
&lt;p&gt;On a side note:&lt;/p&gt;
&lt;p&gt;Have you considered providing more examples using WMI?&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#7845504</link><pubDate>Fri, 22 Feb 2008 09:52:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7845504</guid><dc:creator>Ritz</dc:creator><description>&lt;p&gt;Hi David,&lt;/p&gt;
&lt;p&gt;I run PHP4 and PHP5 both on my IIS. I use following different mapping for them :&lt;/p&gt;
&lt;p&gt;PHP4 : C:\php\php.exe and for PHP5 : C:\php5\php-cgi.exe&lt;/p&gt;
&lt;p&gt;Now how can I list sites that are using PHP4 and PHP5 mapping respectively using this script.&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#7847942</link><pubDate>Fri, 22 Feb 2008 16:47:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7847942</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Ritz - your specific task is best left to the reader.&lt;/p&gt;
&lt;p&gt;Hint: if you need to list sites, then you need to read the value of Script Mappings of IIS nodes. This script is all about editing/modifying Script Mappings, so I doubt it works for your scenario.&lt;/p&gt;
&lt;p&gt;I would use ADSUTIL.VBS to FIND all the ScriptMaps properties, then read them with ADSUTIL.VBS, and finally, parse the ScriptMaps entry to determine if PHP4 or PHP5 is installed the way you have it.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#7848064</link><pubDate>Fri, 22 Feb 2008 17:04:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7848064</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Moe - your specific task is best left to the reader.&lt;/p&gt;
&lt;p&gt;Basically, I am not allowed to write your code for you, including code snippets. You are free to take my existing code and reuse/modify as you wish.&lt;/p&gt;
&lt;p&gt;If you cannot wade through the code to find the necessary code snippet, then I suggest you use the entire source code to add the host header.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#7848073</link><pubDate>Fri, 22 Feb 2008 17:06:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7848073</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Dani - this tool illustrates how to remove a specific script mapping, so please read and follow the example.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#8350251</link><pubDate>Wed, 02 Apr 2008 10:59:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8350251</guid><dc:creator>Frode</dc:creator><description>&lt;p&gt;Hi, I try to manipulate W3SVC/1/Root/DefaultDoc but I get an error message saying &amp;quot;Cannot handle W3SVC/1/ROOT/DefaultDoc with type string&amp;quot;. I ran the following command:&lt;/p&gt;
&lt;p&gt;C:\Inetpub\AdminScripts&amp;gt;cscript.exe chglist.vbs W3SVC/1/ROOT/DefaultDoc &amp;quot;&amp;quot; &amp;quot;index&lt;/p&gt;
&lt;p&gt;.php&amp;quot; /INSERT /COMMIT&lt;/p&gt;
&lt;p&gt;What is wrong?&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#8394385</link><pubDate>Mon, 14 Apr 2008 23:07:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8394385</guid><dc:creator>Chad</dc:creator><description>&lt;p&gt;Is there a simple way of adding the ability to target remote servers? &amp;nbsp;Like the adsutil.vbs &amp;quot;-s&amp;quot; switch for example.&lt;/p&gt;
&lt;p&gt;Thanks, great script.&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#8409694</link><pubDate>Sat, 19 Apr 2008 06:54:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8409694</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Chad - Sorry, I designed it to target remote servers but forgot to expose a commandline parameter.&lt;/p&gt;
&lt;p&gt;You just need to change this line to take in a commandline parameter.&lt;/p&gt;
&lt;p&gt;strServer = &amp;quot;localhost&amp;quot;&lt;/p&gt;
&lt;p&gt;Add a little parsing, copying the existing code, and the rest should just work.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#8409714</link><pubDate>Sat, 19 Apr 2008 07:02:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8409714</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Frode - DefaultDoc stores multiple values in a single string with commas separating their values.&lt;/p&gt;
&lt;p&gt;Meanwhile, this script is for dealing with multiple values in a LIST.&lt;/p&gt;
&lt;p&gt;Thus, this script will not work for DefaultDoc, and it stops with that error appropriately.&lt;/p&gt;
&lt;p&gt;I know this all looks confusing because you probably just want to have one way to deal with all the different types of multi-value properties in IIS.&lt;/p&gt;
&lt;p&gt;Unfortunately, that was not my intent for the script. Otherwise I would have named the blog entry: &amp;quot;How to manipulate multi-value data types in IIS Configuration&amp;quot;.&lt;/p&gt;
&lt;p&gt;Minor cases like DefaultDoc and MimeMaps can be handled, just not in this script.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#8658466</link><pubDate>Fri, 27 Jun 2008 00:45:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8658466</guid><dc:creator>postrgrl</dc:creator><description>&lt;p&gt;Hi, &amp;nbsp;I am trying to use your script to remove an application mapping for an extension (home directory tab, configuration via the GUI). &amp;nbsp;Then I am trying to add a new mapping. &amp;nbsp;Really the ultimate goal, and the purpose of using the script is that we are changing where the dll files are stored from the e:\content\ directory to the e:\inetpub directory. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;So, I ran:&lt;/p&gt;
&lt;p&gt;cscript chglist.vbs W3SVC/1156155428/root/ScriptMaps &amp;quot;&amp;quot; &amp;quot;.myext,e:\content\myapp\wls-iis\myfile.dll,0&amp;quot; /REMOVE /COMMIT&lt;/p&gt;
&lt;p&gt;and was able to remove the .myext&lt;/p&gt;
&lt;p&gt;however when I try to insert one using the following:&lt;/p&gt;
&lt;p&gt;cscript chglist.vbs w3svc/1156155428/root/ScriptMaps &amp;quot;&amp;quot; &amp;quot;.myext,e:\inetpub\wwwroot\myapp\wls-iis\myfile.dll,1&amp;quot; /INSERT /COMMIT&lt;/p&gt;
&lt;p&gt;I get a success message that says nothing to update. &amp;nbsp;In addition, there are no mappings added when looking in the GUI&lt;/p&gt;
&lt;p&gt;I also tried to run the insert command first, thinking that I could remove the duplicate extension later, but when I do this and then run the remove command it removes the newly created ext (which is the one I want to keep)&lt;/p&gt;
&lt;p&gt;What am I doing wrong? &amp;nbsp;I just want to remove on app mapping and add another (or edit the app mapping that is in there)&lt;/p&gt;
&lt;p&gt;I am on IIS6&lt;/p&gt;
&lt;p&gt;thanks!&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#8663478</link><pubDate>Sat, 28 Jun 2008 15:45:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8663478</guid><dc:creator>erdem ustun</dc:creator><description>&lt;p&gt;how to check iis web side is up or down? is there a script to &amp;nbsp;check all web sites and write a text file.&lt;/p&gt;
&lt;p&gt;is it possible to conrtol with vbs &lt;/p&gt;
&lt;p&gt;thanks&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#8666959</link><pubDate>Sun, 29 Jun 2008 13:37:56 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8666959</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;erdem - please define what you mean by &amp;quot;if a web site is up or down&amp;quot;.&lt;/p&gt;
&lt;p&gt;Suppose IIS is running perfectly, but DNS outage prevents users from locating and reaching your website, is the website up or down?&lt;/p&gt;
&lt;p&gt;Suppose one application on your website is functioning but another application on your website is failing, is the website up or down?&lt;/p&gt;
&lt;p&gt;Once you clearly define what you mean by &amp;quot;if a website is up or down&amp;quot;, then one can always write a script to do what is necessary using any language of choice. It is only a matter of time and effort.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#8666999</link><pubDate>Sun, 29 Jun 2008 14:01:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8666999</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;postrgrl - in the blog entry there are functioning examples of how to add, remove, and edit a LIST property.&lt;/p&gt;
&lt;p&gt;The tool has a very simple syntax where you specify &amp;quot;the text to match against&amp;quot; to produce an index into the desired LIST property, and once you have an index, whether to remove the item, replace the text, or insert at that index.&lt;/p&gt;
&lt;p&gt;Thus, your /REMOVE syntax does not do what you say. It is only removing the first scriptmapping at W3SVC/1156155428/root/ScriptMaps, no matter what it is. If you want to remove the .myext scriptmapping, then you need to provide &amp;quot;.myext&amp;quot; to match against, instead of &amp;quot;&amp;quot;.&lt;/p&gt;
&lt;p&gt;Likewise, your /INSERT syntax does not do what you want. It finds index 0 as the first item that matches &amp;quot;&amp;quot; and attempts to insert after that item. And since your /REMOVE syntax removes the first scriptmapping, that's why your removal of duplicates attempt does not work.&lt;/p&gt;
&lt;p&gt;The easiest thing for you to do is to change an existing item, documented in the blog entry.&lt;/p&gt;
&lt;p&gt;cscript chglist.vbs w3svc/1156155428/root/ScriptMaps &amp;quot;.myext&amp;quot; &amp;quot;.myext,e:\inetpub\wwwroot\myapp\wls-iis\myfile.dll,1&amp;quot; /COMMIT&lt;/p&gt;
&lt;p&gt;The syntax looks for an entry with .myext and changes it to .myext,e:\inetpub\wwwroot\myapp\wls-iis\myfile.dll,1&lt;/p&gt;
&lt;p&gt;Of course, if .myext does not already exist, this will do nothing.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#8681407</link><pubDate>Wed, 02 Jul 2008 16:56:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8681407</guid><dc:creator>Jim Evans</dc:creator><description>&lt;p&gt;David,&lt;/p&gt;
&lt;p&gt;Your article is great and it looks like we have been beating this old, dead horse for years!! &amp;nbsp;;-)&lt;/p&gt;
&lt;p&gt;I have been everywhere on the net trying to figure out how to add a custom extension via a VB.NET 2003 Setup project. &amp;nbsp;I know this is probably not your &amp;quot;forte&amp;quot;, but do you have any idea how I can get this done?&lt;/p&gt;
&lt;p&gt;Thanks in advance,&lt;/p&gt;
&lt;p&gt;Jim Evans, MCAD&lt;/p&gt;
&lt;p&gt; &amp;nbsp; and frustrated developer!&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#8724153</link><pubDate>Sat, 12 Jul 2008 16:27:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8724153</guid><dc:creator>Aécio Lemos</dc:creator><description>&lt;p&gt;David,&lt;/p&gt;
&lt;p&gt;You have no idea how much simpler you made my job! You rock! I have been hacking my brain to use WMI and such but stubled on the whole complicated MS authentication problems when trying to access a remote server (I need my scripts to create sites and DNS and such on several servers for my hosting company). &amp;nbsp;I have finished my control panel for clients now and it should be up and running next week after the testing stage.&lt;/p&gt;
&lt;p&gt;Ten thumbs up to you. Just bookmarked your site!&lt;/p&gt;
&lt;p&gt;Thanks a bunch.&lt;/p&gt;
&lt;p&gt;A&amp;#233;cio Lemos&lt;/p&gt;
&lt;p&gt;Curitiba, Brazil&lt;/p&gt;
&lt;p&gt;www.vlsweb.com.br&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#8771725</link><pubDate>Fri, 25 Jul 2008 12:30:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8771725</guid><dc:creator>Prakash</dc:creator><description>&lt;p&gt;Is it possible to edit and update just the IP of a web site in an shared web server env.&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#8775088</link><pubDate>Sat, 26 Jul 2008 12:39:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8775088</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Prakash - if you can modify the ServerBindings property then you can change the IP of a website in IIS with this tool.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#8904107</link><pubDate>Thu, 28 Aug 2008 23:37:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8904107</guid><dc:creator>Aecio Lemos</dc:creator><description>&lt;p&gt;Just a quick fact for a quick laugh. If you type &amp;quot;chglist.vbs&amp;quot; in Google and search, it suggests CHRIST.vbs! So is this a holy script or what? Just thought I'd share! :D&lt;/p&gt;
&lt;p&gt;Take care!&lt;/p&gt;
&lt;p&gt;Aecio&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#8904147</link><pubDate>Thu, 28 Aug 2008 23:57:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8904147</guid><dc:creator>Aecio Lemos</dc:creator><description>&lt;p&gt;I have run into a problem. I try to insert a record like this:&lt;/p&gt;
&lt;p&gt;C:\windows\system32\cscript.exe C:\Inetpub\AdminScripts\chglist.vbs W3SVC/1110424359/ServerBindings LAST &amp;quot;66.155.112.33:80:aaateste.com&amp;quot; /INSERT /COMMIT&lt;/p&gt;
&lt;p&gt;It works fine. But then when I try to delete it like this:&lt;/p&gt;
&lt;p&gt;C:\windows\system32\cscript.exe C:\Inetpub\AdminScripts\chglist.vbs W3SVC/1110424359/ServerBindings &amp;quot;66.155.112.33:80:aaateste.com&amp;quot; &amp;nbsp;/DELETE /COMMIT&lt;/p&gt;
&lt;p&gt;it deletes the entry, but I get a blank entry in the server bindings, which generates an error and stops the website. I can't find an example of how to delete the bindings.&lt;/p&gt;
&lt;p&gt;What am I doing wrong?&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#8904154</link><pubDate>Fri, 29 Aug 2008 00:00:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8904154</guid><dc:creator>Aecio Lemos</dc:creator><description>&lt;p&gt;SORRY!!!! Wrong command. It is REMOVE and not DELETE. Sorry for the misunderstanding! It works now!&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#8924763</link><pubDate>Thu, 04 Sep 2008 20:07:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8924763</guid><dc:creator>Steve Livingston</dc:creator><description>&lt;p&gt;David you mentioned that we need to change the strServer = &amp;quot;localhost&amp;quot; line to take in commandline parameters if we wanted to make changes on remote servers.&lt;/p&gt;
&lt;p&gt;With the way I did it, I had to change another section of code &amp;nbsp;to ignore the additional commandline parameter as well as adjust the parameter count and parameter numbers now that I introduced the extra paramater.&lt;/p&gt;
&lt;p&gt;So here are the changes I made.&lt;/p&gt;
&lt;p&gt;' changed from strServer = &amp;quot;localhost&amp;quot; so that the first paramater is the remote server name&lt;/p&gt;
&lt;p&gt;strServer = WScript.Arguments(0)&lt;/p&gt;
&lt;p&gt;strNamespace = &amp;quot;IIS://&amp;quot; &amp;amp; strServer&lt;/p&gt;
&lt;p&gt;strSchemaNamespace = strNamespace &amp;amp; &amp;quot;/&amp;quot; &amp;amp; &amp;quot;Schema&amp;quot;&lt;/p&gt;
&lt;p&gt;'&lt;/p&gt;
&lt;p&gt;' Parse the commandline&lt;/p&gt;
&lt;p&gt;'&lt;/p&gt;
&lt;p&gt;' Increased the WScript.Arguments.Count to check for from 3 to 4.&lt;/p&gt;
&lt;p&gt;If WScript.Arguments.Count &amp;lt; 4 Then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Err.Number = ERROR_INVALID_PARAMETER&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;HandleError &amp;quot;Insufficient number of arguments.&amp;quot; &amp;amp; CRLF &amp;amp;_&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CRLF &amp;amp;_&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;strHelp &amp;amp;_&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;&amp;quot;&lt;/p&gt;
&lt;p&gt;End If&lt;/p&gt;
&lt;p&gt;nOperationType = LIST_OPTION_REPLACE&lt;/p&gt;
&lt;p&gt;'Started the for loop to begin from the second parameter now that the first one is the name of the remote server (for i=1). &amp;nbsp;&lt;/p&gt;
&lt;p&gt;'Also increased the WScript.Argument numbers by 1.&lt;/p&gt;
&lt;p&gt;For i = 1 To WScript.Arguments.Count - 1&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Select Case UCase( WScript.Arguments( i ) )&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Case &amp;quot;/INSERT&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;nOperationType = nOperationType Or LIST_OPTION_INSERT&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Case &amp;quot;/REMOVE&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;nOperationType = nOperationType Or LIST_OPTION_REMOVE&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Case &amp;quot;/ALL&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;nOperationType = nOperationType Or LIST_OPTION_ALL&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Case &amp;quot;/RECURSE&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;nOperationType = nOperationType Or LIST_OPTION_RECURSE&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Case &amp;quot;/COMMIT&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Debug = false&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Case &amp;quot;/VERBOSE&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Verbose = true&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Case &amp;quot;/REGEXP&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;reMatch = true&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Case Else&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If ( i = 1 ) Then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;' Split out PropertyName and its ParentPath from PropertyPath&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Err.Clear&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;strNormalizedPath = NormalizePath( WScript.Arguments( 1 ) )&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;HandleError &amp;quot;Failed to normalize PropertyPath.&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;j = InstrRev( strNormalizedPath, &amp;quot;/&amp;quot;, -1, 0 )&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If ( j = 0 Or j = 1 ) Then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Err.Number = ERROR_PATH_NOT_FOUND&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;HandleError &amp;quot;Invalid PropertyPath.&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;End If&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Err.Clear&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;strPropertyPath = NormalizePath( Mid( strNormalizedPath, 1, j - 1 ) )&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;HandleError &amp;quot;Failed to retrieve/normalize PropertyPath.&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Err.Clear&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;strPropertyName = NormalizePath( Mid( strNormalizedPath, j + 1 ) )&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;HandleError &amp;quot;Failed to retrieve/normalize PropertyName.&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ElseIf ( i = 2 ) Then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;' The existing match value&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;strPropertyExistValue = Replace( UCase( WScript.Arguments( 2 ) ), &amp;quot;``&amp;quot;, &amp;quot;&amp;quot;&amp;quot;&amp;quot; )&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ElseIf ( i = 3 ) Then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;' The new replace value&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;strPropertyNewValue = Replace( WScript.Arguments( 3 ), &amp;quot;``&amp;quot;, &amp;quot;&amp;quot;&amp;quot;&amp;quot; )&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Else&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Err.Number = ERROR_INVALID_PARAMETER&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;HandleError &amp;quot;Unknown parameter &amp;quot; &amp;amp; WScript.Arguments( i ) &amp;amp; CRLF &amp;amp;_&lt;/p&gt;
&lt;p&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;CRLF &amp;amp;_&lt;/p&gt;
&lt;p&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;strHelp &amp;amp;_&lt;/p&gt;
&lt;p&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;quot;&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;End If&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;End Select&lt;/p&gt;
&lt;p&gt;Next&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#8935921</link><pubDate>Tue, 09 Sep 2008 08:57:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8935921</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Steve - your approach is one possible way. However, it introduces unnecessary positional-dependent parameters (i.e. your solution MUST pass in a server name for the first parameter, even though it is not necessary).&lt;/p&gt;
&lt;p&gt;My code uses a really quick and dirty commandline parsing routine, meant mostly for example/illustration.&lt;/p&gt;
&lt;p&gt;If I wanted to add server support on the commandline to this script, I would add a new switch case named &amp;quot;/SERVER&amp;quot;, which sets strServer to the value of WScript.Arguments(i+1) (appropriately error checking against /SERVER without a follow-on parameter or /SERVER /COMMIT). And also move strNamespace and strSchemaNamespace assignments to after the commandline parsing for-loop. This would produce mostly code insertion, no modification of existing logic, and no positional-dependent parameters.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>Instalar PHP en Windows en 5 Pasos | Jes??s Llor</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#9038354</link><pubDate>Tue, 04 Nov 2008 12:27:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9038354</guid><dc:creator>Instalar PHP en Windows en 5 Pasos | Jes??s Llor</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://www.jesusllor.es/?p=360"&gt;http://www.jesusllor.es/?p=360&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#9062548</link><pubDate>Wed, 12 Nov 2008 16:20:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9062548</guid><dc:creator>T Fairweather</dc:creator><description>&lt;p&gt;Thanks very much for this script - works a treat.&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#9176127</link><pubDate>Thu, 04 Dec 2008 21:51:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9176127</guid><dc:creator>Brendan</dc:creator><description>&lt;p&gt;How do I use this if I don't know the site idendifier? &amp;nbsp;I only know the site description.&lt;/p&gt;
&lt;p&gt;I had already managed to use IISWEB to add new sites to IIS but unfortunately, it appears that it can only add one host header. &amp;nbsp;I need to be able to also bid the site domain without the host header &amp;quot;www&amp;quot; prefix.&lt;/p&gt;
&lt;p&gt;Is there any way to query the site identifier # (via coldfusion) and then pass that value to your script?&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#9176929</link><pubDate>Fri, 05 Dec 2008 00:09:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9176929</guid><dc:creator>Jimmy Gilley</dc:creator><description>&lt;p&gt;Thanks for make the script David,&lt;/p&gt;
&lt;p&gt;I use it to insert wildcard Application maps into IIS websites. &amp;nbsp;But I am not sure how to remove or change the one that is already there. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Would love it if you could show me how or let me know if it is possible.&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#9183792</link><pubDate>Mon, 08 Dec 2008 10:20:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9183792</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Brendan - you can use ADSUTIL.VBS FIND ServerComment to get all site descriptions and then filter through it to find the corresponding SiteID.&lt;/p&gt;
&lt;p&gt;If you create/use a dedicated script calling ADSI, it is pretty easy because CreateWebsite will return the SiteID as well as the Site Object, which allows you to do the other manipulation.&lt;/p&gt;
&lt;p&gt;If you use script tools, then you have to be creative and stitch them together.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#9183806</link><pubDate>Mon, 08 Dec 2008 10:25:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9183806</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Jimmy - this blog entry provides exact samples for how to remove or change the one that is already there.&lt;/p&gt;
&lt;p&gt;There are many possible variantions using this tool, but those are exercises to the reader. The source code is already provided, so the reader must figure out how to use the tool and support him/her self.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#9364489</link><pubDate>Thu, 22 Jan 2009 10:56:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9364489</guid><dc:creator>spring yan</dc:creator><description>&lt;p&gt;thanks david, it help me to avoid the shortage of adsutil.vbs &lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#9443907</link><pubDate>Wed, 25 Feb 2009 14:02:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9443907</guid><dc:creator>Tricky</dc:creator><description>&lt;p&gt;After much grinning, I found a script that would add *just* MIME types you want to add, *NON*-destructively. The original code was commented and formatted for a different purpose. I modified it specifically just to add Office 2007 MIME types and re-commented appropriately. You should be able to add MIME types easily by just simply replacing my Office 2007 MIME types with the ones you need. See &lt;a rel="nofollow" target="_new" href="http://dogma.swiftspirit.co.za/archives/183"&gt;http://dogma.swiftspirit.co.za/archives/183&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> David Wang How to Manipulate insert replace remove LIST data type | Paid Surveys</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#9658266</link><pubDate>Sat, 30 May 2009 00:16:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9658266</guid><dc:creator> David Wang How to Manipulate insert replace remove LIST data type | Paid Surveys</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://paidsurveyshub.info/story.php?title=david-wang-how-to-manipulate-insert-replace-remove-list-data-type"&gt;http://paidsurveyshub.info/story.php?title=david-wang-how-to-manipulate-insert-replace-remove-list-data-type&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> David Wang How to Manipulate insert replace remove LIST data type | fire pit</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#9747402</link><pubDate>Sun, 14 Jun 2009 06:15:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9747402</guid><dc:creator> David Wang How to Manipulate insert replace remove LIST data type | fire pit</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://firepitidea.info/story.php?id=887"&gt;http://firepitidea.info/story.php?id=887&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>使用Installshield2009 在IIS6部署Asp.net mvc 应用程序</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#9759656</link><pubDate>Tue, 16 Jun 2009 10:52:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9759656</guid><dc:creator>Haozes</dc:creator><description>&lt;p&gt;一.使用ASP.NETMVCBin编译 参考文章:&lt;a rel="nofollow" target="_new" href="http://haacked.com/archive/2008/11/03/bin-deploy-aspnetmvc.aspx"&gt;http://haacked.com/archive/2008/11/03/bin-deploy-aspnetmvc.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;二.II...&lt;/p&gt;
</description></item><item><title>re: How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration</title><link>http://blogs.msdn.com/david.wang/archive/2004/12/02/273681.aspx#9846598</link><pubDate>Thu, 23 Jul 2009 20:05:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9846598</guid><dc:creator>Edward M</dc:creator><description>&lt;p&gt;David, &amp;nbsp;/INSERT option allows to add a value second to the last one in the LIST, but &amp;nbsp;how can I use this script to add new value to the end of the LIST? &amp;nbsp;I am trying to add new HTTPCustomHeader. &amp;nbsp; &lt;/p&gt;
&lt;p&gt;Than you.&lt;/p&gt;
</description></item></channel></rss>