Windows Patching Helper is a desktop Windows Forms application designed to automate and streamline the deployment of updates (.msu files) across multiple servers simultaneously.
This project was born out of a need to optimize daily administrative tasks. Manually logging into every server, copying files, and triggering updates was time-consuming and error-prone. This tool allows for managing the entire process from a single dashboard, significantly reducing the time required for "Patch Tuesday" maintenance windows.
- Active Directory Integration: Automatic retrieval of computer lists from the domain.
- Health Check: Rapid verification of key parameters for multiple machines simultaneously:
- π Uptime and Timezone.
- πΎ Free space on the system drive (C:).
- π₯οΈ Operating System version.
- π List of recently installed updates (Hotfixes).
- Mass File Transfer: Parallel transfer of
.msufiles to local server drives (C$\Temp). - Remote Installation: Utilization of Windows Task Scheduler and PowerShell to execute silent installations on remote machines.
- Status Monitoring: Live monitoring to determine if an installation is in progress (
wusa.exeprocess) or if a reboot is pending (Windows Registry analysis). - Cleanup: Remote deletion of installation files after the process is complete.
- Quick RDP: Automatic login to selected servers (credential injection) for manual intervention.
- Safe Reboot / Security Compliance: * The tool includes a remote reboot procedure with a triple-confirmation safety mechanism to prevent accidental shutdowns.
- Note: Direct remote reboot features are implemented via code but can be toggled off (Feature Flag) to comply with strict internal security policies, prioritizing RDP access instead.
The project was built using C# (.NET) and Windows Forms. It leverages advanced system mechanisms:
- WMI (Windows Management Instrumentation): Querying remote machine status (Disk, OS, Processes).
- System.DirectoryServices: Communication with Active Directory.
- Task Scheduler API: Executing PowerShell scripts on remote machines with
NT AUTHORITY\SYSTEMprivileges. - Multithreading (Async/Await): Ensuring the UI remains responsive while processing operations on hundreds of servers.
Building this tool allowed me to deepen my knowledge in:
- IT Process Automation: Converting repetitive manual tasks into "one-click" solutions.
- Windows Server Administration: Understanding the mechanics of Windows Updates, the Registry, and remote services.
- Error Handling in Distributed Systems: Managing edge cases such as offline servers or permission restrictions.
Project Status: Completed / Production Version 1.2