SystemChecks¶
A PowerShell module for building comprehensive system checks and health validations. SystemChecks provides a framework for creating, organizing, and executing diagnostic checks across various system components and infrastructure.
Overview¶
SystemChecks is designed to help system administrators, DevOps engineers, and IT professionals build robust validation frameworks for their infrastructure. Whether you're validating server configurations, checking application health, or monitoring system resources, SystemChecks provides the building blocks to create reliable and reusable check definitions.
Features¶
- Modular Design: Build reusable check components that can be combined and extended
- Flexible Framework: Support for various types of system validations
- PowerShell Native: Leverages PowerShell 7.4+ features for modern scripting
- Extensible: Easy to extend with custom check types and validators
- Well-Tested: Comprehensive test coverage using Pester
Requirements¶
- PowerShell: 7.4 or higher
- Operating System: Windows
- Dependencies: Microsoft Error Lookup Tool
Available Functions¶
SystemChecks provides the following functions for building health checks:
- Get-SystemHealth - Orchestrates comprehensive health checks using JSON configuration files
- Test-ProcessHealth - Check if a process is running and responding
- Test-ServiceHealth - Verify the status of Windows services
- Test-FileExists - Check if a file path exists
- Test-ShareExists - Verify if a network share path is accessible
- Test-ScheduledTask - Get the status of scheduled tasks
- Test-URIHealth - Check the health of web endpoints
- Test-TimeSync - Compare time synchronization between systems
- Get-FileCount - Get a count of files in a directory
- Get-Win32Error - Look up detailed Windows error information
Quick Links¶
Project Status¶
This module is currently in early development (v0.0.1). APIs and features are subject to change. Please check the CHANGELOG for the latest updates.
Support¶
License¶
This project is licensed under the terms specified in the LICENSE file.