Thursday, February 26, 2009

II7.0 Troubleshooting and Logging

IIS Manager

IIS 7.0 introduces a completely new user interface, the IIS Manager. The IIS Manager makes it

easier to browse and make changes to IIS settings, including log file settings. For example,

if you wanted to implement the centralized logging in IIS 6.0, you had to use ADSUtil.vbs.

Now, the Centralized Logging option is exposed in the IIS Manager, as shown in Figure 15-1.

 

The XML-Based Logging Schema

IIS 7.0 uses a new configuration system that is XML-based and is very similar to the ASP.NET

configuration system. Each configuration section is defined in XML schema files located in

 

%SystemRoot%\system32\inetsrv\config\schema. Details on the configuration sections are

covered in Chapter 4, “Understanding the Configuration System.” Because information is

defined in XML files, it is easy to determine what attributes, elements, and enums are used.

The schema for IIS 7.0 contains a list of all the configurable options, so looking in the schema

file is a quick way to identify all the configurable settings for any feature, including logging.

The following listing is from the system.applicationHost/log section that is located in

%SystemRoot%\system32\inetsrv\config\schema\IIS_Schema.xml. (Some long lines have

been split to fit on the printed page.) As you can see, the XML clearly defines the names and

data types associated with each item.

<sectionSchema name="system.applicationHost/log">

<attribute name="logInUTF8" type="bool" defaultValue="true" />

<attribute name="centralLogFileMode" type="enum" defaultValue="Site" >

<enum name="Site" value="0"/>

<enum name="CentralBinary" value="1"/>

<enum name="CentralW3C" value="2"/>

</attribute>

<element name="centralBinaryLogFile">

<attribute name="enabled" type="bool" defaultValue="false" />

<attribute name="directory" type="string" expanded="true"

defaultValue="%SystemDrive%\inetpub\logs\LogFiles" />

<attribute name="period" type="enum" defaultValue="Daily">

<enum name="Hourly" value="4"/>

<enum name="Daily" value="1"/>

<enum name="Weekly" value="2"/>

<enum name="Monthly" value="3"/>

<enum name="MaxSize" value="0"/>

</attribute>

<attribute name="truncateSize" type="int64" defaultValue="20971520"

validationType="integerRange"

validationParameter="1048576,4294967295" />

<attribute name="localTimeRollover" type="bool"

defaultValue="false"/>

</element>

<element name="centralW3CLogFile">

<attribute name="enabled" type="bool" defaultValue="true" />

<attribute name="directory" type="string" expanded="true"

defaultValue="%SystemDrive%\inetpub\logs\LogFiles"

validationType="nonEmptyString" />

<attribute name="period" type="enum" defaultValue="Daily">

<enum name="Hourly" value="4"/>

<enum name="Daily" value="1"/>

<enum name="Weekly" value="2"/>

<enum name="Monthly" value="3"/>

<enum name="MaxSize" value="0"/>

</attribute>

<attribute name="truncateSize" type="int64" defaultValue="20971520"

validationType="integerRange"

validationParameter="1048576,4294967295" />

<attribute name="localTimeRollover" type="bool"

defaultValue="false"/>

<attribute name="logExtFileFlags" type="flags"

defaultValue="Date, Time, ClientIP, UserName, SiteName, ServerIP,

Method, UriStem, UriQuery, HttpStatus, Win32Status,

ServerPort, UserAgent, HttpSubStatus">

<flag name="Date" value="1"/>

<flag name="Time" value="2"/>

<flag name="ClientIP" value="4"/>

<flag name="UserName" value="8"/>

<flag name="SiteName" value="16"/>

<flag name="ComputerName" value="32"/>

<flag name="ServerIP" value="64"/>

<flag name="Method" value="128"/>

<flag name="UriStem" value="256"/>

<flag name="UriQuery" value="512"/>

<flag name="HttpStatus" value="1024"/>

<flag name="Win32Status" value="2048"/>

<flag name="BytesSent" value="4096"/>

<flag name="BytesRecv" value="8192"/>

<flag name="TimeTaken" value="16384"/>

<flag name="ServerPort" value="32768"/>

<flag name="UserAgent" value="65536"/>

<flag name="Cookie" value="131072"/>

<flag name="Referer" value="262144"/>

<flag name="ProtocolVersion" value="524288"/>

<flag name="Host" value="1048576"/>

<flag name="HttpSubStatus" value="2097152"/>

</attribute>

</element>

</sectionSchema>

 

Centralized Logging Configuration Options

Following is the logging section defined in the ApplicationHost.config file that controls

Centralized Logging options. You can change this so that your files are stored on another drive

or volume. You can enable options you want and disable whatever options you do not need.

<log>

<centralBinaryLogFile enabled="true"

directory="%SystemDrive%\inetpub\logs\LogFiles" />

<centralW3CLogFile enabled="true"

directory="%SystemDrive%\inetpub\logs\LogFiles" />

</log>

 

SiteDefaults Configuration Options

The SiteDefaults section in the ApplicationHost.config file, shown in the following code,

controls the logging settings that are used when creating new sites. You can configure two

options: the format of the log file and the location in which Failed Request tracing files are

stored.

<siteDefaults>

<logFile logFormat="W3C"

directory="%SystemDrive%\inetpub\logs\LogFiles" />

<traceFailedRequestsLogging

directory="%SystemDrive%\inetpub\logs\FailedReqLogFiles" />

</siteDefaults>

 

Disable HTTP Logging Configuration Options

In some cases, an IIS administrator does not require log files. If you would like to turn off

httpLogging at the server level, you can disable logging in the IIS Manager. You can also

disable logging at the site level. You might wonder why these options are available. It’s so that

you can disable logging on your test or development machines to reduce the disk space

that unnecessary files use.

You should evaluate your options before disabling httpLogging. Check with your business or

legal department to be certain what your company’s logging requirements and policies are.

The default value for this setting, as shown here, is false.

<httpLogging dontLog="false" />

 

Default Log File Location

One of the most significant changes in IIS 7.0 is that the folder where IIS stores WWW logs

has been changed to %SystemDrive%\inetpub\logs\LogFiles. For example, the Default Web

Site would log to C:\inetpub\logs\LogFiles\w3svc1. This means that by default in IIS 7.0, all

log files are stored in a single folder. Note, however, that log files for the legacy built-in File

Transfer Protocol (FTP) and Simple Mail Transfer Protocol (SMTP) services are still located in

%windir%\System32\Logfiles. You can manage these files by using the IIS Manager 6.0, an

MMC console that is installed when you install the legacy FTP service or the SMTP service.

Note The new FTP Publishing Service for IIS 7.0 stores its log files in %SystemDrive%\

inetpub\logs\LogFiles by default. You need to download and install this add-on, because it

does not ship with IIS 7.0. The x86 and x64 versions are available at http://www.iis.net. Click

Download and search for “Microsoft FTP Publishing Service for IIS 7.0.”

 

Default UTF-8 Encoding

By default, IIS 7.0 stores log files by using UTF-8 encoding. This changes the default file

naming convention so that the files start with u_ (for example, u_exYYMMDD.log). Here is

the portion of the IIS_Schema.xml file that sets the UTF-8 encoding option. The default

setting is true.

<sectionSchema name="system.applicationHost/log">

<attribute name="logInUTF8" type="bool" defaultValue="true" />

...

</sectionSchema>

UTF-8 encoding allows for single-byte and multi-byte characters in one string. This encoding

enables you to read text-based logs (for example, logs that use W3C Extended, IIS, and NCSA

Common formats) in a language other than English. IIS does not support the UTF-8 format

for the built-in FTP Publishing Service log files. UTF-8 encoding is available in IIS 6.0, but it is

not enabled by default. If you do not want to have your logs use UTF-8 encoding, you can use

ANSI as the format.

 

New Status Codes

In IIS 7.0, new status codes have been introduced for HTTP and FTP. These additional error

codes provide more details about events and better descriptions of how to fix errors, with

suggestions about what to look for or what procedures to run. Appendix A provides a

complete list of all status codes.

 

Management Service

IIS 7.0 introduces Management Service, which enables computer and domain administrators

to remotely manage a machine by using the IIS Manager. The Management Service also

enables nonadministrators to control sites and various applications by using the IIS Manager

from a workstation.

This service has its own logs that are used to track information related to the Management

Service. This service is not installed by default. If you install and enable this service, the logs

will be saved in %SystemDrive%\inetpub\logs\WMSvc.

From a logging perspective, you should make sure the Management Service logging is enabled.

The logs can help you audit and troubleshoot issues when clients are connecting to your

server. The Management Service is discussed in depth in Chapter 8, “Remote Administration.”

Log File Formats That Have Not Changed

IIS 7.0 supports all the common logging formats that are available in prior versions of IIS.

There have been no changes in IIS 7.0 to the following log file formats:

Microsoft IIS

NCSA

W3Svc extended

Note For descriptions, further discussion, and examples of these log formats, go to

http://msdn2.microsoft.com and search for “IIS logging formats.”

 

Centralized Logging

Centralized logging in IIS 7.0 operates the same way as it does in IIS 6.0. However, you can

now configure this option in the IIS 7.0 Manager. To access this feature, go to Administrative

Tools > Internet Information Services (IIS) Manager. Click the computer name and locate

the Logging option listed in the IIS section.

Using the Logging option can reduce administrative costs because only one IIS log file is

being maintained. If you use binary logging, the log can be stored in a much smaller file than

the equivalent text log file.

 

W3C Centralized Logging Format

W3C centralized logging was first introduced in Windows Server 2003 SP1. W3C centralized

logging is a server-level setting. When you enable this feature on a server, all Web sites on

that server are configured to write log data to a central log file. Data is stored in the log file

using the W3C Extended log file format. You can enable this setting through the IIS 7.0

Manager or by using Appcmd. If you use W3C centralized logging, you can view the log file

with a text editor such as Notepad.

Note W3C centralized logging uses the W3C Extended log format, which includes the following

four fields: HostHeader, Cookie, UserAgent, and Referrer. These fields are not available in

centralized binary logging.

 

Centralized Binary Logging Format

Centralized binary logging is essentially the same as W3C centralized logging, except that

the log file uses a proprietary, binary format. Because the resulting file is binary, it is smaller

than an equivalent text file so that you can conserve disk space. It cannot be read with a text

editor and requires parsing to produce useful information. However, this is easier than you

might think when you use the Log Parser tool, which reads the centralized binary file format

natively. The Log Parser tool is discussed later in this chapter.

Important The built-in FTP and SMTP services do not support W3C centralized logging.

 

Remote Logging

IIS 7.0 supports writing log files to a network share. This option enables you to have your log

files stored in real time to a remote computer. For example, suppose that you have a Web farm

configured for logging to a central location. The remote file server could be a server running

DFS (distributed file system). DFS can provide multiple benefits including a central location

to collect your log files and automatic replication of your logs to multiple locations. Having

such a primary collection point can make handling your reporting processes much easier.

Important When you set up your remote logging environment, make sure the host (A)

and pointer (PTR) DNS records are set up so that authentication and resolution happens

correctly. This can help avoid problems such as Kerberos authentication errors when HTTP.sys

is trying to write log files.

You can use either the IIS 7.0 Manager or Appcmd to set up Universal Naming Convention

(UNC) remote logging.

 

Setting Up Remote Logging by Using the IIS Manager

Following are the steps to enable remote logging by using the IIS Manager:

1. Create a directory called IISLogs on the remote server that will store the log files. This

machine is typically in the same domain as the Web servers. If the remote server is

not in the same domain or is a stand-alone machine, you can use the procedure outlined

in the following sidebar so your files are stored on a remote machine.

Using a NULL Session for Remote Logging

If your remote server will be in a different domain, you can set up a NULL Session to

support remote logging. The following procedure outlines how to set up this environment.

If your remote server is not in a different domain, you can skip over the details of

this outline and proceed with step 2 of the procedure for setting up remote logging by

using the IIS Manager.

Before setting up your environment, make sure both machines can resolve each other

using DNS, WINS, or custom entries in the local HOSTS file. This procedure assumes

both servers are Windows Server 2008.

1. Identify two machines, the Web server and the file server. These roles need to be

on separate physical machines.

2. Create a folder called IISLogs on your file server and then create a share and grant

appropriate folder security.

a. Open a command prompt on the file server and type mkdir c:\IISLogs

b. Then type net share IISLogs=c:\IISLogs /Grant:Everyone,FULL

c. Then type cacls c:\IISLogs /G Administrators:F SYSTEM:F Everyone:C

d. When you see the prompt “Are you sure (Y/N)?” type y

e. Processed dir: c:\IISLogs

3. Configure logging on your Web site by typing

appcmd set sites "WebsiteName" -logFile.directory:\\FileServerName\IISLogs

4. Configure Local Security Policy on the file server.

*Programs, Administrative Tools, Local Security Policy, Local Policies, Security Options*

a. Enable:Network access:Let Everyone permissions to apply to anonymous users.

b. Add IISLogs share to the Network access:Shares that can be accessed

anonymously.

5. Browse your Web site on the Web server.

a. Open http://localhost/

6. Open a command prompt on the Web server and type the following command:

netsh http flush logbuffer

7. Check your log files to see if your sample request is listed.

2. Share the IISLogs folder you created in the previous step. Change the share permissions

to—at minimum—enable both the remote machine accounts Administrators group and

the account that is writing the log files full control. Change the NTFS file system (NTFS)

permissions so that the remote machine accounts Administrators have full control and

the account writing the log files has modify permissions. This example assumes that

you are using the NETWORK SERVICE as your application pool account and that the

remote server and Web server are in the same domain.

Note When the NETWORK SERVICE account accesses a remote resource, it uses the

computer account stored in Active Directory Domain Service as the actual account

accessing the log folder.

3. In the IIS Manager, navigate to your Web site and type in the UNC path to the server.

To do so, go to Administrative Tools > Internet Information (IIS) Manager. Select the

computer name in the leftmost column and then double-click the Logging icon in

the IIS Section. Type the path to the share in the Directory text box by using the syntax

\\ServerName\ShareName, as shown in Figure 15-2.

Note You can also use the syntax \\FQDN\ShareName to specify the logging path,

but you might run into issues if you try to use the syntax \\IPAddress\ShareName to

specify the path. The \\IPAddress\ShareName syntax can cause an authentication issue

that prevents the log files from being created. The following is an example of an error

generated when trying to use an IP Address when remote logging is enabled:

Microsoft-Windows-HttpService , LogFileCreateFailed ,

49, 0, 16, 2, 59, 9,

0x0000000000000800, 0x00000004, 0x000005AC, 0,

, , {00000000-0000-0000-0000-

000000000000}, ,

128277049412643098, 220, 0, 0xC0000022,

"ResponseLogging ", "Site ", "W3C ",

"\dosdevices\UNC\192.168.0.125\UncLogFiles\W3SVC1\u_ex070630.log",

0 4. Click Apply.

5. Browse a Web page in your site.

6. Open a command prompt by using elevated credentials and type netsh http flush

logbuffer. If this is the first time entries have been logged, HTTP.sys will create the

folder and a log file. Open the log file in Notepad to confirm your example entries have

been logged.

 

Setting Up Remote Logging by Using Appcmd

You can also use Appcmd to update the logfile directory for a specific Web site. The syntax for

configuring UNC remote logging using Appcmd is shown here. (The line has been split to fit it

on the printed page.)

//Appcmd to set the log directory path for Default Web Site

Appcmd set sites "Default Web Site"

-logFile.directory:\\RemoteServerCMD.Contoso.com\LogFiles

Note To automate configuring remote logging, you could put this example into a script to

which you can pass variables.

Executing this command results in the following output:

SITE object "Default Web Site" changed

 

 

IIS 7.0: Overview of IIS 7.0 Deployment Scenarios

IIS 7.0: Overview of IIS 7.0 Deployment Scenarios

This section contains information about how to deploy IIS 7.0 in six common configurations. IIS 7.0 lets you customize your installation to include only the modules that you must have to support your Web server. Before you choose an IIS configuration to deploy on your Web server, review the common modules and their uses to determine which modules match the requirements for your applications. For a description of the common modules, see IIS 7.0: Deploying an IIS 7.0 Web Server.

For more information about common IIS configurations, see Install Typical IIS Workloads on IIS.NET.

In This Section

IIS 7.0: Deploying a Classic ASP Server

IIS 7.0: Deploying an ASP.NET Server

IIS 7.0: Deploying a Static Content Server

IIS 7.0: Enabling FastCGI on IIS 7.0

IIS 7.0: Using Windows SharePoint Services 3.0 on IIS 7.0

IIS 7.0: Adding Windows Media Services 2008 on an IIS 7.0 Server

 

IIS 7.0: Deploying an IIS 7.0 Web Server

IIS 7.0: Deploying an IIS 7.0 Web Server

IIS 7.0 helps organizations and individuals meet their business needs by providing the services to support a secure, available, and scalable Web server on which to run Web sites and applications.

Before you deploy IIS 7.0, you must verify that your existing Web sites and applications are compatible with IIS 7.0 and with the Windows Server® 2008, Windows Vista® Business, Windows Vista® Ultimate, and Windows Vista® Home Premium operating systems. You should verify the compatibility of your Web sites and applications on a test Web server before you deploy IIS 7.0 on a production Web server.

noteNote

For additional requirements to consider before you deploy your IIS 7.0 Web server, see the IIS 7.0 Operations Guide.

You can deploy your Web sites and applications on an IIS 7.0 Web server in various configuration scenarios. This guide provides a starting point for you to determine which of the deployment scenarios presented will best suit your production environment. The topics in this section describe specific IIS 7.0 deployment scenarios that target common workloads. These scenarios include: a classic ASP server, a static content server, and a Windows SharePoint Services server.

For more information about typical IIS workloads, see Install Typical IIS Workloads on IIS.NET.

The following table lists the common modules that you can install on your IIS 7.0 Web server. You will also find descriptions for the modules installed on each of the server configurations in their corresponding topics. Review the descriptions for each module to determine which ones meet the requirements for your specific configuration.

 

Use this module

To do this

Logging and Diagnostics

Troubleshooting

Perform tasks related to troubleshooting, including logging and diagnostics in the request-processing pipeline. Support loading of custom modules and for passing information to HTTP.sys for logging. Follow and report events during request processing to help troubleshoot sites and applications.

Failed Request

Troubleshooting

Perform tasks related to troubleshooting by enabling the Failed Request Tracing feature, which will help you identify and trace problems when they occur, and diagnose errors.

URL Authorization

Security

Perform URL authorization and determine whether the current user is permitted access to the requested URL based on the user name or the list of roles that a user is a member of.

Caching

Performance

Perform tasks related to improving performance by enabling caching in the request-processing pipeline. Improve performance of sites and applications by storing processed information in memory on the server and then reusing that information in subsequent requests for the same resource.

Compression

Performance

Perform tasks related to improving performance by enabling compression in the request-processing pipeline, including precompression of static content and compression of responses. Apply Gzip compression transfer coding to responses.

For detailed information about native and managed IIS 7.0 modules, see IIS 7.0 Modules Overview and Introduction to IIS 7.0 Architecture on IIS.NET.

 

IIS 7.0: Deployment Guide

IIS 7.0: Deployment Guide

Welcome to deploying Internet Information Services (IIS) 7.0.

IIS 7.0 provides the services to support a secure, available, and scalable Web server on which to run your Web sites and applications. This guide provides prescriptive, task-based, and scenario-based guidance to help you design an IIS 7.0 solution that meets the specific needs of your organization. Deployment scenarios include setting up a static content Web server, installing FastCGI for your CGI-based applications such as PHP, using Windows SharePoint Services 3.0 on IIS 7.0, and upgrading to IIS 7.0 on Windows Server® 2008.

This guide contains the following sections:

IIS 7.0: Deploying an IIS 7.0 Web Server

IIS 7.0: Upgrading to IIS 7.0 on Windows Server 2008

 

About IIS 7.0 on Server Core Installations

IIS 7.0 Server Core

Updated: February 16, 2009

Server Core, the minimal server installation option for Windows Server® 2008, is available in Standard, Enterprise, and Datacenter editions. It supports a subset of the server roles available in full installations of the operating system; this subset includes the Internet Information Services (IIS) 7.0 Web Server. In a Server Core installation, only the services, roles, and features required for an installed role are installed. Since IIS 7.0 componentized architecture enables seamless integration with Server Core’s lean, configurable operating system, it makes the combination of Server Core and the IIS 7.0 Web Server the ultimate small-footprint Web server.

Running IIS 7.0 on Server Core provides a modular, customizable Web server on a thin server operating system. This makes it great for appliance-like environments, Web farm front-end servers, and Web sites, or applications that require minimal maintenance.

About IIS 7.0 on Server Core Installations

Running IIS on Server Core installations provides several key benefits. These benefits include the following:

  • Minimizing disk space and RAM requirements.
  • A small surface area that is less vulnerable to malicious attacks.
  • Fewer components to service, manage, and troubleshoot.

Server Core’s small footprint makes IIS running on Server Core lean and efficient; however, it also means that some IIS features found in full Windows Server installations are not available, for example:

  • Server Core has a limited graphical eser interface (GUI) that does not include the Windows Shell, so most operations require the use of the command-line interface. Because of this, IIS Manager and the other IIS administration tools are not available.
  • The Microsoft® .NET Framework is not available on Server Core installations; consequently, Microsoft® ASP.NET is also not available. However, ASP.NET is scheduled to be available as an optional configuration component for Server Core in Windows Server® 2008 R2.
  • The HTTP remote administration service relies on the .NET Framework so that it is also unavailable in an IIS installation that runs on Server Core. However, delegated administration through distributed Web.config files is supported. Therefore, users who have access to a content directory can publish IIS configuration settings for their Web sites or applications by using delegated administration and Web.config.
  • The ServerManagerCMD utility for installing viewing, adding, removing, and configuring server roles on full installations of Windows Server 2008 has been replaced by the OCLIST and OCSETUP command line utilities on Server Core.

Windows Server 2008 Server Core installations that run IIS 7.0 support several installation options including:

  • As a static content Web server that can serve HTML files, documents, and images.
  • With classic ASP support for processing server-side scripted ASP pages together with static content. The Classic ASP server configuration adds IIS modules for ASP, Request Filtering, and ISAPI extensions to the default Web server installation.
  • With CGI and ISAPI support for processing ISAPI extensions or Common Gateway Interface (CGI) programs.
  • With FastCGI support for processing languages that support FastCGI such as PHP.

Using IIS 7.0 on Server Core Installations

Because Server Core installations have a limited graphical user interface (GUI), options for installing, configuring, and managing IIS locally are primarily limited to the command-line interface (CLI). However, some useful GUI tools are included such as Task Manager, the Date and Time Control Panel, the Regional Settings Control Panel, and Windows Notepad. Aside from the lack of GUI management tools, all other features of IIS 7.0 on a Server Core installation operate as they ordinarily do on full installations of Windows Server 2008.

Managing IIS 7.0 on Server Core Locally

Despite the lack of a GUI, Server Core installations provide many utilities that help perform and automate server management tasks from the CLI. Options for installing, configuring, and, managing IIS locally from the CLI include the following:

  • The OCList command-line utility lists the server roles and optional features that are available for use with Ocsetup.exe, in addition to the roles and optional features that are currently installed.
  • OCSETUP is another command-line utility for viewing, adding, removing, and configuring server roles. OCSETUP can be used to add and remove server roles, and also to install and uninstall IIS components.
  • The IIS 7.0 command-line tool (AppCmd.exe) for configuring and managing server functionality.
  • A Windows® Management Instrumentation (WMI) provider with classes, methods, and properties used to configure IIS from scripts or executables.
  • The ApplicationHost.AdminManager (AHAdmin) COM application programming interfaces that are used to manipulate top-level server management objects and their properties.

Additionally, because IIS configuration information is stored in XML format, Windows Notepad can be used to edit configuration files.

Managing IIS 7.0 on Server Core Remotely

Server Core can be configured and managed from a remote computer by using Remote Desktop Protocol (RDP). Options for remotely configuring and managing IIS on a Server Core installation include the following:

  • Windows Remote Manager (WinRM) scripting objects, the WinRM command-line tool, or WinRS, the Windows Remote Shell command-line tool, can be used to run AppCmd.exe.
  • AppCmd.exe can also be used from the CLI by using Terminal Server and the Microsoft Management Console (MMC).
  • PowerShell with MWA Microsoft Web Administration (MWA), a managed code API for configuring and managing IIS 7.0.
  • WMI Scripts running from PowerShell or from the CLI by using Terminal Server.

Considerations for running IIS 7.0 on Server Core

Following is a list of items to consider when you deploy IIS on Server Core or migrate sites and applications from full Windows Server installations to Server Core installations:

  • Remove all .NET Framework dependencies.
  • Use OCSetup to remove unnecessary modules and reduce the server’s attack surface.
  • Always test applications after you add or remove modules.
  • Install security modules such as Request Filtering and URL authorization.
  • Enable and use features such as Failed Request Tracing to diagnose problems.
  • Design management tools to run remotely or automatically by using scripts that run without user interaction.
  • Remove prompts, such as "Press any key to continue,” especially those that are used with WS-Management and Windows Remote Shell.

Additional Resources

Additional resources for learning more about Server Core installations include the following:

Additional resources for learning more about how to run IIS 7.0 on Server Core installations include the following:

Additional resources for learning more about scripts and tools that are used to configure and manage IIS 7.0 on Server Core installations include the following:

 

Windows 2008 Server - IIS 7.0 Resources

IIS 7.0: Web Server Resources

Updated: February 2, 2009

Use the following resources to learn more about Internet Information Services (IIS) 7.0, which is the Web server role in Windows Vista® and Windows Server® 2008.

Evaluation

Changes in Functionality from Windows Server 2003 with SP1 to Windows Server 2008: Web Server (IIS) Role

Describes the important changes to and functionality available in IIS 7.0.

Overview of Available Features in IIS 7.0

Describes the IIS features that are available in each version of Windows Vista and Windows Server 2008.

Virtual IIS 7.0 Labs

Provides virtual labs that let you try IIS 7.0.

Getting Started

Common Administrative Tasks

Provides links to common tasks that help you configure your Web server.

IIS Administration Tools

Provides information about the administration tools that are available to configure the Web server.

Planning and Architecture

Introduction to IIS 7.0 Architecture

Provides technical reference about IIS 7.0 architecture, including information about services, modules, and Web server extensibility.

ASP.NET Integration with IIS 7.0

Describes how ASP.NET has been integrated with IIS features in IIS 7.0.

Introduction to ApplicationHost.config

Provides information about ApplicationHost.config, the new root configuration file in IIS 7.0.

Deep Dive into IIS 7.0 Configuration

Provides technical reference about the new configuration system in IIS 7.0.

Understanding Sites, Applications, and Virtual Directories in IIS 7.0

Provides technical reference about how sites, applications, and virtual directories have changed in IIS 7.0.

Deployment and Installation

Installing IIS 7.0

Provides procedures for installing IIS 7.0 on Windows Vista and Windows Server 2008.

IIS 7.0 on Server Core

Provides procedures for installing IIS 7.0 on Windows Server 2008 Server Core, and procedures for administering the Web server on Server Core.

Web Site Deployment Made Easy

Describes how the new configuration system in IIS 7.0 has simplified the deployment of Web sites.

Operations

IIS 7.0 Operations Guide

Provides a comprehensive set of tasks and procedures to help administrators administer and configure Web servers, sites, and applications.

Security and Protection

Security Changes Between IIS 6.0 and IIS 7.0

Describes the security improvements to authentication, authorization, Secure Sockets Layer (SSL), extension restrictions, and IP restrictions in IIS 7.0.

Understanding the Built-In User and Group Accounts in IIS 7.0

Describes the built-in user and group accounts that were added in IIS 7.0 to improve xcopy deployment.

Understanding IIS 7.0 URL Authorization

Describes how to configure URL authorization rules in IIS 7.0.

Forms Authentication in IIS 7.0

Describes how to use Forms authentication for ASP.NET content and other content types in IIS 7.0.

How to Set Up SSL on IIS 7.0

Describes changes to Secure Sockets Layer (SSL) in IIS 7.0 and provides procedures for configuring SSL.

Using Encryption to Protect Passwords

Describes how to use encryption to protect passwords used in IIS, such as passwords for application pool identities or the anonymous user account.

How to Use Request Filtering

Describes the IIS 7.0 Request Filtering feature, which replaces the URLScan security tool that was provided as an add-on tool in earlier versions of IIS.

Troubleshooting

Monitor Activity on a Web Server

Provides links to tasks that help you monitor activity on a Web server by using the Logging, Failed Request Tracing, and Worker Processes features in IIS 7.0.

Diagnostics and Troubleshooting with IIS 7.0

Provides an overview of the new features in IIS 7.0 that enable you to better diagnose problems that occur on your Web server.

How to Use HTTP Detailed Errors in IIS 7.0

Describes how to configure detailed HTTP errors that can help you better troubleshoot problems with your sites and applications.

Troubleshooting Failed Requests Using Tracing in IIS 7.0

Describes how to use the Failed Request Tracing feature in IIS 7.0 to capture traces of requests that help you troubleshoot problems on your Web server.

Overview of Runtime Status and Control Data and Objects

Provides an overview of Runtime Status and Control Data and Objects (RSCA), which gives administrators the ability to view the current state of control runtime objects, such as application pools.

How to Access IIS 7.0 RSCA Data

Describes how to use the RSCA Application Programming Interface (API) to gather information about runtime objects.

Community Resources

Frequently Asked Questions

Provides answers to frequently asked questions (FAQs) from customers.

IIS.NET Forums

Provides a place where customers can ask questions and receive answers from the IIS product team and other customers.