Chris Titus Tech's Windows Utility - Install Programs, Tweaks, Fixes, and Updates
Go to file
Chris Titus 4a7c8a35bf
Sacrifice to the AV Gods test 24-03-28 branch (#1766)
* Remove the Non-existing 'WPFMiscTweaksPower' found in the 'preset.json' File (#1763)

* Compile Winutil

* Update of Test-WinUtilPackageManager and Install-WinUtilWinget (#1757)

* Updated Install-WinUtilWinget and Test-WinUtilPackageManager

- Updated Test-WinUtilPackageManager to better handle the -Winget param and return a more verbose status.
- Moved many of the "is installed"/"is not installed" outputs to the Test-WinUtilPackageManager function.
- Changed Install-WinUtilWinget to use the GitHub install method as the primary method, and on error use the Chocolatey install method.
- Updated various functions to use the Test-WinUtilPackageManager function.

* Update Install-WinUtilWinget.ps1

- Changed handling of Test-WinUtilPackageManager in Install-WinUtilWinget, to prevent Test-WinUtilPackageManager from printing out to terminal twice.

* Compile Winutil

* Update Paint.NET Winget name. (#1758)

Paint.NET's winget package name changed.

* Compile Winutil

* Fixed Programms names and urls and github actions (#1759)

* Compile Winutil

* trying to fix github actions

* Update applications.json

* Compile Winutil

* updated winget package PaintDotNet

* Compile Winutil

* Update functions.Tests.ps1

* fixing typos in unittesting

* fixed the issue that made pester not to work

* Compile Winutil

* found a bug and fixed it

* Compile Winutil

---------

Co-authored-by: YusufKhalifadev <YusufKhalifadev@users.noreply.github.com>

* Detect free space of installation drive and compare it with the ISO size and delete temporary MicroWin files from previous runs (#1761)

* Detect free space of installation drive

Compare the size of the ISO file with the free space of the installation drive (or the drive containing the User files) and, if the free size is below a certain threshold, the script will throw either a warning or an error

* Delete temporary files from previous runs

* Add Simple Feature to keep the Service Startup upon Applying Service Tweaks, but not when Undoing it (#1760)

Added a new parameter that gives freedom of control on whether to disable this feature or not, and of course the simple feature in question.

The way it works is by Getting the service using its name, and see if the Startup Value of this service is equal to the default type that Windows comes with it, if not (The User has changed it in the past), then WinUtil won't change it by default (The KeepServiceStartup is true by default), this is a more desirable behaviour when compared to how it previously worked.

These changes were tested by the Author of this commit, Please read the commit patches for exact details on the changes.

* Compile Winutil

* Sacrifice to the AV Gods

Remove Self Elevation and Disable UAC

---------

Co-authored-by: Mr.k <mineshtine28546271@gmail.com>
Co-authored-by: ChrisTitusTech <ChrisTitusTech@users.noreply.github.com>
Co-authored-by: Rux <jonathan.e.rux@ruxunderscore.com>
Co-authored-by: YusufKhalifadev <yusufkhalifadev@gmail.com>
Co-authored-by: YusufKhalifadev <YusufKhalifadev@users.noreply.github.com>
Co-authored-by: CodingWonders <101426328+CodingWonders@users.noreply.github.com>
2024-03-30 11:46:29 -05:00
.github Sacrifice to the AV Gods test 24-03-28 branch (#1766) 2024-03-30 11:46:29 -05:00
config Sacrifice to the AV Gods test 24-03-28 branch (#1766) 2024-03-30 11:46:29 -05:00
functions Sacrifice to the AV Gods test 24-03-28 branch (#1766) 2024-03-30 11:46:29 -05:00
lint 2023 09 23 test (#1117) 2023-10-19 17:12:55 -05:00
logs Test 2024 01 03 (#1384) 2024-01-12 00:34:41 -06:00
pester Sacrifice to the AV Gods test 24-03-28 branch (#1766) 2024-03-30 11:46:29 -05:00
releases oscdimg upload 2023-12-19 14:20:21 -06:00
scripts Sacrifice to the AV Gods test 24-03-28 branch (#1766) 2024-03-30 11:46:29 -05:00
wiki Test 2024 01 15 (#1456) 2024-01-25 14:44:51 -06:00
xaml Sacrifice to the AV Gods test 24-03-28 branch (#1766) 2024-03-30 11:46:29 -05:00
.gitattributes Test 2024 01 03 (#1384) 2024-01-12 00:34:41 -06:00
.gitignore Update .gitignore 2024-03-28 16:45:50 -07:00
Compile.ps1 compile refactor 2024-03-21 16:58:40 -07:00
edgeremoval.bat 2023 09 23 test (#1117) 2023-10-19 17:12:55 -05:00
edgeremoval.ps1 2023 09 23 test (#1117) 2023-10-19 17:12:55 -05:00
gpedit-home.ps1 Test 2023 10 24 (#1176) 2023-11-14 15:45:48 -06:00
KnownIssues.md Test Merge - Multiple Fixes (#317) 2022-10-23 00:12:07 -05:00
LICENSE Initial commit 2022-04-27 21:25:19 -05:00
ooshutup10_winutil_settings.cfg 2023 09 23 test (#1117) 2023-10-19 17:12:55 -05:00
README.md Test 2024 03 21 (#1748) 2024-03-28 12:39:23 -07:00
screen-install.png Test 2024 01 25 (#1505) 2024-01-30 12:36:38 -06:00
winget.ps1 2023 09 23 test (#1117) 2023-10-19 17:12:55 -05:00
winutil.ps1 Sacrifice to the AV Gods test 24-03-28 branch (#1766) 2024-03-30 11:46:29 -05:00

Chris Titus Tech's Windows Utility

This utility is a compilation of Windows tasks I perform on each Windows system I use. It is meant to streamline installs, debloat with tweaks, troubleshoot with config, and fix Windows updates. I am extremely picky about any contributions to keep this project clean and efficient.

screen-install

Usage

Winutil must be run in Admin mode because it performs system-wide tweaks. To achieve this, open PowerShell or Windows Terminal as an administrator. Here are a few ways to do it:

  1. Right-Click Method:

    • Right-click on the start menu.
    • Choose "PowerShell As Admin" (for Windows 10) or "Windows Terminal As Admin" (for Windows 11).
  2. Search and Launch Method:

    • Press the Windows key.
    • Type "PowerShell" or "Terminal" (for Windows 11).
    • Press Ctrl + Shift + Enter to launch it with administrator privileges.

Launch Command

Simple way

irm https://christitus.com/win | iex

Courtesy of the issue raised at: #144

or by executing:

iwr -useb https://christitus.com/win | iex

if for some reason this site is not reachable from your country please try running it directly from github

irm https://raw.githubusercontent.com/ChrisTitusTech/winutil/main/winutil.ps1 | iex

Automation

Some features are avaliable through automation. This allows you to save your config file pass it to Winutil walk away and come back to a finished system. Here is how you can set it up currently with Winutil >24.01.15

  1. On the Install Tab, click "Get Installed", this will get all installed apps supported by Winutil on the system GetInstalled
  2. Click on the Settings cog in the upper right corner and chose Export, chose file file and location, this will export the setting file. SettingsExport
  3. Copy this file to a USB or somewhere you can use after Windows installation.
  4. Use Microwin tab to create a custom Windows image.
  5. Install the Windows image.
  6. In the new Windows, Open PowerShell in the admin mode and run command to automatically apply tweaks and install apps from the config file.
irm https://christitus.com/win -Config [path-to-your-config] -Run | iex
  1. Have a cup of coffee! Come back when it's done.

Issues:

  • If you are unable to resolve christitus.com/win and are getting errors launching the tool, it might be due to India blocking GitHub's content domain and preventing downloads. You may use a VPN or change your DNS provider to Google/Cloudflare/etc.

Source: https://timesofindia.indiatimes.com/gadgets-news/github-content-domain-blocked-for-these-indian-users-reports/articleshow/96687992.cms

  • Windows Security (formerly Defender) and other anti-virus software are known to block the script. The script gets flagged due to the fact that it requires administrator privileges & makes drastic system changes.

  • If you are having TLS 1.2 issues, or are having trouble resolving christitus.com/win then run with the following command:

[Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12;iex(New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/ChrisTitusTech/winutil/main/winutil.ps1')

If you are still having issues try changing your DNS provider to 1.1.1.1 || 1.0.0.1 or 8.8.8.8 || 8.8.4.4

Support

Tutorial

Watch the video

Overview

  • Install

    • Install Selection: Organize programs by category and facilitate installation by enabling users to select programs and initiate the installation process with a single click.

    • Upgrade All: Upgrade all existing programs to their latest versions, ensuring users have the most up-to-date and feature-rich software.

    • Uninstall Selection: Effortlessly uninstall selected programs, providing users with a streamlined way to remove unwanted software from their system.

    • Get Installed: Retrieve a comprehensive list of installed programs on the system, offering users visibility into the software currently installed on their computer.

    • Import / Export: Enable users to import or export the selection list of programs, allowing them to save their preferred program configurations or share them with others. This feature promotes convenience and flexibility in managing program selections across different systems.

  • Tweaks

    • Recommended Selection: Provides pre-defined templates tailored for desktop, laptop, and minimal configurations, allowing users to select recommended settings and optimizations specific to their system type.

    • Essential Tweaks: Offers a collection of essential tweaks aimed at improving system performance, privacy, and resource utilization. These tweaks include creating a system restore point, disabling telemetry, Wi-Fi Sense, setting services to manual, disabling location tracking, and HomeGroup, among others.

    • Advanced Tweaks: Encompasses a range of various advanced power user tweaks to further optimize the system. These tweaks include removing OneDrive and Edge, disabling User Account Control (UAC), notification panel, among others.

    • Toggles: Adds easy to use, one click shortcuts for toggling dark mode, NumLock on startup, file extensions, sticky keys, among others.

    • Additional Tweaks: Introduces various other tweaks such as enabling dark mode, changing DNS settings, adding an Ultimate Performance mode, and creating shortcuts for WinUtil tools. These tweaks provide users with additional customization options to tailor their system to their preferences.

  • Config

    • Features: Allows users to easily install various essential components and features to enhance their Windows experience. These features include installing .NET Frameworks, enabling Hyper-V virtualization, enabling legacy media support for Windows Media Player and DirectPlay, enabling NFS (Network File System) for network file sharing, and enabling Windows Subsystem for Linux (WSL) for running Linux applications on Windows.

    • Fixes: Provides a range of helpful fixes to address common issues and improve system stability. This includes setting up autologon for seamless login experiences, resetting Windows updates to resolve update-related problems, performing a system corruption scan to detect and repair corrupted files, and resetting network settings to troubleshoot network connectivity issues.

    • Legacy Windows Panels: Includes access to legacy Windows panels from Windows 7, allowing users to access familiar and powerful tools. These panels include Control Panel for managing system settings, Network Connections for configuring network adapters and connections, Power Panel for adjusting power and sleep settings, Sound Settings for managing audio devices and settings, System Properties for viewing and modifying system information, and User Accounts for managing user profiles and account settings.

  • Updates:

    • Default (Out of Box) Settings: Provides the default settings that come with Windows for updates.

    • Security (Recommended) Settings: Offers recommended settings, including a slight delay of feature updates by 2 years and installation of security updates 4 days after release.

    • Disable All Updates (Not Recommended!): Allows users to disable all Windows updates, but it's not recommended due to potential security risks.

Video and Written Article walkthrough @ https://christitus.com/windows-tool/

Issues

If you encounter any challenges or problems with the script, I kindly request that you submit them via the "Issues" tab on the GitHub repository. By filling out the provided template, you can provide specific details about the issue, allowing me to promptly address any bugs or consider feature requests.

Contribute Code

To contribute new code, please ensure that it is submitted to the TEST BRANCH. Please note that merges will not be performed directly on the MAIN branch.

When creating pull requests, it is essential to thoroughly document all changes made. This includes documenting any additions made to the tweaks section and ensuring that corresponding undo measures are in place to remove the newly added tweaks if necessary. Failure to adhere to this format may result in denial of the pull request. Additionally, comprehensive documentation is required for all code changes. Any code lacking sufficient documentation may also be denied.

By following these guidelines, we can maintain a high standard of quality and ensure that the codebase remains organized and well-documented.

NOTE: When creating a function please include "WPF" or "WinUtil" in the name so that it can be loaded into the runspace.

Thanks to all Contributors

Thanks a lot for spending your time helping Winutil grow. Thanks a lot! Keep rocking 🍻.

Contributors

GitHub Stats

Alt