Application Pool identity is invalid

Microsoft.Windows.InternetInformationServices.2008.The.identity.of.the.application.pool.is.invalid.Monitor (UnitMonitor)

Knowledge Base article:

Summary

Web sites and Web applications depend on the availability of Internet Information Services (IIS) application pools. IIS application pools in turn depend on the Windows Process Activation Service (WAS). If WAS is not running or errors occur during the startup or shutdown of an application pool, Web sites and Web applications may not be available.

Resolutions

The application pool identity must be set to a valid account for the application pool to function. There are two types of Identity for the application pools: Built-in and Custom. The built-in accounts are NetworkService, LocalService, and LocalSystem. The default (recommended) is NetworkService. If you set the application pool identity to a custom account, you will have to ensure that the user credentials are valid and that the user is a member of the IIS_USRS group. The following procedures describe how to set the application pool identity and then restart the application pool.

To set the application pool identity:

To add a specific user (custom account) to the IIS_USRS group:

Note:After you add a user to the IIS_USRS group, the Web services must be stopped and restarted for the new logon rights to take effect. This will stop all Web traffic to the server.

If you did not add an identity to the IIS_USRS group,continue to the steps to stop and restart the application pool.

To stop and restart the Web services:

To stop and restart the application pool:

You can also restart the application pool using the link below:

Recycle Application Pool

Element properties:

TargetMicrosoft.Windows.InternetInformationServices.2008.ApplicationPool
Parent MonitorSystem.Health.ConfigurationState
CategoryConfigurationHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.InternetInformationServices.2008.ApplicationPool.EventLogManualReset2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Application Pool identity is invalid
{0}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.InternetInformationServices.2008.The.identity.of.the.application.pool.is.invalid.Monitor" Accessibility="Public" Enabled="onEssentialMonitoring" Target="Microsoft.Windows.InternetInformationServices.2008.ApplicationPool" ParentMonitorID="SystemHealth!System.Health.ConfigurationState" Remotable="true" Priority="Normal" TypeID="Microsoft.Windows.InternetInformationServices.2008.ApplicationPool.EventLogManualReset2StateMonitorType" ConfirmDelivery="false">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.InternetInformationServices.2008.The.identity.of.the.application.pool.is.invalid.Monitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/EventDescription$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="ManualResetEventRaised" MonitorTypeStateID="ManualResetEventRaised" HealthState="Success"/>
<OperationalState ID="ErrorEventRaised" MonitorTypeStateID="ErrorEventRaised" HealthState="Error"/>
</OperationalStates>
<Configuration>
<LogName>System</LogName>
<Expression>
<And>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>^(5021|5057)$</Pattern>
</RegExExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-WAS</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</Configuration>
</UnitMonitor>