A comprehensive PowerShell + WPF GUI utility for local PC management and maintenance tasks. Streamline file cleanup, registry tweaks, Windows updates, application installation, network diagnostics, and system optimizationβall through an intuitive interface.
- 42 preset commands organized by category (Info, Network, Hardware, Files, System, Actions)
- Search, select, and execute common administrative commands
- Commands run in-process with
$global:variable persistence - Categories include:
- User Info: Active users, mapped drives, Group Policy
- Network: Traceroute, DNS lookup, IP config, Wi-Fi signal, ARP cache
- Hardware: PnP devices, printers, BIOS, USB devices
- Files: File search, startup items, disk space
- System: Last reboot, OS version, process management
- Actions: Force GP update, software uninstall, network reset, DNS flush
- Scan and clean directories with configurable filters
- Preview files in a grid before deletion
- Recursive search with name pattern matching
- Safe deletion to Recycle Bin by default
- Identifies processes holding locked files
- 18 pre-configured registry optimizations with descriptions
- View current values before applying changes
- Admin privilege detection and warnings
- Tweaks include:
- Privacy: Disable telemetry, location tracking, advertising ID, Cortana
- Performance: Disable Delivery Optimization, Game DVR
- UI: Show file extensions, hidden files, disable taskbar search/widgets
- Network: NCSI active probing, passive poll period
- System: NumLock at logon, fast user switching, default terminal
- Real-time monitoring of serial/COM device connections
- Automatic detection of device connect/disconnect events
- Logs device state changes (PRESENT/ADDED/REMOVED)
- 2-second polling interval via DispatcherTimer
- Run network checks (ipconfig, nslookup, ping, tracert)
- Background job execution for responsive UI
- Real-time output streaming to console
- Save diagnostic results to timestamped log files
- 25+ curated applications ready for installation via WinGet
- Categories: Browsers, Development, Multimedia, Utilities, Games, Communication
- One-click installation with progress feedback
- Popular apps: Chrome, Firefox, VS Code, Python, VLC, Steam, Discord
- Windows Update management and troubleshooting
- Performance plan configuration
- Windows Features enable/disable
- DNS configuration and flushing
- Common system issue resolutions
WinTuner must be run as Administrator for system-wide changes (registry tweaks, Windows updates, etc.).
Open PowerShell or Terminal as Administrator, then run:
irm https://raw.githubusercontent.com/iefken/WinTuner/main/install.ps1 | iexOr download and run manually:
# Clone the repository
git clone https://github.com/iefken/WinTuner.git
cd WinTuner
# Run the application
.\Main.ps1# Install PowerShell core if not already installed
# Ubuntu/Debian:
wget https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update
sudo apt-get install -y powershell
# Run WinTuner (limited functionality on Linux)
pwsh -c "irm https://raw.githubusercontent.com/iefken/WinTuner/main/install.ps1 | iex"Note: Linux support is limitedβWindows-specific features (registry, COM ports, Windows Updates) are unavailable.
- Start menu: Right-click Start β Windows PowerShell (Admin) or Terminal (Admin)
- Search: Press
Windows key, typePowerShellorTerminal, thenCtrl + Shift + Enter
- OS: Windows 10/11 (recommended), Windows 8.1 (limited support)
- PowerShell: 5.1 or later (PowerShell Core 6+ for Linux)
- .NET Framework: 4.5+ (included with Windows)
- Admin Rights: Required for registry tweaks, Windows updates, and system changes
- WinGet: Required for application installation (included in Windows 11, available for Windows 10)
.\Main.ps1The GUI will launch with the following tabs:
- Home - Activity log and general information
- Local PS - PowerShell command REPL with presets
- File Cleanup - Directory scanning and file deletion
- Registry - Registry tweaks and optimizations
- COM Ports - Serial device monitoring
- Diagnostics - Network diagnostic tools
- Applications - WinGet application installation
- System Fixes - Windows update and system repair tools
- Navigate to File Cleanup tab
- Select a directory (e.g.,
C:\Windows\Temp) - Optionally add a name filter
- Click Preview to see files
- Review and click Delete to clean
- Navigate to Registry tab
- Select a tweak from the dropdown
- Review current values
- Edit new values if needed
- Click Apply (admin required for HKLM/HKU)
- Navigate to Applications tab
- Browse or search for applications
- Select desired apps
- Click Install to run WinGet
- Navigate to Diagnostics tab
- Enter target host/IP (optional)
- Select diagnostics to run
- Click Run to execute
- View real-time output in console
- Click Save to export results
Edit ini.json to customize:
{
"ActiveProfile": "Default",
"ConfigFiles": {
"ConfigPath": "./src/gui/form_prefills",
"LogPath": "./logs"
},
"AppVersion": "1.0.0"
}- PowerShell commands:
src/gui/form_prefills/pws_commands.json - Registry tweaks:
src/gui/form_prefills/registry_tweaks.json - Applications:
src/gui/form_prefills/applications.json - Common paths:
src/gui/form_prefills/common_paths.csv
WinTuner/
βββ Main.ps1 # Application entry point
βββ ini.json # Configuration file
βββ src/
β βββ functions/ # Core functionality
β β βββ classes/ # Handler classes
β β βββ gui/ # GUI event handlers
β β βββ startup/ # Bootstrap scripts
β β βββ Config.ps1 # Configuration loader
β β βββ Import-Functions.ps1 # Dynamic function loader
β β βββ File-Functions.ps1 # File operations
β β βββ COM-Functions.ps1 # COM port monitoring
β β βββ DNS-Functions.ps1 # DNS utilities
β β βββ WinGet-Functions.ps1 # App installation
β β βββ WindowsUpdate-Functions.ps1
β β βββ ...
β βββ gui/
β βββ FormUIv3.xaml # WPF form definition
β βββ form_prefills/ # JSON/CSV data files
βββ logs/ # Application logs
βββ CLAUDE.md # Development guidelines
- Add function file to
src/functions/(auto-loaded byImport-Functions.ps1) - Create handler class in
src/functions/classes/if needed - Add GUI controls to
src/gui/FormUIv3.xaml - Wire event handlers in
src/functions/gui/ - Add prefill data to
src/gui/form_prefills/if applicable
Critical: Save all .ps1 files as UTF-8 with BOM. Windows PowerShell 5.1 reads UTF-8 without BOM as Windows-1252, causing parse errors with non-ASCII characters.
Run the dev startup test:
.\src\dev\Test-DevStartup.ps1This validates the full load chain without launching the GUI.
- Initial release
- Local PowerShell REPL with 42 preset commands
- File Cleanup with preview and safe deletion
- Registry Tweaks with 18 optimizations
- COM Port monitoring with real-time detection
- Network Diagnostics with background job execution
- Application Management via WinGet (25+ apps)
- System Fixes and Windows Update management
- WPF GUI with tabbed interface
- Comprehensive logging and error handling
- Cause: File saved as UTF-8 without BOM
- Fix: Re-save the file as UTF-8 with BOM in your editor
- Cause: Not running as Administrator
- Fix: Right-click
Main.ps1β "Run as Administrator"
- Cause: WinGet not installed or outdated
- Fix: Run
winget --upgradeor install from Microsoft Store
- Cause: No serial devices connected or insufficient permissions
- Fix: Connect a COM device and run as Administrator
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Follow the coding conventions in
CLAUDE.md - Test with
Test-DevStartup.ps1 - Submit a pull request
This project is licensed under the MIT License.
Inspired by ChrisTitusTech/winutil - a comprehensive Windows utility tool.