Overview • Features • Tech Stack • Setup • Demo • Screenshots • Enhancements • Developer
Built for IT admins and MSPs to automate system diagnostics and deliver proactive maintenance reports.
System Health Monitor is a professional PowerShell-based automation toolkit that performs deep system diagnostics and generates clean HTML reports — perfect for IT Support, MSPs, and DevOps professionals.
It automatically collects and analyzes:
- CPU utilization
- Memory usage
- Disk space and SMART health
- Windows Update status
- System uptime
- Critical event logs
Reports are saved locally and can be securely sent via email — transforming traditional manual checks into automated insights.
✅ Parallel health checks for multiple endpoints (local & remote via WinRM)
✅ Interactive Windows GUI built with .NET Forms
✅ Dual HTML report generation — Technical (admins) + User-friendly (summary)
✅ Automated SMTP email delivery with attachment logs
✅ Timestamped logging and archiving for every run
✅ Portable .exe packaging for quick use without scripts
| Layer | Technology |
|---|---|
| Scripting & Automation | PowerShell 5+ |
| Interface | Windows Forms (.NET) |
| Reporting | HTML / CSS |
| Communication | SMTP (Email Delivery) |
| Logging | File-based (timestamped runs) |
| Packaging | PS2EXE for portable deployment |
git clone https://github.com/MoustafaObari/SystemHealthMonitor.git
cd SystemHealthMonitor
📩 Click to expand email configuration
Edit the config.json file with your SMTP credentials:
{
"smtpServer": "smtp.gmail.com",
"smtpPort": 587,
"smtpUser": "[email protected]",
"smtpPass": "yourpassword",
"from": "[email protected]"
}
💡 Tip: For Gmail users, enable “App Passwords” for secure SMTP access.
List endpoints to monitor in computers.txt:
localhost
Server01
Workstation05
Via PowerShell:
.\Start-HealthMonitorGUI.ps1
Or run the packaged EXE:
SystemHealthMonitor.exe
📺 Watch a quick walkthrough:
🎬 System Health Monitor Demo
(or open System Health Demo.mp4 inside this repository)
| Folder Structure | GUI Launcher | Email Prompt |
|---|---|---|
![]() |
![]() |
![]() |
| Running Check | Logs Folder | User-Friendly Report |
|---|---|---|
![]() |
![]() |
![]() |
| Technical Report (Detailed View) | Generated HTML Reports Summary |
|---|---|
![]() |
![]() |
| # | Screenshot | Description |
|---|---|---|
| 1 | Folder structure | Complete project structure with assets |
| 2 | GUI window | Main interface to select and monitor systems |
| 3 | Email dialog | Prompt for recipient & SMTP email configuration |
| 4 | Script execution | PowerShell console running background jobs |
| 5 | Logs folder | Output folder with timestamped reports |
| 6 | Technical report | Full metric view for IT administrators |
| 7 | User-friendly report | Simplified dashboard for end users |
| 8 | Email summary | Confirmation showing generated reports |
- 📈 Add CPU and memory trend graphs in HTML reports
- 🔍 Integrate WMI queries for real-time hardware metrics
- 💬 Add Microsoft Teams & Slack webhook notifications
- ⏰ Enable Windows Task Scheduler for recurring automated scans
- ☁️ Add Azure Blob Storage integration for report backups
Moustafa Obari
IT Support Specialist • PowerShell Automation • M365/Entra/Intune
📍 Toronto, Canada 🇨🇦
🔗 GitHub | LinkedIn
📧 [email protected]
© 2025 Moustafa Obari — crafted with 💙 PowerShell, Markdown, and strong coffee.







