Affected versions: Windows Server 2022

πŸ“– ~1 min read

Table of contents
  1. Symptom & Impact
  2. Environment & Reproduction
  3. Root Cause Analysis
  4. Quick Triage
  5. Step-by-Step Diagnosis
  6. Solution – Primary Fix
  7. Solution – Alternative Approaches
  8. Verification & Acceptance Criteria
  9. Rollback Plan
  10. Prevention & Hardening
  11. Related Errors & Cross-Refs
  12. References & Further Reading

Symptom & Impact

Web applications intermittently return 500/503 as the worker process recycles or crashes repeatedly.

Environment & Reproduction

Usually appears after app deployment, permission changes, or runtime updates.

Get-Service W3SVC,WAS
Import-Module WebAdministration; Get-WebAppPoolState -Name *
Import-Module WebAdministration; Get-Website

Root Cause Analysis

Common drivers include identity permission issues, bad modules, or rapid-fail protection triggers.

Quick Triage

Inspect pool health and immediate IIS/WAS events.

Import-Module WebAdministration; Get-Item IIS:/AppPools/* | Select Name,state
Get-WinEvent -LogName Application -MaxEvents 40
Get-WinEvent -LogName System -MaxEvents 20

Step-by-Step Diagnosis

Validate pool identity rights, app config, and .NET hosting dependencies.

Import-Module WebAdministration; Get-ItemProperty IIS:/AppPools/* -Name processModel
appcmd list apppool
appcmd list wp

Solution – Primary Fix

Reset problematic pool settings and restart IIS services.

Still having issues? Our IT Solutions & Services team can diagnose and resolve this for you. Get in touch for a free consultation.

Import-Module WebAdministration; Restart-WebAppPool -Name 'DefaultAppPool'
iisreset
Set-Service W3SVC -StartupType Automatic

Solution – Alternative Approaches

Create a clean pool and migrate affected site bindings.

Import-Module WebAdministration; New-WebAppPool -Name 'CleanPool'
Import-Module WebAdministration; Set-ItemProperty 'IIS:/Sites/Default Web Site' -Name applicationPool -Value 'CleanPool'

Verification & Acceptance Criteria

App pool remains started and site returns healthy responses under load test.

Import-Module WebAdministration; Get-WebAppPoolState -Name *
Invoke-WebRequest http://localhost -UseBasicParsing

Rollback Plan

Reassign site to previous pool if regression appears.

Import-Module WebAdministration; Set-ItemProperty 'IIS:/Sites/Default Web Site' -Name applicationPool -Value 'DefaultAppPool'

Prevention & Hardening

Use staged deployments and monitor rapid-fail counters.

appcmd list apppool /text:name,state
Get-WinEvent -LogName Application -MaxEvents 20
Illustrative mockup for windows-server-2022 β€” terminal_or_powershell
Diagnostics commands in PowerShell β€” Illustrative mockup β€” Progressive Robot
Illustrative mockup for windows-server-2022 β€” event_or_log_viewer
Event log verification for Windows Server 2022 β€” Illustrative mockup β€” Progressive Robot

Often confused with backend DNS or TLS issues when app pool crash is root cause.

Related tutorial: View the step-by-step tutorial for Windows Server 2022.

View all Windows Server 2022 tutorials on the Tutorials Hub β†’

Browse all common problems & solutions on the Tutorials Hub.

References & Further Reading

Microsoft Learn: IIS application pool lifecycle, WAS troubleshooting, and reliability tuning.

Need Expert Help?

If you cannot resolve this yourself, our team offers hands-on Server Management, Managed IT Services, and flexible Support Plans. Contact us today β€” we respond within one business day.