<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.iis.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:cs="http://blogs.iis.net/"><channel><title>Search results matching tags 'IIS News Item' and '.NET'</title><link>http://blogs.iis.net/search/SearchResults.aspx?o=DateDescending&amp;tag=IIS+News+Item,.NET&amp;orTags=0</link><description>Search results matching tags 'IIS News Item' and '.NET'</description><dc:language>en-US</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Microsoft Web Platform Installer Beta Released</title><link>http://blogs.iis.net/carlosag/archive/2008/10/02/microsoft-web-platform-installer-beta-released.aspx</link><pubDate>Thu, 02 Oct 2008 11:00:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2660111</guid><dc:creator>Anonymous</dc:creator><cs:applicationKey>carlosag</cs:applicationKey><description>&lt;P&gt;Today we are releasing a new Web Site at &lt;A title=http://www.microsoft.com/web/ href="http://www.microsoft.com/web/" mce_href="http://www.microsoft.com/web/"&gt;http://www.microsoft.com/web/&lt;/A&gt; where users can get a one stop shop for learning about the Microsoft Web Platform. This is part of a bigger effort to make it easier to get started with building and running Web Applications on Windows and IIS. &lt;/P&gt;
&lt;P&gt;As part of this a new tool called the &lt;STRONG&gt;Web Platform Installer&lt;/STRONG&gt; Beta is also being released to help you getting started installing and getting all the software that you need from a single place without having to hunt around for installers, links or anything else. Just launch the tool, choose the software and configuration you are interested and it takes care of validating and installing pre-requisites.&lt;/P&gt;
&lt;P&gt;This tool will let you easily setup your development machines for building Web Applications quite nicely, it will also help you discover new tools, applications, features and beta's as they are getting released from several sources including IIS, ASP.NET and Visual Web Developer and more as we continually make new software available through updates to the feed that the tool consumes.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Download page: &lt;A title=http://www.microsoft.com/web/channel/products/WebPlatformInstaller.aspx href="http://www.microsoft.com/web/channel/products/WebPlatformInstaller.aspx" mce_href="http://www.microsoft.com/web/channel/products/WebPlatformInstaller.aspx"&gt;http://www.microsoft.com/web/channel/products/WebPlatformInstaller.aspx&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Link to Run it: &lt;A title=http://go.microsoft.com/?linkid=9588072 href="http://go.microsoft.com/?linkid=9588072" mce_href="http://go.microsoft.com/?linkid=9588072"&gt;http://go.microsoft.com/?linkid=9588072&lt;/A&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Here are a few snapshots of the tool:&lt;/P&gt;
&lt;P&gt;This is the start page where you can choose to install everything available or customize the installation (Your Choice).&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.carlosag.net/images/MicrosoftWebPlatformandtheWebPlatformIns_103F5/image.png" mce_href="http://www.carlosag.net/images/MicrosoftWebPlatformandtheWebPlatformIns_103F5/image.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=301 alt="WebPI Start Page" src="http://www.carlosag.net/images/MicrosoftWebPlatformandtheWebPlatformIns_103F5/image_thumb.png" width=404 border=0 mce_src="http://www.carlosag.net/images/MicrosoftWebPlatformandtheWebPlatformIns_103F5/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;In this page you can customize the selection and browse around all the current list of products and check and uncheck any product you want to install.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.carlosag.net/images/MicrosoftWebPlatformandtheWebPlatformIns_103F5/image_3.png" mce_href="http://www.carlosag.net/images/MicrosoftWebPlatformandtheWebPlatformIns_103F5/image_3.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=301 alt=image src="http://www.carlosag.net/images/MicrosoftWebPlatformandtheWebPlatformIns_103F5/image_thumb_3.png" width=404 border=0 mce_src="http://www.carlosag.net/images/MicrosoftWebPlatformandtheWebPlatformIns_103F5/image_thumb_3.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;There are a couple of more pages, and finally the progress where the tool downloads any files required and install them, so that you can at once get the whole Web Platform installed easily.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.carlosag.net/images/MicrosoftWebPlatformandtheWebPlatformIns_103F5/image_4.png" mce_href="http://www.carlosag.net/images/MicrosoftWebPlatformandtheWebPlatformIns_103F5/image_4.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=301 alt=image src="http://www.carlosag.net/images/MicrosoftWebPlatformandtheWebPlatformIns_103F5/image_thumb_4.png" width=404 border=0 mce_src="http://www.carlosag.net/images/MicrosoftWebPlatformandtheWebPlatformIns_103F5/image_thumb_4.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Some of the products and features that the Beta supports installing and configuring include:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;IIS (Ability to granularly configure each of the features of IIS)&lt;/LI&gt;
&lt;LI&gt;IIS Extensions (such as the Out-of-band releases that we have made available in &lt;A href="http://www.iis.net/" mce_href="http://www.iis.net"&gt;http://www.iis.net&lt;/A&gt; including &lt;STRONG&gt;Bit Rate Throttling, Web Playlist, Microsoft Web Deployment, FTP 7.0 Server, URL Rewrite, and more)&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;.NET Framework 3.5&lt;/LI&gt;
&lt;LI&gt;SQL Express 2008&lt;/LI&gt;
&lt;LI&gt;SQL Server Driver for PHP&lt;/LI&gt;
&lt;LI&gt;Visual Web Developer 2008 Express &lt;/LI&gt;
&lt;LI&gt;Windows Installer 4.5&lt;/LI&gt;
&lt;LI&gt;more&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;So as you can see everything you need to build Web Applications, from a Web Server (IIS), to a Development tool (Visual Web Developer) to a Database (SQL Server Express) and many more all for free.&lt;/P&gt;
&lt;P&gt;So go ahead and try the tool, give us feedback (&lt;STRONG&gt;remember this is a Beta) &lt;/STRONG&gt;so it can only get better :)&lt;/P&gt;&lt;IMG height=1 src="http://blogs.msdn.com/aggbug.aspx?PostID=8974090" width=1&gt;</description></item><item><title>Using Microsoft.Web.Administration in Windows PowerShell</title><link>http://blogs.iis.net/carlosag/archive/2008/02/10/using-microsoft-web-administration-in-windows-powershell.aspx</link><pubDate>Mon, 11 Feb 2008 00:53:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2164628</guid><dc:creator>Anonymous</dc:creator><cs:applicationKey>carlosag</cs:applicationKey><description>&lt;P&gt;A couple of months ago I wrote about using LINQ with Microsoft.Web.Administration to manage and query IIS 7.0 configuration. Somebody came back to me and said that LINQ was very cool but that it was very much Developer oriented and that in a production server without VS or .NET 3.5 it wouldn't be an option. Indeed that is a very valid comment and so I decided to show similar stuff with a tool that is available in Windows and its more IT oriented, Windows PowerShell. &lt;/P&gt;
&lt;P&gt;So in this blog I will quickly mention some of the things you can easily do with Microsoft.Web.Administration inside Windows PowerShell. &lt;/P&gt;
&lt;P&gt;To start working with Microsoft.Web.Administration the first thing you need to do is load the assembly so that you can start using it. It is quite easy using the methods from the Assembly type. &lt;/P&gt;
&lt;DIV class=code&gt;[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Web.Administration") &lt;/DIV&gt;
&lt;P&gt;Once you have the assembly available then you will need to create an instance of our ServerManager class that gives you access to the entire configuration system. &lt;/P&gt;
&lt;DIV class=code&gt;$iis = new-object Microsoft.Web.Administration.ServerManager &lt;/DIV&gt;
&lt;P&gt;The above line basically declares a variable called &lt;SPAN style="FONT-FAMILY: Courier New"&gt;$iis &lt;/SPAN&gt;that we will be able to use for all of our configuration tasks. &lt;/P&gt;
&lt;P&gt;Now to more interesting stuff. &lt;/P&gt;
&lt;P&gt;Getting the list of Sites &lt;/P&gt;
&lt;P&gt;Getting the list of sites is as easy as just accessing the Sites collection, this will output all the information about sites &lt;/P&gt;
&lt;DIV class=code&gt;&lt;STRONG&gt;PS C:\ &amp;gt; $iis = new-object Microsoft.Web.Administration.ServerManager &lt;/STRONG&gt;&lt;BR&gt;&lt;STRONG&gt;PS C:\ &amp;gt; $iis.sites &lt;/STRONG&gt;&lt;BR&gt;ApplicationDefaults : Microsoft.Web.Administration.ApplicationDefaults &lt;BR&gt;Applications : {DefaultAppPool, DefaultAppPool, DefaultAppPool, DefaultAppPool...} &lt;BR&gt;Bindings : {} &lt;BR&gt;Id : 1 &lt;BR&gt;Limits : Microsoft.Web.Administration.SiteLimits &lt;BR&gt;LogFile : Microsoft.Web.Administration.SiteLogFile &lt;BR&gt;Name : Default Web Site &lt;BR&gt;ServerAutoStart : True &lt;BR&gt;State : Started &lt;BR&gt;&lt;BR&gt;&lt;/DIV&gt;
&lt;P&gt;However, we can also specify the information we care and the format we want to use, for example: &lt;/P&gt;
&lt;DIV class=code&gt;&lt;STRONG&gt;PS C:\ &amp;gt; $iis = new-object Microsoft.Web.Administration.ServerManager &lt;/STRONG&gt;&lt;BR&gt;&lt;STRONG&gt;PS C:\ &amp;gt; $iis.sites | select-object Id, Name, State &lt;/STRONG&gt;&lt;BR&gt;Id Name State &lt;BR&gt;-- ---- ----- &lt;BR&gt;1 Default Web Site Started &lt;BR&gt;2 Site2 Started &lt;BR&gt;3 Site3 Started &lt;/DIV&gt;
&lt;P&gt;You can also use the where-object command to filter objects to get only the sites that are Stopped, and then we want to Start them. &lt;/P&gt;
&lt;DIV class=code&gt;&lt;STRONG&gt;PS C:\ &amp;gt; $iis = new-object Microsoft.Web.Administration.ServerManager &lt;/STRONG&gt;&lt;BR&gt;&lt;STRONG&gt;PS C:\ &amp;gt; $iis.sites | where-object {$_.State -eq "Stopped"} | foreach-object { $_.Start() }&lt;/STRONG&gt; &lt;/DIV&gt;
&lt;P&gt;OK, now let's imagine I want to find all the applications that are configured to run in the Default ApplicationPool and move them to run in my NewAppPool. This is better to do it in three lines: &lt;/P&gt;
&lt;DIV class=code&gt;&lt;STRONG&gt;PS C:\ &amp;gt; $iis = new-object Microsoft.Web.Administration.ServerManager &lt;/STRONG&gt;&lt;BR&gt;&lt;STRONG&gt;PS C:\ &amp;gt; $iis.sites | foreach { &lt;/STRONG&gt;&lt;BR&gt;&lt;STRONG&gt;$_.Applications | where { $_.ApplicationPoolName -eq 'DefaultAppPool' } | &lt;/STRONG&gt;&lt;BR&gt;&lt;STRONG&gt;foreach { $_.ApplicationPoolName = 'NewAppPool' } &lt;/STRONG&gt;&lt;BR&gt;&lt;STRONG&gt;} &lt;/STRONG&gt;&lt;BR&gt;&lt;STRONG&gt;PS C:\ &amp;gt; $iis.CommitChanges() &lt;/STRONG&gt;&lt;/DIV&gt;&lt;BR&gt;
&lt;P&gt;Now let's say I want to find the top 20 distinct URL's of all the requests running in all my worker processes that has taken more than 1 second. &lt;/P&gt;
&lt;DIV class=code&gt;&lt;STRONG&gt;PS C:\ &amp;gt; $iis = new-object Microsoft.Web.Administration.ServerManager &lt;/STRONG&gt;&lt;BR&gt;&lt;STRONG&gt;PS C:\ &amp;gt; $iis.WorkerProcesses | foreach { &lt;/STRONG&gt;&lt;BR&gt;&lt;STRONG&gt;$_.GetRequests(1000) | sort TimeElapsed -descending | &lt;/STRONG&gt;&lt;BR&gt;&lt;STRONG&gt;select-object Url -unique -first 20 } &lt;/STRONG&gt;&lt;/DIV&gt;
&lt;P&gt;OK, finally let's say I want to display a table of all the applications running under DefaultAppPool and display if Anonymous authentication is enabled or not. (Now this one is almost on the edge of "you should do it differently, but it is Ok if you are only reading a single value from the section): &lt;/P&gt;
&lt;DIV class=code&gt;&lt;STRONG&gt;PS C:\ &amp;gt; $iis = new-object Microsoft.Web.Administration.ServerManager &lt;/STRONG&gt;&lt;BR&gt;&lt;STRONG&gt;PS C:\ &amp;gt; $iis.Sites | foreach { &lt;/STRONG&gt;&lt;BR&gt;&lt;STRONG&gt;$_.Applications | where { $_.ApplicationPoolName -eq 'DefaultAppPool' } | &lt;/STRONG&gt;&lt;BR&gt;&lt;STRONG&gt;select-object Path,@{Name="AnonymousEnabled"; Expression = { &lt;/STRONG&gt;&lt;BR&gt;&lt;STRONG&gt;$_.GetWebConfiguration().GetSection("system.webServer/security/authentication/anonymousAuthentication").GetAttributeValue("enabled") &lt;/STRONG&gt;&lt;BR&gt;&lt;STRONG&gt;}} &lt;/STRONG&gt;&lt;BR&gt;&lt;STRONG&gt;} &lt;/STRONG&gt;&lt;/DIV&gt;
&lt;P&gt;Again, the interesting thing is that now you can access all the functionality from M.W.A. from Windows PowerShell very easily without the need of compiling code or anything else. It does take some time to get used to the syntax, but once you do it you can do very fancy stuff. &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7596437" width="1" height="1"&gt;</description></item></channel></rss>