<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>IISLogs.com - iis</title><link>http://www.iislogs.com:80/Tags/iis</link><description>IISLogs.com - iis</description><item><title>Windows Server 2012, IIS8, ASP.NET 3.5 and issue installing behind firewall (without internet)</title><link>http://www.iislogs.com:80/steveschofield/windows-server-2012-iis8-asp.net-3.5-and-issue-installing-behind-firewall-without-internet</link><description>&lt;p&gt;I’ve been starting to become familiar with Windows Server 2012 (aka Win8).&amp;nbsp;&amp;nbsp; I’ve been a server “guy” for several years and when new versions come out, especially with another version of IIS.&amp;nbsp; My interest is peaked to evaluate new features.&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;This blog post is about a recent issue that alters a bit how we install the .NET 3.5 framework.&amp;nbsp; A little history, when .NET 1.0 came out, it was a stand-alone runtime that would install on Windows 2000.&amp;nbsp; When Windows Server 2003, .NET 1.1 was part of the OS and you needed to install the .NET 1.0 runtime (to get have apps that supported 1.0).&amp;nbsp;&amp;nbsp; When Windows 2008 came out, the .NET 2.0 framework was part of the OS and you needed to install .NET 1.1 on Server 2008 to get the functionality.&amp;nbsp; (.NET 1.0 didn’t run on Win 2008).&amp;nbsp; &lt;/p&gt; &lt;p&gt;Now comes along Windows Server 2012, it has .NET 4.x as part of the OS, so based on previous patterns, you’d be able to install the .NET 3.5 using the runtime, *cough* &lt;strong&gt;wrong&lt;/strong&gt;.&amp;nbsp; Here is the error you’ll get.&lt;/p&gt; &lt;p&gt;&lt;img src="http://www.iislogs.com/images/win2012aspnet1.jpg"&gt;&lt;/p&gt; &lt;p&gt;One would wonder &lt;strong&gt;“How do I get .NET 3.5 (2.0) on my Windows Server 2012?” &lt;/strong&gt; I came across this article on MSDN, you need to specify a source. (when behind a firewall)&lt;/p&gt; &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/hh848079%28v=vs.85%29.aspx"&gt;http://msdn.microsoft.com/en-us/library/hh848079%28v=vs.85%29.aspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;I tried putting the .NET 3.5 runtime on a local drive, a network share, both failed.&amp;nbsp; Here is the error I got in the UI.&amp;nbsp; Note the /source parameter.&lt;/p&gt; &lt;p&gt;&lt;img src="http://www.iislogs.com/images/win2012aspnet2.jpg"&gt;&lt;/p&gt; &lt;p&gt;To install IIS8, I use a command line install&amp;nbsp; using Add-WindowsFeature.&lt;/p&gt; &lt;p&gt;Open Powershell&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Paste this line&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;$IISFeatures = @("Web-Static-Content", "Web-Default-Doc", "Web-Http-Errors", "Web-Asp-Net", "Web-Asp-Net45", "Web-Net-Ext", "Web-ISAPI-Ext", "Web-ISAPI-Filter", "Web-Http-Logging", "Web-Log-Libraries", "Web-Request-Monitor", "Web-Http-Tracing", "Web-Windows-Auth", "Web-Filtering", "Web-IP-Security", "Web-Stat-Compression", "Web-Dyn-Compression", "Web-Mgmt-Console", "Web-Scripting-Tools", "Web-Metabase", "Web-WMI", "Web-Lgcy-Scripting","NET-Framework-Core")  &lt;p&gt;&lt;strong&gt;Run this command&lt;/strong&gt; &lt;p&gt;Add-WindowsFeature -Name $IISfeatures -logPath "$Env:ComputerName.log" &lt;strong&gt;–Source &lt;a href="file://\\Server\Share\sources"&gt;\\Server\Share\sources&lt;/a&gt;&lt;/strong&gt; &lt;p&gt;Let me point out the highlighted text in the MSDN article.&amp;nbsp; You’ll need to mount the Windows Server 2012 and extract the source files (anyone remember extracting the i386 folder for windows 2003/2000, time to put back on the network again &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.iislogs.com/Media/Default/Windows-Live-Writer/Windows-2012-ASP.5-and-issue-installing_14646/wlEmoticon-smile_2.png"&gt;)&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Assuming you mounted the ISO to the E: drive on your computer.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;xcopy e:\sources\sxs\*.* c:\dotnet35 /s &lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;or&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;xcopy e:\sources\sxs\*.* &lt;/strong&gt;&lt;a href="file://\\Server\Share\sources"&gt;&lt;strong&gt;\\Server\Share\sources&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; /s &lt;/strong&gt;&lt;/p&gt; &lt;p&gt;After this little adventure, which took a couple hours to figure out, life was good and I could proceed with my Windows Server 2012 testing.&amp;nbsp; I had ASP.NET 2.0/3.5/4.x on my test server.&amp;nbsp; I’ve tested on the full GUI Server 2012 and Minimal Install GUI Server Core.&amp;nbsp;&amp;nbsp; I haven’t went full out for server core without a GUI.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Happy Testing&lt;/p&gt; &lt;p&gt;Steve Schofield&lt;br&gt;Microsoft MVP ASP.NET/IIS&lt;br&gt;&lt;a href="http://www.iislogs.com/steveschofield"&gt;http://www.iislogs.com/steveschofield&lt;/a&gt;&lt;/p&gt;</description><pubDate>Sat, 28 Apr 2012 03:35:23 GMT</pubDate><guid isPermaLink="true">http://www.iislogs.com:80/steveschofield/windows-server-2012-iis8-asp.net-3.5-and-issue-installing-behind-firewall-without-internet</guid></item><item><title>App Warm-up Module released for Windows Server 2008 R2</title><link>http://www.iislogs.com:80/steveschofield/app-warm-up-module-released-for-windows-server-2008-r2</link><description>&lt;p&gt;I’ve been a little busy and catching up on Windows 8/IIS8.&amp;nbsp; Here is some good news from the IIS/ASP.NET team.&amp;nbsp; A couple useful module released for IIS 7.5.&amp;nbsp; For those running SharePoint farms and the app pool warm-up takes ‘forever’.&amp;nbsp; Here is a way to help.&amp;nbsp;&amp;nbsp; This is definitely great news for IIS web server administrators.&amp;nbsp; Thanks Shawn and MS for releasing this much needed module.&amp;nbsp; Enjoy!! &lt;p&gt;&amp;nbsp;&lt;br&gt;“We are pleased to announce that &lt;b&gt;Release Candidate&lt;/b&gt; builds for the following IIS extensions are now available for download:  &lt;p&gt;· &lt;b&gt;Application Initialization for IIS 7.5&lt;/b&gt; (replacement for the previous “Application Warmup” beta extension)  &lt;p&gt;· &lt;b&gt;Dynamic IP Restrictions for IIS 7/7.5&lt;/b&gt;  &lt;p&gt;See below for details and download links.  &lt;p&gt;&lt;b&gt;Application Initialization for IIS 7.5 (Release Candidate)&lt;/b&gt;  &lt;p&gt;Application Initialization 1.0 for IIS 7.5 enables website administrators to configure IIS to proactively perform initialization tasks for one or more web applications. While an application is being initialized, IIS can also be configured to return an alternate response such as static content as a placeholder or "splash page" until an application has completed its initialization tasks. The module includes the following features:  &lt;p&gt;· Introduces the concept of a "warmup period" to the server.  &lt;p&gt;· Enables developers to control the behavior of their applications during the warmup period.  &lt;p&gt;· Enables server administrators to "pre-load" important applications by initializing them as soon as the worker process starts.  &lt;p&gt;· Allows seamless recycling of pre-loaded application pools with no user-perceptible impact.  &lt;p&gt;x64 download: &lt;a href="http://go.microsoft.com/fwlink/?LinkId=247817"&gt;http://go.microsoft.com/fwlink/?LinkId=247817&lt;/a&gt;  &lt;p&gt;x86 download: &lt;a href="http://go.microsoft.com/fwlink/?LinkId=247816"&gt;http://go.microsoft.com/fwlink/?LinkId=247816&lt;/a&gt;  &lt;p&gt;Support forum: &lt;a href="http://forums.iis.net/1165.aspx"&gt;http://forums.iis.net/1165.aspx&lt;/a&gt;  &lt;p&gt;Documentation:  &lt;p&gt;&lt;a href="http://learn.iis.net/page.aspx/1089/iis-80-application-initialization/"&gt;IIS 8.0 Application Initialization&lt;/a&gt; (this was written for IIS 8, but this extension provides the same functionality for IIS 7.5)  &lt;p&gt;&lt;b&gt;Dynamic IP Restrictions for IIS 7/7.5 (Release Candidate)&lt;/b&gt;  &lt;p&gt;The Dynamic IP Restrictions Extension for IIS provides IT Professionals and Hosters a configurable module that helps mitigate or block Denial of Service Attacks or cracking of passwords through brute-force by temporarily blocking Internet Protocol (IP) addresses of HTTP clients who follow a pattern that could be conducive to one of such attacks. This module can be configured such that the analysis and blocking could be done at the Web Server or the Web Site level. The module includes the following features:  &lt;p&gt;· Seamless integration into IIS 7.0 Manager.  &lt;p&gt;· Dynamically blocking of requests from IP address based on either of the following criteria:  &lt;p&gt;o The number of concurrent requests.  &lt;p&gt;o The number of requests over a period of time.  &lt;p&gt;· Blocking of requests can be configured at either site or server level.  &lt;p&gt;· Configurable deny actions allows IT Administrators to specify what response would be returned to the client. The module support return status codes 401, 403, 404 or blocking the requests entirely.  &lt;p&gt;· Support for IPv6 addresses.  &lt;p&gt;· Support for web servers behind a proxy or firewall.  &lt;p&gt;x64 download: &lt;a href="http://go.microsoft.com/fwlink/?LinkId=247814"&gt;http://go.microsoft.com/fwlink/?LinkId=247814&lt;/a&gt;  &lt;p&gt;x86 download: &lt;a href="http://go.microsoft.com/fwlink/?LinkId=247815"&gt;http://go.microsoft.com/fwlink/?LinkId=247815&lt;/a&gt;  &lt;p&gt;Support forum: &lt;a href="http://forums.iis.net/1043.aspx"&gt;http://forums.iis.net/1043.aspx&lt;/a&gt;  &lt;p&gt;Documentation:  &lt;p&gt;Using Dynamic IP Restrictions”&lt;/p&gt;</description><pubDate>Tue, 03 Apr 2012 09:28:42 GMT</pubDate><guid isPermaLink="true">http://www.iislogs.com:80/steveschofield/app-warm-up-module-released-for-windows-server-2008-r2</guid></item><item><title>Getting AWStats installed and configured on IIS 7.5</title><link>http://www.iislogs.com:80/steveschofield/getting-awstats-installed-and-configured-on-iis-7.5</link><description>&lt;p&gt;One of things I’ve wanted to evaluate is AWStats for doing analytics on a variety of sites I run. AWStats (&lt;a href="http://www.awstats.org"&gt;www.awstats.org&lt;/a&gt;) is a free Open Source (Perl based) package. One of the things I couldn't find that covered the steps to get IIS 7.5 up and running.&amp;nbsp; I’m still working on a few config items within AWStats, which if you have suggestions, please let me know.  &lt;p&gt;Here is the order of what I did to get my server up and running. I’ll assume you have a Windows Server 2008 or 2008 R2 server with IIS Installed.&amp;nbsp;&amp;nbsp; If you have any further questions, comments please feel free to add to the article.&amp;nbsp; &lt;p&gt;&lt;strong&gt;Steps&lt;/strong&gt;  &lt;ul&gt; &lt;li&gt;Download, Install ActivePerl  &lt;li&gt;Download AWStats  &lt;li&gt;Setup DNS (Optional)  &lt;li&gt;Setup IIS Site  &lt;li&gt;Configure App Pool as 32 bit  &lt;li&gt;Setup Perl Handler, approve isapi  &lt;li&gt;Setup AWStats conf files.  &lt;li&gt;Enable frequent updates  &lt;li&gt;Misc things&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Download, Install ActivePerl&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.activestate.com/activeperl"&gt;http://www.activestate.com/activeperl&lt;/a&gt;  &lt;p&gt;The first thing you'll need is a method to run PERL on Windows. Thankfully, ActiveState provides an x86 and x64 Perl implementation. From my testing, I can only get the x86 edition running within IIS. For purposes of this article, download and install the x86 (32 bit) edition of ActiveState. Later in the article, we'll configure IIS.  &lt;p&gt;I installed ActiveState (32 bit ) to C:\Perl&amp;nbsp;&amp;nbsp; If IIS is installed, you’ll want to confirm if the HTTP Handler is already setup.&amp;nbsp; If not, I’ve included a command later in the article how to setup.&amp;nbsp; &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp; &lt;p&gt;&lt;strong&gt;Download AWStats&lt;/strong&gt;  &lt;p&gt;The next step, download and extract Awstats. The current version available is AWStats 7.0. Go to &lt;a href="http://www.awstats.org"&gt;http://www.awstats.org&lt;/a&gt; , download and extract somewhere on your system.  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp; &lt;p&gt;&lt;strong&gt;Setup DNS (Optional)&lt;/strong&gt;  &lt;p&gt;For my purposes, I setup a single separate websites to access my stats.&amp;nbsp; The link I used is in the format below to access various domains. I setup an A record called Stats in DNS.  &lt;p&gt;http://stats.example.com/cgi-bin/awstats.pl?config=&amp;lt;DomainName1&amp;gt;  &lt;p&gt;http://stats.example.com/cgi-bin/awstats.pl?config=&amp;lt;DomainName2&amp;gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp; &lt;p&gt;&lt;strong&gt;Setup IIS Site&lt;/strong&gt;  &lt;p&gt;I'm going to take assumptions on folder names for this article, you can adjust them to fit your environment.  &lt;p&gt;1) Create a folder in c:\inetpub\stats.example.com &lt;strong&gt;‘mkdir c:\inetpub\stats.example.com’ &lt;/strong&gt; &lt;p&gt;2) In the AWStats extracted files, copy all folders in the 'wwwroot' to c:\inetpub\stats.example.com.  &lt;p&gt;These folders will store the various domains stats.  &lt;p&gt;a) create a folder called c:\inetpub\stats.example.com\stats\Domain1 &lt;br&gt;&lt;strong&gt;‘mkdir c:\inetpub\stats.example.com\stats\domain1’&lt;/strong&gt; &lt;p&gt;b) create a folder called c:\inetpub\stats.example.com\stats\Domain2 &lt;br&gt;&lt;strong&gt;‘mkdir c:\inetpub\stats.example.com\stats\domain2’&lt;/strong&gt; &lt;p&gt;Create a IIS site with Internet Manager or AppCMD, for this article, I've provided AppCMD commands  &lt;p&gt;&lt;strong&gt;'Create app pool &lt;/strong&gt; &lt;p&gt;C:\Windows\System32\inetsrv\appcmd add apppool /name:Stats.Example.com  &lt;p&gt;&lt;strong&gt;'Set App Pool to integrated mode. This can be v2.0 or v4.0 &lt;/strong&gt; &lt;p&gt;C:\Windows\System32\inetsrv\appcmd set config /section:applicationPools /[name='stats.Example.com'].managedPipelineMode:Integrated  &lt;p&gt;&lt;strong&gt;'Add site &lt;/strong&gt; &lt;p&gt;C:\Windows\System32\inetsrv\appcmd add site /id:12345 /name:Stats.Example.com /bindings:http/*:80: /physicalPath:c:\inetpub\stats.example.com  &lt;p&gt;&lt;strong&gt;'Assign app pool to the site. &lt;/strong&gt; &lt;p&gt;C:\Windows\System32\inetsrv\appcmd set app /app.name:stats.example.com/ /applicationPool:stats.Example.com"  &lt;p&gt;&lt;strong&gt;'Set to 32 bit mode &lt;/strong&gt; &lt;p&gt;C:\Windows\System32\inetsrv\appcmd set config -section:system.applicationHost/applicationPools /[name='Stats.Example.com'].enable32BitAppOnWin64:"True" /commit:apphost  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp; &lt;p&gt;&lt;strong&gt;‘Setup Perl Handler, approve isapi &lt;/strong&gt; &lt;p&gt;Through IIS Manager, go to Internet Manager  &lt;ul&gt; &lt;li&gt;Click on Website &lt;/li&gt; &lt;li&gt;IIS Section &lt;/li&gt; &lt;li&gt;Handler Mappings &lt;/li&gt; &lt;li&gt;Add Script Map &lt;/li&gt; &lt;li&gt;Request Path - *.pl &lt;/li&gt; &lt;li&gt;Executable - C:\Perl\bin\PerlEx30.dll &lt;/li&gt; &lt;li&gt;Name - Perl &lt;/li&gt; &lt;li&gt;Click OK &lt;br&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;When prompted for this, go ahead and click Yes. This attribute sets at a server level.  &lt;p&gt;&lt;img src="http://www.iislogs.com/images/awstats1.png"&gt; &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp; &lt;p&gt;&lt;strong&gt;Configure Perl Handler &lt;/strong&gt; &lt;p&gt;c:\windows\system32\inetsrv\appcmd.exe set config "Stats.Example.com" -section:system.webServer/handlers /[name='PERL'].name:"PERL" /[name='PERL'].path:"*.pl" /[name='PERL'].modules:"IsapiModule" /[name='PERL'].scriptProcessor:"C:\Perl\bin\PerlEx30.dll" /[name='PERL'].resourceType:"Unspecified" /[name='PERL'].requireAccess:"Script" /[name='PERL'].preCondition:"bitness32" &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp; &lt;p&gt;&lt;strong&gt;Setup AWStats conf files. &lt;/strong&gt; &lt;p&gt;I’m going to defer to the AWStats FAQ section configuring the conf files. A couple things I did  &lt;p&gt;0) Make a copy of the awstat.module.conf to (awstats.StatsExampleCom.conf) &lt;p&gt;1) make sure to set the &lt;b&gt;DirData &lt;/b&gt;attribute is “DirData="c:/inetpub/stats.example.com/stats/DomainName1"”  &lt;p&gt;2) Follow the AWStats FAQ, check out the &lt;strong&gt;Demo / ScreenShots &lt;/strong&gt;section. They set a few attributes.  &lt;p&gt;3) I learned NOT to do Reverse DNS lookup, that really slows down.  &lt;p&gt;4) You might need to adjust permissions on the IIS Logs folders you are reading, it’ll depend on which account you run the application Pool run as. By default, the IIS Log folders only grant permissions to Administrators and SYSTEM. You could either setup the stats.example.com app pool to run as a specific account, or use ApplicationHostIdentity. What I did was use the default account, ApplicationHostIdentity.&amp;nbsp; I’d suggest using Process Monitor (by sysinternals) &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;em&gt;Here are the attributes I updated so far, this could change as I learn more about AWStats&lt;/em&gt;&lt;/u&gt;&lt;/strong&gt; &lt;p&gt;LogFile="c:/inetpub/logs/logfiles/w3svc1/u_ex%YY-0%MM-0%DD-0.log"&amp;nbsp; &lt;strong&gt;&lt;em&gt;(You might need to tweak this setting)&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;LogFormat=2&lt;br&gt;SiteDomain="stats.example.com"&lt;br&gt;HostAliases="localhost 127.0.0.1 REGEX[stats.example\.com$]"&lt;br&gt;DirData="c:/inetpub/stats.example.com/stats/DomainName1"” &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Enable frequent updates &lt;/strong&gt; &lt;p&gt;I setup a batch file and put the following commands, then I scheduled to run frequently as an account (Administrator) to access the IIS Logs. You could also run the scheduled task as SYSTEM.  &lt;p&gt;Here is the command, it assumes the file is named &lt;b&gt;awstats.DomainName1.conf &lt;/b&gt;and will reside in c:\inetpub\stats.example.com\cgi-bin folder  &lt;p&gt;perl C:\inetpub\s.iislogs.com\cgi-bin\awstats.pl -config=&amp;lt;DomainName1&amp;gt; –update  &lt;p&gt;&amp;nbsp; &lt;p&gt;&lt;strong&gt;Misc Things - &lt;/strong&gt;&lt;strong&gt;Here are a few lessons learned. &lt;/strong&gt; &lt;p&gt;Use the LogResolveMerge.pl script to create a single file or several files to import to AWStats. I found if you have very large (many MB or GB), you’ll need to take an approach of having smaller files. I didn’t find an automated way when importing existing files. So in my example, I created a few files, would import into AWStats, this require you update the awstats.example.conf file, run the perl awstats.pl –config=Example –update over and over. It was a little clunky, but seemed to work.  &lt;p&gt;Here is the command I ran &lt;p&gt;&lt;strong&gt;C:\inetpub\stats.example.com\tools&amp;gt;perl logresolvemerge.pl c:\inetpub\logs\LogFiles\W3SVC5\*.log &amp;gt; StatsExampleCom.log &lt;/strong&gt; &lt;p&gt;When LogResolveMerge.pl creates an import file, it doesn’t have the IIS Headers created in the log files, you’ll need to add the IIS headers like your website and awstats.example.conf is setup. What seems to work for me is 1) Create a blank file with just the headers, then run the command below, notice the two arrows. “&amp;gt;&amp;gt;” This forces the command prompt to append, then you can run the import.  &lt;p&gt;C:\inetpub\stats.example.com\tools&amp;gt;perl logresolvemerge.pl c:\inetpub\logs\LogFiles\W3SVC5\*.log &amp;gt; StatsExampleCom.log  &lt;p&gt;Doing one-time imports files  &lt;p&gt;Add IIS Logs headers to the new one time import files  &lt;p&gt;Create a file, add headers  &lt;p&gt;#Software: Microsoft Internet Information Services 7.0  &lt;p&gt;#Version: 1.0  &lt;p&gt;#Date: 2011-05-18 00:01:55&lt;br&gt;#Fields: date time s-sitename s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Cookie) cs(Referer) sc-status sc-substatus sc-win32-status sc-bytes cs-bytes time-taken  &lt;p&gt;&lt;strong&gt;HTTP Error 502.2 - Bad Gateway &lt;/strong&gt; &lt;p&gt;I got this error below when I tried using the x64 bit version of ActiveState. I found a few errors posted on the website with no resolution. I’m not sure if the posts were trying x86 or x64.  &lt;p&gt;&lt;em&gt;HTTP Error 502.2 - Bad Gateway &lt;/em&gt; &lt;p&gt;&lt;em&gt;The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are "". &lt;/em&gt;</description><pubDate>Tue, 10 Jan 2012 04:31:24 GMT</pubDate><guid isPermaLink="true">http://www.iislogs.com:80/steveschofield/getting-awstats-installed-and-configured-on-iis-7.5</guid></item><item><title>IIS Community Newsletter - December 2011 edition released</title><link>http://www.iislogs.com:80/steveschofield/iis-community-newsletter---december-2011-edition-released</link><description>&lt;p&gt;IIS Community Newsletter - December 2011 edition released&lt;br&gt;&lt;a href="http://www.iisnewsletter.com/archive/december2011.html"&gt;http://www.iisnewsletter.com/archive/december2011.html&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Enjoy &lt;/p&gt; &lt;p&gt;Steve&lt;/p&gt;</description><pubDate>Tue, 27 Dec 2011 04:49:48 GMT</pubDate><guid isPermaLink="true">http://www.iislogs.com:80/steveschofield/iis-community-newsletter---december-2011-edition-released</guid></item><item><title>IIS Community Newsletter - November 2011 edition</title><link>http://www.iislogs.com:80/steveschofield/iis-community-newsletter---november-2011-edition</link><description>&lt;p&gt;#IIS Community Newsletter - November 2011 edition has been released.&amp;nbsp; Lots of interesting and original content available on the web!&lt;/p&gt; &lt;p&gt;&lt;a title="http://www.iisnewsletter.com/archive/november2011.html" href="http://www.iisnewsletter.com/archive/november2011.html"&gt;http://www.iisnewsletter.com/archive/november2011.html&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Take care,&lt;/p&gt; &lt;p&gt;Steve Schofield&lt;br&gt;Microsoft MVP – IIS&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.iislogs.com/steveschofield"&gt;http://www.iislogs.com/steveschofield&lt;/a&gt;&lt;/p&gt;</description><pubDate>Wed, 30 Nov 2011 19:15:17 GMT</pubDate><guid isPermaLink="true">http://www.iislogs.com:80/steveschofield/iis-community-newsletter---november-2011-edition</guid></item><item><title>Great SEO article</title><link>http://www.iislogs.com:80/steveschofield/great-seo-article</link><description>&lt;p&gt;I ran across a great SEO article via Twitter, the link is here &lt;p&gt;&lt;a title="http://www.seomoz.org/blog/what-every-seo-should-know-about-iis" href="http://www.seomoz.org/blog/what-every-seo-should-know-about-iis"&gt;http://www.seomoz.org/blog/what-every-seo-should-know-about-iis&lt;/a&gt; &lt;p&gt;There was a comment I wanted to add a few ideas, I tried to format the comment, however it didn’t format to cleanly so I thought I’d add here.&amp;nbsp;&amp;nbsp;&amp;nbsp; Review the comments in the article too, there are some additional items mentioned worth checking out.&amp;nbsp; I hope he picks up this post and adds the couple links for reference. &lt;p&gt;Couple other things to reference to this great article. Here are three commands I run on all servers. I use the compression level 9 on a very high volume with no impact, Here is another article on other properties and &lt;a href="http://learn.iis.net/page.aspx/206/dynamic-compression/"&gt;http://learn.iis.net/page.aspx/206/dynamic-compression/&lt;/a&gt; &lt;p&gt;Scott Forsyth wrote an article on compress level and performance which is a good read. &lt;a href="http://weblogs.asp.net/owscott/archive/2009/02/22/iis-7-compression-good-bad-how-much.aspx"&gt;http://weblogs.asp.net/owscott/archive/2009/02/22/iis-7-compression-good-bad-how-much.aspx&lt;strong&gt;&lt;/a&gt; &lt;/strong&gt; &lt;p&gt;Enables&lt;/p&gt;&lt;p&gt;c:\windows\system32\inetsrv\appcmd set config /section:urlCompression /doDynamicCompression:true&lt;br&gt;&lt;br&gt;&lt;strong&gt;Sets the compression level&lt;br&gt;&lt;/strong&gt;c:\windows\system32\inetsrv\appcmd set config /section:system.webServer/httpCompression -[name="'gzip'"].dynamicCompressionLevel:9"Mkdir D:\Data\IISTemporaryCompressedFiles"&lt;br&gt;&lt;br&gt;&lt;strong&gt;Sets the directory path&lt;br&gt;&lt;/strong&gt;c:\windows\system32\inetsrv\appcmd set config /section:httpCompression /directory:D:\Data\IISTemporaryCompressedFiles /maxDiskSpaceUsage:100 /minFileSizeForComp:256"&lt;br&gt;&lt;br&gt;Hope this helps &lt;/p&gt; &lt;p&gt;Steve Schofield&lt;/p&gt; &lt;p&gt;Microsoft MVP – IIS&lt;/p&gt;</description><pubDate>Sat, 03 Dec 2011 00:20:48 GMT</pubDate><guid isPermaLink="true">http://www.iislogs.com:80/steveschofield/great-seo-article</guid></item><item><title>October 2011 IIS community newsletter available</title><link>http://www.iislogs.com:80/steveschofield/october-2011-iis-community-newsletter-available</link><description>&lt;p&gt;After a few issues trying to send the October 2011 IIS community newsletter, we have got it published!&lt;/p&gt; &lt;p&gt;&lt;a title="http://www.iisnewsletter.com/archive/october2011.html" href="http://www.iisnewsletter.com/archive/october2011.html"&gt;http://www.iisnewsletter.com/archive/october2011.html&lt;/a&gt; is &lt;/p&gt; &lt;p&gt;btw – if you need excellent windows hosting, visit &lt;a href="http://www.orcsweb.com"&gt;www.orcsweb.com&lt;/a&gt; (ORCS Web) it’s awesome!&lt;/p&gt; &lt;p&gt;Steve&lt;/p&gt;</description><pubDate>Mon, 14 Nov 2011 03:54:27 GMT</pubDate><guid isPermaLink="true">http://www.iislogs.com:80/steveschofield/october-2011-iis-community-newsletter-available</guid></item><item><title>July/August/September 2011 IIS Community Newsletter is available</title><link>http://www.iislogs.com:80/steveschofield/july-august-september-2001-iis-community-newsletter-is-available</link><description>&lt;p&gt;Here is the July/August/September 2011 IIS Community Newsletter&lt;/p&gt; &lt;p&gt;&lt;a title="http://www.iisnewsletter.com/archive/JulyAugustSept.html" href="http://www.iisnewsletter.com/archive/JulyAugustSept.html"&gt;http://www.iisnewsletter.com/archive/JulyAugustSept.html&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Thank you,&lt;br&gt;&amp;nbsp;&lt;br&gt;Steve Schofield&lt;br&gt;Windows Server MVP - IIS&lt;br&gt;&lt;a href="http://www.iislogs.com/steveschofield"&gt;http://www.iislogs.com/steveschofield&lt;/a&gt;&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;a href="http://www.IISLogs.com"&gt;http://www.IISLogs.com&lt;/a&gt;&lt;br&gt;Log archival solution&lt;br&gt;Install, Configure, Forget&lt;/p&gt; &lt;p&gt;Questions on Microsoft SMTP Service - visit &lt;a href="http://www.smtp.ws"&gt;http://www.smtp.ws&lt;/a&gt;&lt;br&gt;IIS Community Newsletter - visit &lt;a href="http://www.iisnewsletter.com"&gt;http://www.iisnewsletter.com&lt;/a&gt;&lt;/p&gt;</description><pubDate>Fri, 16 Sep 2011 02:31:09 GMT</pubDate><guid isPermaLink="true">http://www.iislogs.com:80/steveschofield/july-august-september-2001-iis-community-newsletter-is-available</guid></item><item><title>Win8 / IIS 8 are available!</title><link>http://www.iislogs.com:80/steveschofield/win8-iis-8-are-available</link><description>&lt;p&gt;Microsoft has released the latest Windows OS preview.&amp;nbsp;&amp;nbsp; Nice new shiny logo.&amp;nbsp; &lt;img src="http://www.iislogs.com/images/iis-8.png"&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Download here&lt;/p&gt; &lt;p&gt;&lt;a title="http://msdn.microsoft.com/en-us/windows/apps/br229516" href="http://msdn.microsoft.com/en-us/windows/apps/br229516"&gt;http://msdn.microsoft.com/en-us/windows/apps/br229516&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Server edition is available on MSDN.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Enjoy!&lt;/p&gt; &lt;p&gt;Steve&lt;/p&gt;</description><pubDate>Thu, 15 Sep 2011 06:20:49 GMT</pubDate><guid isPermaLink="true">http://www.iislogs.com:80/steveschofield/win8-iis-8-are-available</guid></item><item><title>Interesting post to solve 500.19 Network BIOS Command Limit Reached</title><link>http://www.iislogs.com:80/steveschofield/interesting-post-to-solve-500.19-network-bios-command-limit-reached</link><description>&lt;p&gt;ran across this post browsing the forums @ &lt;a href="http://forums.iis.net"&gt;http://forums.iis.net&lt;/a&gt;&amp;nbsp; It’s a real problem dealing with UNC content.&amp;nbsp;&amp;nbsp; Thread: New Solution to 500.19 Network BIOS Command Limit Reached&lt;/p&gt; &lt;p&gt;&lt;a title="http://forums.iis.net/p/1181293/1994882.aspx#1994882" href="http://forums.iis.net/p/1181293/1994882.aspx#1994882"&gt;http://forums.iis.net/p/1181293/1994882.aspx#1994882&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Thought I’d pass along.&lt;/p&gt; &lt;p&gt;Steve Schofield&lt;/p&gt;</description><pubDate>Sun, 11 Sep 2011 01:31:59 GMT</pubDate><guid isPermaLink="true">http://www.iislogs.com:80/steveschofield/interesting-post-to-solve-500.19-network-bios-command-limit-reached</guid></item><item><title>UNC post on http://forums.iis.net</title><link>http://www.iislogs.com:80/steveschofield/unc-post-on-http-forums.iis.net</link><description>&lt;p&gt;I try to keep track of UNC based posts in my “UNC” tag if it’s something that would help the community.&amp;nbsp;&amp;nbsp; &lt;a title="http://forums.iis.net/p/1180183/1990052.aspx" href="http://forums.iis.net/p/1180183/1990052.aspx"&gt;http://forums.iis.net/p/1180183/1990052.aspx&lt;/a&gt;&amp;nbsp; If you can provide assistance, that would be great.&amp;nbsp; My intention is to setup some Linux and FreeBSD boxes locally using NFS, Samba and connecting to IIS.&amp;nbsp; It’s on the geek list!&lt;/p&gt; &lt;p&gt;&lt;strong&gt;UNC tag&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.iislogs.com/tags/unc"&gt;http://www.iislogs.com/tags/unc&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Enjoy,&lt;/p&gt; &lt;p&gt;Steve&lt;/p&gt;</description><pubDate>Sat, 23 Jul 2011 17:44:10 GMT</pubDate><guid isPermaLink="true">http://www.iislogs.com:80/steveschofield/unc-post-on-http-forums.iis.net</guid></item><item><title>Hosting PERL on IIS 7.x thread</title><link>http://www.iislogs.com:80/steveschofield/hosting-perl-on-iis-7.x-thread</link><description>&lt;p&gt;Every now and then, a thread will get my interest doing something different with IIS on &lt;a href="http://forums.iis.net"&gt;http://forums.iis.net&lt;/a&gt;.&amp;nbsp; I’ve never setup PERL within IIS even though I knew it was possible to host PERL.&amp;nbsp; I figured what the heck, lets see if I can get it working even though I don’t really know how to program in PERL.&amp;nbsp; The post is asking how to secure PERL in a shared hosting model. &lt;br&gt;&lt;br&gt;Forum thread on securing PERL.&amp;nbsp; As of this post, no one has responded who has secured PERL for shared hosting.&amp;nbsp; I’ve asked a couple questions for my own interest.&amp;nbsp; If you know, feel free to respond with more information.&amp;nbsp; I’d be interested. &lt;p&gt;
&lt;p&gt;&lt;a title="http://forums.iis.net/p/1179875/1988997.asp" href="http://forums.iis.net/p/1179875/1988997.aspx"&gt;http://forums.iis.net/p/1179875/1988997.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Helpful post getting PERL setup.&lt;/strong&gt;&lt;br&gt;&lt;a title="http://forums.iis.net/p/1178679/1984038.aspx" href="http://forums.iis.net/p/1178679/1984038.aspx"&gt;http://forums.iis.net/p/1178679/1984038.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ActivePERL by ActiveState &lt;br&gt;&lt;/strong&gt;&lt;a title="http://www.activestate.com/activeperl" href="http://www.activestate.com/activeperl"&gt;http://www.activestate.com/activeperl&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PERL information&lt;/strong&gt;&lt;br&gt;&lt;a title="http://www.perl.org/" href="http://www.perl.org/"&gt;http://www.perl.org/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tips&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Have to run app pool in 32 bit mode.&amp;nbsp; I found many reports of issues with 64 bit version&lt;/li&gt;
&lt;li&gt;Run process monitor to determine exactly which folders are being blocked &lt;br&gt;i.e the PERL folder, %TEMP% variable etc..&lt;/li&gt;
&lt;li&gt;Make sure to install the CGI role service (otherwise you’ll get errors, I did)&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Cheers,&lt;/p&gt;
&lt;p&gt;Steve Schofield&lt;br&gt;Windows Server MVP - IIS&lt;br&gt;&lt;a href="http://www.iislogs.com/steveschofield"&gt;http://www.iislogs.com/steveschofield&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://www.iislogs.com/"&gt;http://www.IISLogs.com&lt;/a&gt;&lt;br&gt;Log archival solution&lt;br&gt;Install, Configure, Forget&lt;/p&gt;
&lt;p&gt;Questions on Microsoft SMTP Service - visit &lt;a href="http://www.smtp.ws"&gt;http://www.smtp.ws&lt;/a&gt;&lt;br&gt;IIS Community Newsletter - visit &lt;a href="http://www.iisnewsletter.com"&gt;http://www.iisnewsletter.com&lt;/a&gt;&lt;/p&gt;</description><pubDate>Thu, 14 Jul 2011 11:36:13 GMT</pubDate><guid isPermaLink="true">http://www.iislogs.com:80/steveschofield/hosting-perl-on-iis-7.x-thread</guid></item><item><title>Web Stress testing tools thread</title><link>http://www.iislogs.com:80/steveschofield/web-stress-testing-tools-thread</link><description>&lt;p&gt;Here is a thread on &lt;a href="http://forums.iis.net"&gt;http://forums.iis.net&lt;/a&gt; that discusses Stress testing tools.&amp;nbsp; There is a wide variety tools available.&amp;nbsp; I personally use a powershell script to create a single log file, then load test with Web Application Stress tool (retired by Microsoft). For my personal needs this has been sufficient.&amp;nbsp; I thought I would pass along as an FYI.&lt;/p&gt; &lt;p&gt;&lt;a title="http://forums.iis.net/p/1179857/1988763.aspx" href="http://forums.iis.net/p/1179857/1988763.aspx"&gt;http://forums.iis.net/p/1179857/1988763.aspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;If you have tools that you’ve found successful, feel free to add to the comments section&lt;/p&gt; &lt;p&gt;PS – And a great tool to help analyze the data is using PAL (performance analysis of logs)&lt;/p&gt; &lt;p&gt;&lt;a title="http://pal.codeplex.com/" href="http://pal.codeplex.com/"&gt;http://pal.codeplex.com/&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Thank you,&lt;br&gt;&lt;br&gt;Steve Schofield&lt;br&gt;Windows Server MVP - IIS&lt;br&gt;&lt;a href="http://www.iislogs.com/steveschofield"&gt;http://www.iislogs.com/steveschofield&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://www.iislogs.com/"&gt;http://www.IISLogs.com&lt;/a&gt;&lt;br&gt;Enterprise Log Management solution&lt;br&gt;Install, Configure, Forget&lt;/p&gt; &lt;p&gt;Questions on Microsoft SMTP Service - visit &lt;a href="http://www.smtp.ws"&gt;http://www.smtp.ws&lt;/a&gt;&lt;br&gt;IIS Community Newsletter - visit &lt;a href="http://www.iisnewsletter.com"&gt;http://www.iisnewsletter.com&lt;/a&gt;</description><pubDate>Tue, 12 Jul 2011 21:50:57 GMT</pubDate><guid isPermaLink="true">http://www.iislogs.com:80/steveschofield/web-stress-testing-tools-thread</guid></item><item><title>IIS 7 / IUSR account, SCCM 2007 client, Status messages not working</title><link>http://www.iislogs.com:80/steveschofield/iis-7-iusr-account-sccm-2007-client-status-messages-not-working</link><description>&lt;p&gt;&lt;strong&gt;Background&lt;/strong&gt; &lt;p&gt;This is one of those posts that has been “years in the making”. I’ve been working with SMS / ConfigMgr 2007 since version 2.0. In my IT career, I’ve used SMS / ConfigMgr 2007 on the server side exclusively. Traditionally SMS / ConfigMgr has been mainly a desktop software deployment, management tool. I’ve never talked with anyone who has used ConfigMgr strictly “ in a Server environment” for other things besides patching, OSD. Using ConfigMgr for DCM, Software Distribution, Querying, reporting etc.  &lt;p&gt;&lt;strong&gt;Problem&lt;/strong&gt; &lt;p&gt;I recently came across a situation where I was getting inconsistent status messages being sent back to the site server. Here is the message &lt;strong&gt;Failed to submit event to the Status Agent. Attempting to create pending event. &lt;/strong&gt;For those familiar with ConfigMgr, all components send their status messages through the StatusAgent component. Advertisements, task sequences would work. the status messages would not be updated however.  &lt;p&gt;&lt;strong&gt;Side Bar&lt;br&gt;&lt;/strong&gt;Introduced in IIS 7 was the ability to set the &lt;strong&gt;Anonymous Authentication module&lt;/strong&gt; to inherit from the application pool identity automatically. Here is a screenshot of the setting.&lt;br&gt;&lt;br&gt;&lt;img src="http://www.iislogs.com/images/SCCMIUSRAccount.png"&gt;\ &lt;p&gt;In previous IIS versions, the IUSR account was a local account with it’s own SID (Security Identifier). The administrator had to be aware of this account along with the application pool account (App pools started in Windows 2003/IIS 6). The IUSR account was introduced in Windows Server 2008 as a ‘machine’ account with the same SID across all boxes. In IIS 6, I would set the IUSR_MachineName and application pool identity accounts the same. Although I was administering two locations, it made troubleshooting a lot easier only dealing with one account.&amp;nbsp; When Windows Server 2008 came out and provided the ability to inherit the application pool identity automatically, from an IIS Administrators perspective, I quickly adopted this architecture.&amp;nbsp; PS – I’m not 100% sure why &lt;strong&gt;inheriting Application Pool Identity&lt;/strong&gt; isn’t the default setting, I once heard it was to support Classic ASP applications.&amp;nbsp; Not sure.  &lt;p&gt;&lt;strong&gt;Back to ConfigMgr 2007&lt;/strong&gt; &lt;p&gt;From an IIS perspective, administrators may implement this type of architecture (I did!). What I discovered, the IUSR setting at server level is required if a machine has IIS installed. What I did to prove the ConfigMgr client was checking for the existing of the IUSR account. &lt;ul&gt; &lt;li&gt;I enabled more logging on the ConfigMgr client. Here is article showing &lt;a href="http://www.iislogs.com/steveschofield/enable-debuglogging-and-verbose-logging-on-sccm-clients"&gt;How to enable DebugLogging &amp;amp; Verbose logging on ConfigMgr client.&lt;/a&gt; &lt;li&gt;I set the IUSR account at server level to the picture above. All sites would inherit the application pool identity  &lt;li&gt;Execute an advertisement (task sequence or advertisement)&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Here is the status messages that appeared in the logs. Notice the highlighted sections, and the function being called.  &lt;p&gt;&lt;strong&gt;ccmperf.log&lt;/strong&gt;:&amp;lt;![LOG[Security::&lt;strong&gt;LookupIUSRAccountSid&lt;/strong&gt;(sIUSRSid), HRESULT=80004005 (e:\nts_sms_fre\sms\framework\ccmperf\perfobject.cpp,1484)]LOG]!&amp;gt;&amp;lt;time="00:14:21.853+240" date="01-09-2011" component="ccmperf" context="" type="0" thread="14748" file="perfobject.cpp:1484"&amp;gt;&lt;br&gt;&lt;strong&gt;ccmperf.log&lt;/strong&gt;:&amp;lt;![LOG[GetIISAccounts(sIUSRSid), HRESULT=80004005 (e:\nts_sms_fre\sms\framework\ccmperf\perfobject.cpp,1559)]LOG]!&amp;gt;&amp;lt;time="00:14:21.853+240" date="01-09-2011" component="ccmperf" context="" type="0" thread="14748" file="perfobject.cpp:1559"&amp;gt;&lt;br&gt;&lt;strong&gt;ccmperf.log&lt;/strong&gt;:&amp;lt;![LOG[Security::LookupIUSRAccountSid(sIUSRSid), HRESULT=80004005 (e:\nts_sms_fre\sms\framework\ccmperf\perfobject.cpp,1484)]LOG]!&amp;gt;&amp;lt;time="00:14:21.862+240" date="01-09-2011" component="ccmperf" context="" type="0" thread="14748" file="perfobject.cpp:1484"&amp;gt;&lt;br&gt;&lt;strong&gt;ccmperf.log&lt;/strong&gt;:&amp;lt;![LOG[GetIISAccounts(sIUSRSid), HRESULT=80004005 (e:\nts_sms_fre\sms\framework\ccmperf\perfobject.cpp,1559)]LOG]!&amp;gt;&amp;lt;time="00:14:21.862+240" date="01-09-2011" component="ccmperf" context="" type="0" thread="14748" file="perfobject.cpp:1559"&amp;gt;&lt;br&gt;&lt;strong&gt;ccmperf.log&lt;/strong&gt;:&amp;lt;![LOG[Security::LookupIUSRAccountSid(sIUSRSid), HRESULT=80004005 (e:\nts_sms_fre\sms\framework\ccmperf\perfobject.cpp,1484)]LOG]!&amp;gt;&amp;lt;time="00:14:22.678+240" date="01-09-2011" component="ccmperf" context="" type="0" thread="13344" file="perfobject.cpp:1484"&amp;gt;&lt;br&gt;&lt;strong&gt;ccmperf.log&lt;/strong&gt;:&amp;lt;![LOG[GetIISAccounts(sIUSRSid), HRESULT=80004005 (e:\nts_sms_fre\sms\framework\ccmperf\perfobject.cpp,1559)]LOG]!&amp;gt;&amp;lt;time="00:14:22.680+240" date="01-09-2011" component="ccmperf" context="" type="0" thread="13344" file="perfobject.cpp:1559"&amp;gt;&lt;br&gt;&lt;strong&gt;StatusAgent.log&lt;/strong&gt;:&amp;lt;![LOG[Security::LookupIUSRAccountSid(sAccount), HRESULT=80004005 (e:\nts_sms_fre\sms\framework\core\ccmcore\comobjectsecurity.cpp,58)]LOG]!&amp;gt;&amp;lt;time="00:14:58.883+240" date="01-09-2011" component="StatusAgent" context="" type="0" thread="11300" file="comobjectsecurity.cpp:58"&amp;gt; &lt;p&gt;As I mentioned earlier, I work strictly in a server environment, which many boxes have IIS installed (Mostly Windows Server 2008 / R2 boxes). For some reason Microsoft has logic in SCCM to check for the existence of the IUSR account. Here is a post I did &lt;a href="http://www.iislogs.com/steveschofield/iusr-account-and-sccm-2007-r3-agent"&gt;“IUSR Account and ConfigMgr 2007 R3 agent”&lt;/a&gt;. This explains I temporarily had to set the IUSR account enabled at server level so the ConfigMgr agent would install. &lt;p&gt;&lt;strong&gt;A configuration workaround&lt;/strong&gt; &lt;p&gt;The ConfigMgr agent doesn’t seem to check for IUSR at &lt;strong&gt;site level&lt;/strong&gt;. This means an administrator who has ConfigMgr installed on a server OS with IIS can enable the IUSR setting at &lt;strong&gt;server level&lt;/strong&gt;, and set the &lt;strong&gt;inherit application pool identity&lt;/strong&gt; at &lt;strong&gt;site level&lt;/strong&gt;. From my testing, this configuration works. I did a PowerShell script to:  &lt;ul&gt; &lt;li&gt;Backup current applicationHost.config with appcmd  &lt;li&gt;Enable IUSR at server level  &lt;li&gt;Disable IUSR and inherit application pool identity.  &lt;li&gt;Stop / Start SMS Agent Host  &lt;li&gt;Watch the SCCM logs&lt;br&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;A little precaution before running the script. The logic assumes you are using the application pool identity for securing resources. I’d recommend you review your IIS architecture to ensure this setup would work in your environment. I &lt;strong&gt;ALWAYS&lt;/strong&gt; encourage people to try scripts in a non-production environment first. The script does make a backup copy of the applicationHost.config before making changes. If something happens, just restore the applicationHost.config. &lt;br&gt;&lt;br&gt;After years of not quite understanding how IUSR was used. I thank God for helping me finally understand what is happening! I hope you find this post useful. Hope this workaround isn’t needed in CM2012. Time will tell. &lt;p&gt;Thank you,&lt;br&gt;&lt;br&gt;Steve Schofield&lt;br&gt;Windows Server MVP - IIS&lt;br&gt;&lt;a href="http://www.iislogs.com/steveschofield"&gt;http://www.iislogs.com/steveschofield&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://www.iislogs.com/"&gt;http://www.IISLogs.com&lt;/a&gt;&lt;br&gt;Log archival solution&lt;br&gt;Install, Configure, Forget  &lt;p&gt;Questions on Microsoft SMTP Service - visit &lt;a href="http://www.smtp.ws"&gt;http://www.smtp.ws&lt;/a&gt;&lt;br&gt;IIS Community Newsletter - visit &lt;a href="http://www.iisnewsletter.com"&gt;http://www.iisnewsletter.com&lt;/a&gt; &lt;p&gt;&lt;strong&gt;Here is the script. &lt;/strong&gt; &lt;p&gt;$ExitCode = 0&lt;br&gt;try&lt;br&gt;{&lt;br&gt;function EnableIUSRServerLevel&lt;br&gt;{&lt;br&gt;$Command = "$Env:SystemRoot\system32\inetsrv\appcmd.exe set config /section:system.webServer/security/authentication/anonymousAuthentication /userName:`"IUSR`" /commit:apphost"&lt;br&gt;Write-Host $Command&lt;br&gt;Invoke-Expression -Command $Command&lt;br&gt;} &lt;p&gt;function DisableIUSRSiteLevel([string]$SiteName)&lt;br&gt;{&lt;br&gt;$Command = "$Env:SystemRoot\system32\inetsrv\appcmd.exe set config `"$SiteName`" /section:system.webServer/security/authentication/anonymousAuthentication /userName:`"`" /commit:apphost"&lt;br&gt;Write-Host $Command&lt;br&gt;Invoke-Expression -Command $Command&lt;br&gt;} &lt;p&gt;&lt;strong&gt;#Use Powershell provider to get a list of sites, one of these will error&lt;br&gt;#windows Server 2008 needs powershell provider installed before using&lt;br&gt;#Windows Server 2008 R2 has powershll provider already&lt;br&gt;#There is some better logic that could be implemented on this option&lt;br&gt;&lt;br&gt;&lt;/strong&gt;Import-Module -Name "WebAdministration"&lt;br&gt;Add-PSSnapin -Name "WebAdministration"&lt;br&gt;&lt;strong&gt;#Backup ApplicationHostConfig&lt;br&gt;&lt;/strong&gt;$FileDate = (Get-Date).tostring('dd-mm-yyyy-mm-hh')&lt;br&gt;$Command = "$Env:SystemRoot\system32\inetsrv\appcmd.exe add backup `"BeforeSettingIUSRData$FileDate`"" &lt;p&gt;Write-Host $Command&lt;br&gt;Write-Host "applicationHost.config backed up"&lt;br&gt;Invoke-Expression -Command $Command &lt;p&gt;&lt;strong&gt;#Set IUSR at server level&lt;br&gt;&lt;/strong&gt;Write-Host "Set IUSR at server level enabled"&lt;br&gt;EnableIUSRServerLevel &lt;p&gt;&lt;strong&gt;#Get List of Sites using get-childitem&lt;br&gt;&lt;/strong&gt;$sites = gci IIS:\Sites &lt;p&gt;&lt;strong&gt;#Set Each site on the box with IUSR disabled&lt;br&gt;&lt;/strong&gt;foreach($site in $sites)&lt;br&gt;{ &lt;br&gt;Write-Host $site.name&lt;br&gt;Write-Host ""&lt;br&gt;DisableIUSRSiteLevel -SiteName $site.name&lt;br&gt;} &lt;p&gt;Write-Host "Done"&lt;br&gt;}&lt;br&gt;catch&lt;br&gt;{&lt;br&gt;$ExitCode = 1&lt;br&gt;Write-Host "error"&lt;br&gt;} </description><pubDate>Sun, 10 Jul 2011 12:24:59 GMT</pubDate><guid isPermaLink="true">http://www.iislogs.com:80/steveschofield/iis-7-iusr-account-sccm-2007-client-status-messages-not-working</guid></item><item><title>Security best practices using Active Directory for server, process identity in a public facing web application</title><link>http://www.iislogs.com:80/steveschofield/security-best-practices-using-ad-for-server-process-identity-in-a-public-facing-web-application-post.aspx</link><description>&lt;p&gt;&lt;strong&gt;I received a post on the forums that I was suggested to make a blog post.&amp;nbsp;&amp;nbsp; Here is the original post : &lt;a title="http://forums.iis.net/t/1178739.aspx" href="http://forums.iis.net/t/1178739.aspx"&gt;http://forums.iis.net/t/1178739.aspx&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Question:&lt;br&gt;&lt;/strong&gt;We have an asp.net public facing web solution. The solution users SqlMembershipProvider to authenticate users and includes the following servers:&lt;/p&gt; &lt;p&gt;· Two Load balanced web servers in the DMZ &lt;p&gt;· Sql Server Database Server with many SSIS packages transfer files between the web server and database server &lt;p&gt;Traditionally, the web servers stay standalone servers and not part of any domain. We are thinking to use active directory. &lt;p&gt;We are thinking to have an AD server dedicated to this solution only (it is different than the company’s operational AD). The AD server in the server environment helps us to have webserver’s application pool be authenticated against the SQL server to prevent the requirement of having SQL server UID/PWD in the web.config files. &lt;p&gt;From the security bets practices approach, which one of the following options is recommended? &lt;p&gt;· Option 1) Public facing web servers stay standalone, SQL server authentication is used &lt;p&gt;· Option 2) Public facing web servers are part of an AD domain (different than company operational domain) and database server authenticates the web servers against their application pool identity. &lt;p&gt;The AD server won't be used to authenticate web application users.  &lt;p&gt;&lt;strong&gt;Response:&lt;/strong&gt; &lt;p&gt;I can make an argument for both solutions.  &lt;p&gt;1) For stand-alone boxes, you could encrypt the connections strings to protect creds. Having AD introduces more expertise and administration. If you AD locally and some expertise, then it's not too bad. Having DC's costs more, administration more, more hardware to support. More licensing. The downside of stand-alone you have to manage each box as a stand-alone entity, depending on how many boxes, this is a BIG drawback. Yes, you can have the same user id and password if you have scripting. &lt;p&gt;2) For an AD environment, you get group policy, centralized administration, both are HUGE wins IMO. With group policy you can manage all kinds of settings including folder, registry security, auditing, distribute certificates along with 100's of other settings. Preferences is my favorite. Most of the negative for #2 is mentioned in #1. AD helps with administration / management however has overhead. I like using windows accounts vs. sql because of the integrated security, no passwords stored and needed to be managed in config files.  &lt;p&gt;Over my years of experience, I tend to have a blend of security with administration. I've implemented AD in my environment and haven't looked back. The benefits out way the risks and additional administration. Once AD is setup, it kind of runs itself if not tinkered with. You need a very stable DNS infrastructure to support AD. Your applications would need to blend with the AD DNS (or BIND DNS that supports SRV records). If you have some type of solution like Altiris that is agent based and can go across forest (last I knew), management of apps, packages might be easier. I hope there is some advice and things to think about. PS - AD is really a core technology a lot of other MS solutions integrate with, it's worth having IMO.  &lt;p&gt;&lt;strong&gt;Here is an article published by the AD team at MS&lt;/strong&gt; &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&amp;amp;FamilyID=c1d0fd00-bf31-4b20-95c6-279a4ce7c2b4"&gt;http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&amp;amp;FamilyID=c1d0fd00-bf31-4b20-95c6-279a4ce7c2b4&lt;/a&gt; &lt;p&gt;"Old school" is right, I've been using AD since w2k in a public facing environment. AD is the foundation of which many things can help provide a consistent, secure and stable environment. I use group policy extensively to lockdown servers with windows firewall. The only real opening is a few management / utility servers that are trusted. You can honestly lockdown them down hard but you still have to manage, monitor and deploy code to them. I've managed stand-alone machines (not since w2k3 / w2k) so my perspective is a bit aged on that front, however AD provides more benefit than hassle I probably could write a really long article on the topic of how I used, why and such. This is one of those topics near to my heart. :) &lt;p&gt;&lt;strong&gt;Here is a post I did on &lt;/strong&gt;&lt;a href="http://www.activedir.org" target="_blank"&gt;&lt;strong&gt;ActiveDir&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; regarding w2k8 r2 firewall management and GPO's that relates to this post.&lt;/strong&gt; &lt;p&gt;I've used GPO's to manage windows firewall on w2k8 and above. I hear Forefront enhancements management and functionality. This requires SCCM.  &lt;p&gt;Here is how a description of what I've found effective. &lt;p&gt;1) Have a base settings policy, this applies at a higher and applies to ALL servers (No firewall polices, things like dns suffix search order, auditing, other base settings that apply to ALL boxes)&lt;br&gt;2) Have a base firewall policy storing all firewall polices that apply to all servers. Exceptions like backup servers, monitoring servers,AV etc.. &lt;br&gt;3) Lastly, have your servers in different OU's based on Server Roles, each server role has their own GPO and rules. If you have rules specific to these servers, open the rules at this GPO level. &lt;br&gt;4) What I have found is to have a separate policy for WMI and File and Print sharing that are applied separately from the 'base' firewall policy mentioned in #2.  &lt;p&gt;Base OU&lt;br&gt;&amp;nbsp;&amp;nbsp; ServersOU&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AppRole1 &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AppRole2 &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AppRole3 &lt;p&gt;Based on the example above, #1 and #2 would be linked at the ServersOU. The Base WMI and File and Print Sharing GPO's are linked at AppRole1, AppRole2, AppRole3. There would be a GPO for each AppRole1,AppRole2,AppRole3. If a particular role has unique File And Print Sharing or WMI, you create another GPO for File And Print Sharing for that role and link at the AppRole level. You remove the original File And Print Sharing GPO link. This is the architecture I've found the most manageable and running Windows Firewall. Personally, I like having the extra layer, it can depend on your environment.  &lt;p&gt;This example would have the following polices &lt;p&gt;BaseSettingsPolicy&lt;br&gt;BaseFirewallPolicy (doesn't contain WMI or File and Print sharing rules) BaseFilePrintSharing BaseWMI&lt;br&gt;AppRole1&lt;br&gt;AppRole2&lt;br&gt;AppRole3 &lt;p&gt;Enjoy, &lt;p&gt;Steve Schofield&lt;br&gt;Windows Server MVP - IIS&lt;br&gt;&lt;a href="http://www.iislogs.com/steveschofield"&gt;http://www.iislogs.com/steveschofield&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://www.iislogs.com/"&gt;http://www.IISLogs.com&lt;/a&gt;&lt;br&gt;Log archival solution&lt;br&gt;Install, Configure, Forget&lt;/p&gt;</description><pubDate>Sat, 04 Jun 2011 18:20:09 GMT</pubDate><guid isPermaLink="true">http://www.iislogs.com:80/steveschofield/security-best-practices-using-ad-for-server-process-identity-in-a-public-facing-web-application-post.aspx</guid></item><item><title>Allow local and domain users to access FTP 7.5</title><link>http://www.iislogs.com:80/steveschofield/LocalDomainUsersFTP75OnSameSite.aspx</link><description>&lt;p&gt;Had an interesting question on &lt;a href="http://forums.iis.net"&gt;http://forums.iis.net&lt;/a&gt; regarding FTP 7.5. There was a requirement to allow both local and domain users on the same FTP site. Here is the posting with the details &lt;a href="http://forums.iis.net/t/1178738.aspx"&gt;http://forums.iis.net/t/1178738.aspx&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Enjoy, &lt;/p&gt; &lt;p&gt;Steve Schofield&lt;br&gt;Microsoft MVP - IIS&lt;/p&gt;</description><pubDate>Sat, 04 Jun 2011 13:48:20 GMT</pubDate><guid isPermaLink="true">http://www.iislogs.com:80/steveschofield/LocalDomainUsersFTP75OnSameSite.aspx</guid></item><item><title>April 2011 IIS Community Newsletter has been published</title><link>http://www.iislogs.com:80/steveschofield/iis-community-newsletter-april-2011-edition-has-been-published</link><description>&lt;p&gt;IIS Community Newsletter - April 2011 Edition has been published&lt;br&gt;&lt;a href="http://www.iisnewsletter.com/archive/April2011.html" mce_href="http://www.iisnewsletter.com/archive/April2011.html"&gt;http://www.iisnewsletter.com/archive/April2011.html&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Cheers,&lt;/p&gt;&lt;p&gt;Steve&lt;/p&gt;</description><pubDate>Sat, 30 Apr 2011 00:53:00 GMT</pubDate><guid isPermaLink="true">http://www.iislogs.com:80/steveschofield/iis-community-newsletter-april-2011-edition-has-been-published</guid></item><item><title>March 2011 IIS Community Newsletter is published</title><link>http://www.iislogs.com:80/steveschofield/march-2011-iis-community-newsletter-is-published</link><description>&lt;DIV class=ForumPostContentText&gt;
&lt;P&gt;I'm excited to announce our March 2011 IIS Community Newsletter is published&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Here is the link to the March 2011 edition -&lt;BR&gt;&lt;/STRONG&gt;&lt;FONT color=#3399ff&gt;&lt;A href="http://www.iisnewsletter.com/archive/march2011.html"&gt;http://www.iisnewsletter.com/archive/march2011.html&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Sign-up for IIS Community Newsletter&lt;/STRONG&gt;&lt;BR&gt;&lt;A href="http://www.iisnewsletter.com/"&gt;&lt;FONT color=#3399ff&gt;http://www.iisnewsletter.com&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Cheers,&lt;/P&gt;
&lt;P&gt;Steve Schofield&lt;BR&gt;Microsoft MVP - IIS&lt;/P&gt;&lt;/DIV&gt;</description><pubDate>Wed, 30 Mar 2011 01:40:00 GMT</pubDate><guid isPermaLink="true">http://www.iislogs.com:80/steveschofield/march-2011-iis-community-newsletter-is-published</guid></item><item><title>February 2011 IIS Community Newsletter published</title><link>http://www.iislogs.com:80/steveschofield/february-2011-iis-community-newsletter-published</link><description>&lt;p mce_keep="true"&gt;I'm excited to announce our February 2011 IIS Community Newsletter is published&lt;br&gt;&lt;br&gt;Here is the link to the February 2011 edition -&lt;br&gt;&lt;a href="http://www.iisnewsletter.com/archive/february2011.html" mce_href="http://www.iisnewsletter.com/archive/february2011.html"&gt;&lt;font color="#3399ff"&gt;http://www.iisnewsletter.com/archive/february2011.html&lt;/font&gt;&lt;/a&gt; &lt;/p&gt;&lt;p mce_keep="true"&gt;&lt;strong&gt;Sign-up for IIS Community Newsletter&lt;/strong&gt;&lt;br&gt;&lt;a href="http://www.iisnewsletter.com/" mce_href="http://www.iisnewsletter.com/"&gt;&lt;font color="#3399ff"&gt;http://www.iisnewsletter.com&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&lt;p mce_keep="true"&gt;Cheers,&lt;/p&gt;&lt;p mce_keep="true"&gt;Steve Schofield&lt;br&gt;Microsoft MVP - IIS&lt;/p&gt;</description><pubDate>Sat, 26 Feb 2011 04:12:00 GMT</pubDate><guid isPermaLink="true">http://www.iislogs.com:80/steveschofield/february-2011-iis-community-newsletter-published</guid></item><item><title>www.IISJobs.com has been launched.</title><link>http://www.iislogs.com:80/steveschofield/www-iisjobs-com-has-been-launched</link><description>&lt;P&gt;Looking for a job related to Microsoft (Internet Information Server)? Or do you have a job opening which requires&amp;nbsp;IIS experience.&amp;nbsp; Look no further, subscribe to the discussion forum today at &lt;A href="http://www.iisjobs.com/"&gt;http://www.iisjobs.com&lt;/A&gt;&amp;nbsp;and be notified as soon as a job is posted or someone responds. &lt;/P&gt;
&lt;P&gt;Why start IISJobs.com?&amp;nbsp; I'm not looking to replace Monster, Careers.com.&amp;nbsp; I've seen in various places where jobs involving Microsoft IIS (Internet Information Server) have been posted.&amp;nbsp;&amp;nbsp; I thought it would be a good idea to centralize under a easy to remember domain name. :)&amp;nbsp;&amp;nbsp; My goal is to help the&amp;nbsp;&lt;A href="http://www.iis.net/" mce_href="http://www.iis.net"&gt;IIS&lt;/A&gt; community.&lt;/P&gt;
&lt;P&gt;Cheers,&lt;BR&gt;&amp;nbsp;&lt;BR&gt;Steve Schofield&lt;BR&gt;Windows Server MVP - IIS&lt;BR&gt;&lt;A href="http://weblogs.asp.net/steveschofield"&gt;http://weblogs.asp.net/steveschofield&lt;/A&gt;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&lt;A href="http://www.iislogs.com/"&gt;http://www.IISLogs.com&lt;/A&gt;&lt;BR&gt;Log archival solution&lt;BR&gt;Install, Configure, Forget&lt;/P&gt;</description><pubDate>Sun, 20 Feb 2011 11:21:00 GMT</pubDate><guid isPermaLink="true">http://www.iislogs.com:80/steveschofield/www-iisjobs-com-has-been-launched</guid></item></channel></rss>
