A comprehensive PowerShell script collection for monitoring and maintaining family PCs using Action1 RMM. Features intelligent notifications, advanced system maintenance, and security monitoring.
- Real-time system performance tracking
- Disk space monitoring with smart thresholds
- Memory usage analysis
- Critical service status monitoring
- Windows Update tracking
- Multi-channel notifications (Email & Windows Toast)
- Notification batching to prevent alert fatigue
- Intelligent deduplication
- Severity-based filtering
- Notification history tracking
- Customizable alert thresholds
- Automated disk cleanup
- System file integrity checks
- Windows Update cache management
- Temporary file cleanup
- Disk health monitoring
- Windows Defender status monitoring
- Firewall configuration checks
- Unauthorized user detection
- Suspicious network connection monitoring
- Security event log analysis
- System integrity verification
- Windows 10 or later
- PowerShell 5.1 or later
- Action1 RMM agent installed
- Administrative privileges
- .NET Framework 4.7.2 or later
- Clone the repository:
git clone https://github.com/Nigel1992/action1-monitoring-suite.git- Configure notification settings:
# Edit Action1Scripts/Notification-Module.ps1
$EmailConfig = @{
SMTPServer = "your.smtp.server"
From = "your@email.com"
To = "alerts@yourdomain.com"
}- Deploy to Action1:
- Log into Action1 dashboard
- Navigate to "Policies & Scripts"
- Import the scripts
- Configure schedules
Comprehensive system maintenance script with smart notifications:
- Disk cleanup and optimization
- System file verification
- Performance monitoring
- Health checks
Advanced security monitoring:
- Real-time threat detection
- Configuration compliance
- Network security monitoring
- User activity tracking
Software update management:
- Windows Update status
- Common software version tracking
- Update requirement analysis
- Compatibility checking
Intelligent notification system:
- Multi-channel delivery
- Smart batching
- Deduplication
- History tracking
- Threshold management
Initialize-NotificationSystem `
-EmailUsername "your@email.com" `
-EmailPassword "your-app-password" `
-ToEmail "alerts@domain.com" `
-UseEmail $true `
-UseWindowsNotification $true `
-AlertLevel "Warning" `
-BatchNotifications $true `
-BatchWindow 300$NotificationConfig = @{
DiskSpaceWarning = 20 # Percentage
DiskSpaceCritical = 10
MemoryWarning = 80
MemoryCritical = 90
BatchWindow = 300 # Seconds
RepeatDelay = 3600 # Seconds
}All scripts create detailed logs in:
C:\ProgramData\Action1\Logs\
Log files include:
- maintenance_YYYY-MM-DD.log
- security_YYYY-MM-DD.log
- updates_YYYY-MM-DD.log
- notification_history.json
| Script | Frequency | Time |
|---|---|---|
| System-Maintenance.ps1 | Weekly | Off-hours |
| Security-Check.ps1 | Daily | Every 12h |
| Software-Update-Check.ps1 | Daily | Morning |
- Check log files in C:\ProgramData\Action1\Logs\
- Verify PowerShell execution policy
- Ensure administrative privileges
- Check Action1 agent status
- Verify network connectivity
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Nigel Hagen
- GitHub: @Nigel1992
- Created: March 7, 2025
- Action1 RMM team for their excellent platform
- PowerShell community for inspiration and support
- All contributors and users of this suite
For issues and questions:
- Check the Issues page
- Review Action1 documentation
- Contact Action1 support
- Create a new issue