Azure PowerShell Toolkit is a comprehensive collection of 772 PowerShell scripts designed for Azure infrastructure management, automation, and DevOps operations.
Repository: https://github.com/wesellis/Azure-PowerShell-Toolkit
Status: ~85% Complete - Quality Improvement Phase
Author: Wes Ellis (wes@wesellis.com)
License: MIT
This toolkit aims to provide enterprise-ready PowerShell scripts for:
- Azure Resource Management: Create, configure, and manage Azure resources across all services
- Infrastructure Automation: Automate repetitive Azure infrastructure tasks
- DevOps Integration: Scripts designed for CI/CD pipelines and automation workflows
- Cost Optimization: Tools for Azure cost analysis and resource optimization
- Security & Compliance: Scripts for security auditing and compliance verification
- Disaster Recovery: Backup, restore, and recovery automation
✅ 772 PowerShell Scripts organized by Azure service category:
- Compute (VMs, Containers, App Services)
- Storage (Storage Accounts, Databases, Blob)
- Network (VNets, NSGs, Load Balancers)
- Identity (Azure AD, RBAC, Security)
- Cost Management (Analysis, Budgets, Optimization)
- Monitoring (Alerts, Diagnostics, Logging)
- Utilities (Helper functions, Tools)
✅ Infrastructure as Code:
- Azure Bicep templates
- Terraform configurations
✅ Quality Assurance:
- GitHub Actions CI/CD pipelines
- PSScriptAnalyzer validation
- CodeQL security scanning
- Gitleaks credential scanning
📊 Quality Metrics from Comprehensive Review:
- Scripts Analyzed: 42 representative samples from 772 total
- High Quality Scripts: ~30% (confirmed excellent)
- Scripts Needing Improvement: ~65-70%
- Critical Issues: ~30% of scripts
CRITICAL Priority:
- Incorrect
[string]type casting on object variables (~30% of scripts) - Hardcoded customer/subscription values (security risk)
- Broken syntax in several scripts
HIGH Priority:
- Malformed help documentation (missing closing tags, syntax errors)
- Missing or incorrectly placed
[CmdletBinding()]attributes
MEDIUM Priority:
- Missing parameter validation
- Inconsistent error handling
- Missing module requirements
See QUALITY_REVIEW.md for complete quality analysis.
- Fix all incorrect type casts
- Remove hardcoded sensitive values
- Repair syntax errors and malformed help blocks
- Team: 3 developers working in parallel
- Timeline: Week 1
- Standardize [CmdletBinding()] placement
- Add comprehensive parameter validation
- Improve error handling consistency
- Timeline: Week 2
- Add automated testing
- Documentation review
- Security audit
- Timeline: Week 3
Scripts divided into 3 equal groups for parallel remediation:
Team Member 1: Scripts 1-258
- ai, backup, compute, cost, devops, identity, integration, iot, migration, monitoring (partial)
Team Member 2: Scripts 259-516
- monitoring (remaining), network, security, storage (partial)
Team Member 3: Scripts 517-772
- storage (remaining), utilities
- PowerShell 7.0 or higher
- Azure PowerShell Az module
- AzureAD module (for identity scripts)
- Valid Azure subscription
- Appropriate Azure permissions
# Install required modules
Install-Module -Name Az -Scope CurrentUser
Install-Module -Name AzureAD -Scope CurrentUser
# Verify PowerShell version
$PSVersionTable.PSVersion # Should be 7.0+We welcome contributions! See our quality checklist in QUALITY_REVIEW.md for standards and guidelines.
- ✅ Proper
[CmdletBinding()]attribute - ✅ Complete
param()blocks with validation - ✅ Comprehensive comment-based help
- ✅ Try/catch error handling
- ✅ No hardcoded values
- ✅ Module requirements (#Requires)
- ✅ No syntax errors
- ✅ Proper type usage (no incorrect [string] casts)
├── scripts/ # PowerShell scripts (772 total)
│ ├── ai/ # AI and ML services (1)
│ ├── backup/ # Backup services (1)
│ ├── compute/ # VMs and containers (~105)
│ ├── cost/ # Cost management (~20)
│ ├── devops/ # DevOps tools (~25)
│ ├── identity/ # Azure AD & RBAC (~85)
│ ├── integration/ # Integration services (1)
│ ├── iot/ # IoT Hub (1)
│ ├── migration/ # Migration tools (1)
│ ├── monitoring/ # Monitoring & alerts (~55)
│ ├── network/ # Networking (~125)
│ ├── security/ # Security tools (~45)
│ ├── storage/ # Storage services (~135)
│ └── utilities/ # General utilities (~172)
├── bicep/ # Azure Bicep templates
├── terraform/ # Terraform configurations
├── docs/ # Documentation
├── QUALITY_REVIEW.md # Detailed quality analysis
└── README.md # Project documentation
- 772 PowerShell scripts for Azure management
- Organized by Azure service categories
- CI/CD pipelines with quality checks
- Comprehensive quality review completed
- Team assignments for quality improvement
- ✅ Removed leading numbers from 90 script filenames
- ✅ Created comprehensive quality review document
- ✅ Divided scripts into 3 team assignments
- ✅ Updated README with honest quality status
- ✅ Fixed 4 critical scripts manually
Repository Owner: Wes Ellis
Email: wes@wesellis.com
GitHub: https://github.com/wesellis
Issues: https://github.com/wesellis/Azure-PowerShell-Toolkit/issues
This project is licensed under the MIT License - see the LICENSE file for details.
- Microsoft Azure PowerShell team for the Az module
- PowerShell community for best practices and standards
- Contributors and reviewers
Last Updated: 2025-10-02