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

All IIS-hosted sites return 503 when WAS cannot initialize application pools.

Environment & Reproduction

Common after service dependency or configuration corruption.

Get-Service WAS,W3SVC
Import-Module WebAdministration; Get-Website
Get-WinEvent -LogName System -MaxEvents 20

Root Cause Analysis

WAS startup can fail due to malformed config, missing dependencies, or identity initialization errors.

Quick Triage

Check service dependencies and immediate event chain.

Get-Service WAS | Select Name,Status,StartType
Get-Service W3SVC
Get-WinEvent -LogName Application -MaxEvents 30

Step-by-Step Diagnosis

Validate IIS configuration integrity and dependent role components.

appcmd list config -section:system.applicationHost/applicationPools
Get-WindowsFeature Web-Server,Web-WebServer
Get-Item C:/Windows/System32/inetsrv/config/applicationHost.config

Solution – Primary Fix

Repair startup sequence and restart WAS/IIS stack.

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

Set-Service WAS -StartupType Automatic
Start-Service WAS
Start-Service W3SVC
iisreset

Solution – Alternative Approaches

Restore known-good IIS config if corruption is detected.

Stop-Service WAS,W3SVC -Force
Copy-Item C:/Backup/applicationHost.config C:/Windows/System32/inetsrv/config/applicationHost.config -Force
Start-Service WAS,W3SVC

Verification & Acceptance Criteria

WAS and W3SVC remain running and sites return expected HTTP status.

Get-Service WAS,W3SVC
Invoke-WebRequest http://localhost -UseBasicParsing

Rollback Plan

Return prior config snapshot and service startup types if behavior worsens.

Copy-Item C:/Backup/applicationHost.prev.config C:/Windows/System32/inetsrv/config/applicationHost.config -Force

Prevention & Hardening

Backup IIS config before changes and monitor WAS event IDs proactively.

appcmd add backup PreChange
appcmd list backup

Can overlap with app pool identity issues and expired TLS bindings.

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: WAS service dependencies and IIS 503 troubleshooting.

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.