This project is a refactored version of a PowerShell-based password expiration notification system for Active Directory.
The repository contains a mix of original scripts and third-party scripts. My work focuses specifically on improving the password expiry notification process by introducing configuration-driven design and enhancing maintainability.
- Updated
PasswordExpiry.ps1to remove hardcoded values - Improved structure and readability
- Integrated external configuration support
- Introduced a centralized configuration file
- Organized into:
- Variables
- Settings
- Email templates
Configurable elements include:
- SMTP settings
- Email sender details
- Password policy requirements
- Notification timing
- Testing mode
- Replaced plain-text emails with structured HTML templates
- Improved formatting and user readability
- Enabled easy customization without modifying script logic
- Added a configurable testing mode to safely validate behavior
- Prevents unintended notifications during development
- Separated configuration from script logic
- Reduced need for direct code changes across environments
This repository also contains additional PowerShell scripts that were not created by me.
- These scripts are included as part of the broader project environment
- They were not modified or authored as part of this refactor effort
- My work is limited to the password expiry notification components