Skip to content

A secure PowerShell script management platform built on Azure Functions. InvokeHub allows you to centrally store, manage, and execute PowerShell scripts from anywhere with built-in authentication, rate limiting, and cross-platform support.

License

Notifications You must be signed in to change notification settings

bdrogja/InvokeHub

Repository files navigation

🚀 InvokeHub - Enterprise PowerShell Script Management Platform

Azure Functions v4 .NET 6 PowerShell License: MIT PRs Welcome

A secure, cloud-based PowerShell script repository with an interactive cross-platform client. Store, organize, and execute your PowerShell scripts from anywhere with enterprise-grade security.

✨ Key Features

  • 📁 Hierarchical Script Organization - Organize scripts in nested folders
  • 🔒 Enterprise Security - Path validation, script scanning, rate limiting
  • 🌐 Cross-Platform Client - Works on Windows, macOS, and Linux
  • One-Line Usage - irm https://your-api/loader | iex
  • 🔍 Advanced Search - Find scripts quickly with metadata support

🚀 Quick Start

For Users

# Start InvokeHub with one command
irm https://your-invokehub.azurewebsites.net/api/loader | iex

# Or with API key
irm "https://your-invokehub.azurewebsites.net/api/loader?key=YOUR-KEY" | iex

For Developers

# Clone and setup
git clone https://github.com/yourusername/invokehub.git
cd invokehub
./scripts/setup-dev.ps1

# Start locally
func start

# Test
irm http://localhost:7071/api/loader | iex

Azure Deployment

Use the deployment script:

./scripts/deploy.ps1 -ResourceGroup "rg-invokehub" -Location "westeurope"

📖 Documentation

Document Description
Getting Started Start using InvokeHub in 5 minutes
Development Guide Setup development and deploy to Azure
API Reference Complete API documentation
PowerShell Client Client usage and customization
Security Security features and best practices
Configuration Configuration options
Troubleshooting Common issues and solutions

🏗️ Architecture

graph LR
    A[PowerShell Client] -->|HTTPS| B[Azure Functions API]
    B --> C[Azure Blob Storage]
    B --> D[Authentication Service]
    B --> E[Security Layer]
Loading

View detailed architecture →

🔧 Configuration

Variable Description Default
AzureWebJobsStorage Storage connection string Required
API_KEY API key for authentication Required*
API_PASSWORD Alternative password auth Required*
BlobContainerName Script container name powershell-scripts

*One authentication method required. Full configuration guide →

🤝 Contributing

We love contributions! Please see our Contributing Guide for details.

# Quick contribution workflow
git checkout -b feature/amazing-feature
# Make changes
git commit -m "Add amazing feature"
git push origin feature/amazing-feature
# Open PR

📊 Project Status

  • ✅ Core functionality complete
  • ✅ Production ready
  • 🚧 Multi Download / Multi Execution

🙏 Support

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


Made with ❤️ by Boris Drogja

⭐ Star me on GitHub!

About

A secure PowerShell script management platform built on Azure Functions. InvokeHub allows you to centrally store, manage, and execute PowerShell scripts from anywhere with built-in authentication, rate limiting, and cross-platform support.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published