AWS Stopped InstancesLister
Professional PowerShell script that discovers and analyzes stopped EC2 instances across AWS accounts and regions. Fast AWS CLI integration with comprehensive CSV + HTML reporting for resource optimization.
PowerShell + AWS CLI Excellence
Comprehensive analysis and reporting for stopped AWS EC2 instances with enterprise-grade performance
AWS CLI Integration
Native integration with AWS CLI for authenticated access and reliable data retrieval across accounts
Multi-Region Discovery
Automatically discovers all enabled regions or targets specific regions for focused analysis
Profile Management
Support for multiple AWS profiles with automatic authentication verification and credential handling
Parallel Processing
High-performance parallel scanning across regions with configurable concurrency limits
Instance State Analysis
Comprehensive analysis of stopped and optionally terminated instances with detailed metadata
Owner Detection
Extracts owner information from EC2 tags for accountability and lifecycle management
Age Analysis
Calculates days since instance launch with configurable age-based filtering for lifecycle decisions
Dual Report Formats
Generates both CSV (for analysis) and HTML (for executive reporting) with comprehensive breakdowns
Usage Examples
Real-world scenarios for AWS instance lifecycle management and optimization
Complete Account Scan
.\AWS-StoppedInstances.ps1
Discovers all stopped instances across your entire AWS account with automatic region discovery.
Age-Based Filtering
.\AWS-StoppedInstances.ps1 -MinDays 30
Focuses on instances stopped for 30+ days for lifecycle management and potential cleanup decisions.
Regional Analysis
.\AWS-StoppedInstances.ps1 -Regions "us-east-1,us-west-2"
Analyzes specific regions for targeted resource management and compliance reporting.
Profile-Specific Scanning
.\AWS-StoppedInstances.ps1 -Profile "production" -IncludeTerminated
Uses specific AWS profile and includes terminated instances for comprehensive lifecycle analysis.
Technical Specifications
Enterprise-grade PowerShell script with comprehensive AWS instance discovery capabilities
Requirements
Modern PowerShell with parallel job support and advanced cmdlets
AWS Command Line Interface installed and configured with proper authentication
Valid AWS credentials configured via AWS CLI, environment variables, or IAM roles
EC2 read permissions (ec2:DescribeInstances, ec2:DescribeRegions) across target regions
Internet access to AWS API endpoints
Command Line Parameters
-Regions
Comma-separated list of AWS regions to scan
-MinDays
Minimum days since launch to include instances (default: 0)
-OutputPath
Output directory for reports (default: current directory)
-MaxConcurrent
Maximum number of concurrent operations (default: 10)
-SkipRegions
Comma-separated list of regions to skip during scanning
-Profile
AWS CLI profile to use (default: default profile)
-IncludeTerminated
Include terminated instances in addition to stopped ones
Core Features
Discovery Engine
- • Automatic region discovery via AWS CLI
- • Parallel processing with configurable concurrency limits
- • PowerShell job-based parallel execution
- • Comprehensive error handling and retry logic
Data Processing
- • Instance age calculation with timezone handling
- • Owner extraction from EC2 tags
- • Instance type, region, and availability zone analysis
- • Storage analysis with EBS volume details
Reporting Capabilities
- • CSV export for data analysis and integration
- • Rich HTML reports with visual breakdowns
- • Age distribution analysis with priority levels
- • Regional and availability zone distribution charts
Performance Optimization
- • Concurrent AWS CLI calls with job management
- • Progress tracking and performance metrics
- • Configurable concurrency limits for rate limiting
- • Memory-efficient data processing and aggregation
Comprehensive Reporting
Professional reporting in multiple formats with detailed analytics and visual breakdowns
CSV Data Export
Structured CSV export optimized for data analysis, filtering, and integration with business intelligence tools.
HTML Executive Report
Rich HTML report with visual analytics, age distribution charts, and executive-friendly presentation for stakeholder communication.
Chef's Tips & Best Practices
Professional recommendations for effective AWS instance lifecycle management
AWS CLI Setup
Ensure AWS CLI is properly configured and authenticated before running the script. Like prepping your kitchen tools, proper setup ensures smooth operation.
Performance Tuning
Start with 5-10 concurrent jobs for large accounts to balance speed and API rate limits. Like managing multiple burners, find the right balance for your environment.
Regional Strategy
Use region filtering for focused analysis or to avoid regions with restricted access. Target specific regions like a chef selecting ingredients from trusted suppliers.
Age-Based Filtering
Start with 30+ day filters for initial cleanup identification. Like aging ingredients, some instances need time, but others may be forgotten and ready for cleanup.
Owner Engagement
Use the owner detection to reach out before cleanup decisions. The script identifies owners through EC2 tags, enabling proactive communication about instance lifecycle.
Report Integration
Import CSV reports into analytics tools for trend analysis. The structured output enables executive dashboards and automated lifecycle management workflows.
Ready to Optimize Your AWS Resources?
Download the AWS Stopped Instances Lister and start identifying optimization opportunities in your Amazon Web Services today. PowerShell + AWS CLI excellence for comprehensive instance discovery.