Skip to content

MoustafaObari/SystemHealthMonitor

Repository files navigation

System Health Monitor Banner

View on GitHub

Turning IT health checks into proactive automation — with PowerShell precision 🧩

OverviewFeaturesTech StackSetupDemoScreenshotsEnhancementsDeveloper


Version Issues


🧠 Overview

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.


✨ Features

✅ 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


💻 Tech Stack

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

⚙️ Getting Started

🟦 1️⃣ Clone the Repository

git clone https://github.com/MoustafaObari/SystemHealthMonitor.git
cd SystemHealthMonitor


🟦 2️⃣ Configure Email Settings

📩 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.


🟦 3️⃣ Add Target Computers

List endpoints to monitor in computers.txt:

localhost
Server01
Workstation05


🟦 4️⃣ Run the Application

Via PowerShell:
.\Start-HealthMonitorGUI.ps1

Or run the packaged EXE:
SystemHealthMonitor.exe


🎥 Demo Video

📺 Watch a quick walkthrough:
🎬 System Health Monitor Demo

(or open System Health Demo.mp4 inside this repository)


🖼️ Screenshots

Folder Structure GUI Launcher Email Prompt
Screenshot1 Screenshot2 Screenshot3
Running Check Logs Folder User-Friendly Report
Screenshot4 Screenshot5 Screenshot7
Technical Report (Detailed View) Generated HTML Reports Summary
Screenshot6 Screenshot8

📘 Screenshot Descriptions

# 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

🧩 Planned Enhancements

  • 📈 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

👨‍💻 Developer

Moustafa Obari
IT Support Specialist • PowerShell Automation • M365/Entra/Intune
📍 Toronto, Canada 🇨🇦

🔗 GitHub | LinkedIn
📧 [email protected]


Profile Views Counter

footer banner

© 2025 Moustafa Obari — crafted with 💙 PowerShell, Markdown, and strong coffee.

⬆ Back to Top

About

PowerShell-based System Health Monitor with GUI and HTML email reports

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published