Compare commits

..
1 Commits
Author SHA1 Message Date
ChrisTitusTechandgithub-actions[bot] 6998d00407 Update sponsors in README 2026-06-04 16:30:05 +00:00
73 changed files with 215 additions and 178 deletions
-1
View File
@@ -5,7 +5,6 @@
- [ ] New feature - [ ] New feature
- [ ] Bug fix - [ ] Bug fix
- [ ] Documentation update - [ ] Documentation update
- [ ] Refactor
- [ ] UI/UX improvement - [ ] UI/UX improvement
<!-- This automatically adds labels to your PR based on the selections above. --> <!-- This automatically adds labels to your PR based on the selections above. -->
+1 -1
View File
@@ -77,7 +77,7 @@ See https://github.com/ChrisTitusTech/winutil/blob/main/.github/CONTRIBUTING.md
These are the sponsors that help keep this project alive with monthly contributions. These are the sponsors that help keep this project alive with monthly contributions.
<!-- sponsors --><a href="https://github.com/dwelfusius"><img src="https:&#x2F;&#x2F;github.com&#x2F;dwelfusius.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/mews-se"><img src="https:&#x2F;&#x2F;github.com&#x2F;mews-se.png" width="60px" alt="User avatar: Martin Stockzell" /></a><a href="https://github.com/jdiegmueller"><img src="https:&#x2F;&#x2F;github.com&#x2F;jdiegmueller.png" width="60px" alt="User avatar: Jason A. Diegmueller" /></a><a href="https://github.com/robertsandrock"><img src="https:&#x2F;&#x2F;github.com&#x2F;robertsandrock.png" width="60px" alt="User avatar: RMS" /></a><a href="https://github.com/paulsheets"><img src="https:&#x2F;&#x2F;github.com&#x2F;paulsheets.png" width="60px" alt="User avatar: Paul" /></a><a href="https://github.com/djones369"><img src="https:&#x2F;&#x2F;github.com&#x2F;djones369.png" width="60px" alt="User avatar: Dave J (WhamGeek)" /></a><a href="https://github.com/anthonymendez"><img src="https:&#x2F;&#x2F;github.com&#x2F;anthonymendez.png" width="60px" alt="User avatar: Anthony Mendez" /></a><a href="https://github.com/FatBastard0"><img src="https:&#x2F;&#x2F;github.com&#x2F;FatBastard0.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/DursleyGuy"><img src="https:&#x2F;&#x2F;github.com&#x2F;DursleyGuy.png" width="60px" alt="User avatar: DursleyGuy" /></a><a href="https://github.com/DwayneTheRockLobster1"><img src="https:&#x2F;&#x2F;github.com&#x2F;DwayneTheRockLobster1.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/KieraKujisawa"><img src="https:&#x2F;&#x2F;github.com&#x2F;KieraKujisawa.png" width="60px" alt="User avatar: Kiera Meredith" /></a><a href="https://github.com/andrewpayne68"><img src="https:&#x2F;&#x2F;github.com&#x2F;andrewpayne68.png" width="60px" alt="User avatar: Andrew P" /></a><!-- sponsors --> <!-- sponsors --><a href="https://github.com/dwelfusius"><img src="https:&#x2F;&#x2F;github.com&#x2F;dwelfusius.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/mews-se"><img src="https:&#x2F;&#x2F;github.com&#x2F;mews-se.png" width="60px" alt="User avatar: Martin Stockzell" /></a><a href="https://github.com/jdiegmueller"><img src="https:&#x2F;&#x2F;github.com&#x2F;jdiegmueller.png" width="60px" alt="User avatar: Jason A. Diegmueller" /></a><a href="https://github.com/robertsandrock"><img src="https:&#x2F;&#x2F;github.com&#x2F;robertsandrock.png" width="60px" alt="User avatar: RMS" /></a><a href="https://github.com/paulsheets"><img src="https:&#x2F;&#x2F;github.com&#x2F;paulsheets.png" width="60px" alt="User avatar: Paul" /></a><a href="https://github.com/djones369"><img src="https:&#x2F;&#x2F;github.com&#x2F;djones369.png" width="60px" alt="User avatar: Dave J (WhamGeek)" /></a><a href="https://github.com/anthonymendez"><img src="https:&#x2F;&#x2F;github.com&#x2F;anthonymendez.png" width="60px" alt="User avatar: Anthony Mendez" /></a><a href="https://github.com/FatBastard0"><img src="https:&#x2F;&#x2F;github.com&#x2F;FatBastard0.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/DursleyGuy"><img src="https:&#x2F;&#x2F;github.com&#x2F;DursleyGuy.png" width="60px" alt="User avatar: DursleyGuy" /></a><a href="https://github.com/DwayneTheRockLobster1"><img src="https:&#x2F;&#x2F;github.com&#x2F;DwayneTheRockLobster1.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/KieraKujisawa"><img src="https:&#x2F;&#x2F;github.com&#x2F;KieraKujisawa.png" width="60px" alt="User avatar: Kiera Meredith" /></a><a href="https://github.com/andrewpayne68"><img src="https:&#x2F;&#x2F;github.com&#x2F;andrewpayne68.png" width="60px" alt="User avatar: Andrew P" /></a><a href="https://github.com/ameaninglessname"><img src="https:&#x2F;&#x2F;github.com&#x2F;ameaninglessname.png" width="60px" alt="User avatar: CodingBot" /></a><!-- sponsors -->
--- ---
+3 -4
View File
@@ -545,8 +545,7 @@
"content": "IrfanView", "content": "IrfanView",
"description": "IrfanView is a lightweight, fast, and free image viewer and editor. Supports multiple formats, batch processing, and powerful plugins.", "description": "IrfanView is a lightweight, fast, and free image viewer and editor. Supports multiple formats, batch processing, and powerful plugins.",
"link": "https://irfanview.com/", "link": "https://irfanview.com/",
"winget": "IrfanSkiljan.IrfanView", "winget": "IrfanSkiljan.IrfanView"
"foss": false
}, },
"itch": { "itch": {
"category": "Games", "category": "Games",
@@ -930,10 +929,10 @@
"category": "Pro Tools", "category": "Pro Tools",
"choco": "openvpn-connect", "choco": "openvpn-connect",
"content": "OpenVPN Connect", "content": "OpenVPN Connect",
"description": "OpenVPN Connect is an VPN client that allows you to connect securely to a VPN server. It provides a secure and encrypted connection for protecting your online privacy.", "description": "OpenVPN Connect is an open-source VPN client that allows you to connect securely to a VPN server. It provides a secure and encrypted connection for protecting your online privacy.",
"link": "https://openvpn.net/", "link": "https://openvpn.net/",
"winget": "OpenVPNTechnologies.OpenVPNConnect", "winget": "OpenVPNTechnologies.OpenVPNConnect",
"foss": false "foss": true
}, },
"OVirtualBox": { "OVirtualBox": {
"category": "Utilities", "category": "Utilities",
+9 -27
View File
@@ -77,9 +77,9 @@
], ],
"link": "https://winutil.christitus.com/dev/tweaks/essential-tweaks/widget" "link": "https://winutil.christitus.com/dev/tweaks/essential-tweaks/widget"
}, },
"WPFTweaksRevertStartMenu": { "WPFTweaksRevertStartMenu": {
"Content": "Start Menu Previous Layout - Enable", "Content": "Start Menu Previous Layout - Enable",
"Description": "Bring back the old Start Menu layout from before the gradual rollout of the new one in 25H2. On newer versions of windows !!THIS TWEAK WILL NOT WORK!!", "Description": "Bring back the old Start Menu layout from before the gradual rollout of the new one in 25H2.",
"category": "Essential Tweaks", "category": "Essential Tweaks",
"panel": "1", "panel": "1",
"InvokeScript": [ "InvokeScript": [
@@ -94,7 +94,6 @@
Remove-Item ViVeTool -Recurse Remove-Item ViVeTool -Recurse
Write-Host 'Old start menu reverted. Please restart your computer to take effect.' Write-Host 'Old start menu reverted. Please restart your computer to take effect.'
Write-Host 'On newer versions of windows !!THIS TWEAK WILL NOT WORK!!.'
" "
], ],
"UndoScript": [ "UndoScript": [
@@ -111,8 +110,7 @@
Write-Host 'New start menu reverted. Please restart your computer to take effect.' Write-Host 'New start menu reverted. Please restart your computer to take effect.'
" "
], ],
"link": "https://winutil.christitus.com/dev/tweaks/essential-tweaks/revertstartmenu", "link": "https://winutil.christitus.com/dev/tweaks/essential-tweaks/revertstartmenu"
"link": "https://winutil.christitus.com/dev/tweaks/essential-tweaks/revertstartmenu"
}, },
"WPFTweaksDisableStoreSearch": { "WPFTweaksDisableStoreSearch": {
"Content": "Microsoft Store Recommended Search Results - Disable", "Content": "Microsoft Store Recommended Search Results - Disable",
@@ -675,7 +673,7 @@
icacls $Env:OneDrive /grant \"Administrators:(D,DC)\" icacls $Env:OneDrive /grant \"Administrators:(D,DC)\"
if (-not (Get-ChildItem -Path $Env:OneDrive)) { if (-not (Get-ChildItem -Path $Env:OneDrive)) {
Remove-Item -Path $Env:OneDrive -Recurse Remove-Item -Path $Env:OneDrive
[Environment]::SetEnvironmentVariable('OneDrive', $null, 'User') [Environment]::SetEnvironmentVariable('OneDrive', $null, 'User')
} }
@@ -694,7 +692,7 @@
], ],
"link": "https://winutil.christitus.com/dev/tweaks/z--advanced-tweaks---caution/removeonedrive" "link": "https://winutil.christitus.com/dev/tweaks/z--advanced-tweaks---caution/removeonedrive"
}, },
"WPFTweaksRemoveHomeAndGallery": { "WPFTweaksRemoveHome": {
"Content": "File Explorer Home and Gallery - Disable", "Content": "File Explorer Home and Gallery - Disable",
"Description": "Removes the Home and Gallery from Explorer and sets This PC as default.", "Description": "Removes the Home and Gallery from Explorer and sets This PC as default.",
"category": "z__Advanced Tweaks - CAUTION", "category": "z__Advanced Tweaks - CAUTION",
@@ -707,13 +705,6 @@
"Type": "DWord", "Type": "DWord",
"OriginalValue": "<RemoveEntry>" "OriginalValue": "<RemoveEntry>"
}, },
{
"Path": "HKCU:\\Software\\Classes\\CLSID\\{e88865ea-0e1c-4e20-9aa6-edcd0212c87c}",
"Name": "System.IsPinnedToNameSpaceTree",
"Value": "0",
"Type": "DWord",
"OriginalValue": "<RemoveEntry>"
},
{ {
"Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced", "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced",
"Name": "LaunchTo", "Name": "LaunchTo",
@@ -722,7 +713,7 @@
"OriginalValue": "<RemoveEntry>" "OriginalValue": "<RemoveEntry>"
} }
], ],
"link": "https://winutil.christitus.com/dev/tweaks/z--advanced-tweaks---caution/removehomeandgallery" "link": "https://winutil.christitus.com/dev/tweaks/z--advanced-tweaks---caution/removehome"
}, },
"WPFTweaksDisplay": { "WPFTweaksDisplay": {
"Content": "Visual Effects - Set to Best Performance", "Content": "Visual Effects - Set to Best Performance",
@@ -979,7 +970,7 @@
Remove-AppxPackage $Appx Remove-AppxPackage $Appx
Set-Service -Name WSAIFabricSvc -StartupType Disabled Set-Service -Name WSAIFabricSvc -StartupType Disabled
Disable-WindowsOptionalFeature -FeatureName Recall -Online -NoRestart Disable-WindowsOptionalFeature -FeatureName Recall -Online
Write-Host \"Windows AI Disabled\" Write-Host \"Windows AI Disabled\"
" "
@@ -1097,15 +1088,6 @@
"Description": "Restores the classic context menu when right-clicking in File Explorer, replacing the simplified Windows 11 version.", "Description": "Restores the classic context menu when right-clicking in File Explorer, replacing the simplified Windows 11 version.",
"category": "z__Advanced Tweaks - CAUTION", "category": "z__Advanced Tweaks - CAUTION",
"panel": "1", "panel": "1",
"registry": [
{
"Path": "HKCU:\\Software\\Classes\\CLSID\\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\\InprocServer32",
"Name": "(default)",
"Value": "",
"Type": "String",
"OriginalValue": "<RemoveEntry>"
}
],
"InvokeScript": [ "InvokeScript": [
" "
New-Item -Path \"HKCU:\\Software\\Classes\\CLSID\\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\" -Name \"InprocServer32\" -force -value \"\" New-Item -Path \"HKCU:\\Software\\Classes\\CLSID\\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\" -Name \"InprocServer32\" -force -value \"\"
@@ -1793,9 +1775,9 @@
{ {
"Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Search", "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Search",
"Name": "SearchboxTaskbarMode", "Name": "SearchboxTaskbarMode",
"Value": "1", "Value": "0",
"Type": "DWord", "Type": "DWord",
"OriginalValue": "0", "OriginalValue": "d",
"DefaultState": "true" "DefaultState": "true"
} }
], ],
-12
View File
@@ -18,15 +18,3 @@ If you run WinUtil and get the error:
`"WinUtil is unable to run on your system, powershell execution is restricted by security policies,"` `"WinUtil is unable to run on your system, powershell execution is restricted by security policies,"`
this means that your PowerShell session is in **Constrained Language Mode**, which prevents WinUtil from running. this means that your PowerShell session is in **Constrained Language Mode**, which prevents WinUtil from running.
### Ultimate Performance Plan Not Working
The Ultimate Performance power plan may not work on some laptops who do not fully support this power plan.
In these cases, the power plan may fail to apply, This is expected behavior on unsupported hardware.
### Revet start menu tweak not working
Revet start menu tweak stops working starting with **Windows 11 update KB5089573** (released in May 2026).
In this update, Microsoft completely removed the old Start Menu code from Windows so we aren't able to bring it back
@@ -3,7 +3,7 @@ title: "System Tray Battery Percentage"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1325} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1307}
"WPFToggleBatteryPercentage": { "WPFToggleBatteryPercentage": {
"Content": "System Tray Battery Percentage", "Content": "System Tray Battery Percentage",
"Description": "Shows numeric battery percentage next to the battery icon in the system tray.", "Description": "Shows numeric battery percentage next to the battery icon in the system tray.",
@@ -3,7 +3,7 @@ title: "Start Menu Bing Search"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1660} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1642}
"WPFToggleBingSearch": { "WPFToggleBingSearch": {
"Content": "Start Menu Bing Search", "Content": "Start Menu Bing Search",
"Description": "Toggles Bing web search results in windows search", "Description": "Toggles Bing web search results in windows search",
@@ -3,7 +3,7 @@ title: "Dark Theme for Windows"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1343} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1325}
"WPFToggleDarkMode": { "WPFToggleDarkMode": {
"Content": "Dark Theme for Windows", "Content": "Dark Theme for Windows",
"Description": "Dark Mode for the system and applications.", "Description": "Dark Mode for the system and applications.",
@@ -3,7 +3,7 @@ title: "BSoD Verbose Mode"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1299} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1281}
"WPFToggleDetailedBSoD": { "WPFToggleDetailedBSoD": {
"Content": "BSoD Verbose Mode", "Content": "BSoD Verbose Mode",
"Description": "Gives more information when you blue screen.", "Description": "Gives more information when you blue screen.",
@@ -3,7 +3,7 @@ title: "Game Mode"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1822} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1804}
"WPFToggleGameMode": { "WPFToggleGameMode": {
"Content": "Game Mode", "Content": "Game Mode",
"Description": "Toggles Windows prioritizes gaming performance by allocating system resources to games.", "Description": "Toggles Windows prioritizes gaming performance by allocating system resources to games.",
@@ -3,7 +3,7 @@ title: "File Explorer Hidden Files"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1413} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1395}
"WPFToggleHiddenFiles": { "WPFToggleHiddenFiles": {
"Content": "File Explorer Hidden Files", "Content": "File Explorer Hidden Files",
"Description": "reveals hidden files in explorer", "Description": "reveals hidden files in explorer",
@@ -3,7 +3,7 @@ title: "Settings Home Page"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1642} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1624}
"WPFToggleHideSettingsHome": { "WPFToggleHideSettingsHome": {
"Content": "Settings Home Page", "Content": "Settings Home Page",
"Description": "Toggles the Home Page in the Windows Settings app.", "Description": "Toggles the Home Page in the Windows Settings app.",
@@ -3,7 +3,7 @@ title: "Logon Screen Acrylic Blur"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1678} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1660}
"WPFToggleLoginBlur": { "WPFToggleLoginBlur": {
"Content": "Logon Screen Acrylic Blur", "Content": "Logon Screen Acrylic Blur",
"Description": "Toggles the acrylic blur effect on login screen background.", "Description": "Toggles the acrylic blur effect on login screen background.",
@@ -3,7 +3,7 @@ title: "Enable Long Paths"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1848} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1830}
"WPFToggleLongPaths": { "WPFToggleLongPaths": {
"Content": "Enable Long Paths", "Content": "Enable Long Paths",
"Description": "Toggles support for file paths longer than 260 characters in explorer.", "Description": "Toggles support for file paths longer than 260 characters in explorer.",
@@ -3,7 +3,7 @@ title: "Mouse Acceleration"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1546} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1528}
"WPFToggleMouseAcceleration": { "WPFToggleMouseAcceleration": {
"Content": "Mouse Acceleration", "Content": "Mouse Acceleration",
"Description": "Makes it so Cursor movement is affected by the speed of your physical mouse movements.", "Description": "Makes it so Cursor movement is affected by the speed of your physical mouse movements.",
@@ -3,7 +3,7 @@ title: "Multiplane Overlay"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1520} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1502}
"WPFToggleMultiplaneOverlay": { "WPFToggleMultiplaneOverlay": {
"Content": "Multiplane Overlay", "Content": "Multiplane Overlay",
"Description": "Multiplane Overlay compose multiple image layers, which can sometimes cause issues with graphics cards.", "Description": "Multiplane Overlay compose multiple image layers, which can sometimes cause issues with graphics cards.",
@@ -3,7 +3,7 @@ title: "Microsoft Outlook New Version"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1459} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1441}
"WPFToggleNewOutlook": { "WPFToggleNewOutlook": {
"Content": "Microsoft Outlook New Version", "Content": "Microsoft Outlook New Version",
"Description": "This will ensures the classic Outlook application is used.", "Description": "This will ensures the classic Outlook application is used.",
@@ -3,7 +3,7 @@ title: "Num Lock on Startup"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1580} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1562}
"WPFToggleNumLock": { "WPFToggleNumLock": {
"Content": "Num Lock on Startup", "Content": "Num Lock on Startup",
"Description": "Toggle the Num Lock key state when your computer starts.", "Description": "Toggle the Num Lock key state when your computer starts.",
@@ -3,7 +3,7 @@ title: "S3 Sleep"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1624} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1606}
"WPFToggleS3Sleep": { "WPFToggleS3Sleep": {
"Content": "S3 Sleep", "Content": "S3 Sleep",
"Description": "Toggles between Modern Standby and S3 Sleep which cuts of power to cpu while continuing to refreshes the memory.", "Description": "Toggles between Modern Standby and S3 Sleep which cuts of power to cpu while continuing to refreshes the memory.",
@@ -3,7 +3,7 @@ title: "File Explorer File Extensions"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1385} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1367}
"WPFToggleShowExt": { "WPFToggleShowExt": {
"Content": "File Explorer File Extensions", "Content": "File Explorer File Extensions",
"Description": "Shows .file extensions in explorer (.exe, .png, etc)", "Description": "Shows .file extensions in explorer (.exe, .png, etc)",
@@ -3,7 +3,7 @@ title: "S0 Sleep Network Connectivity"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1606} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1588}
"WPFToggleStandbyFix": { "WPFToggleStandbyFix": {
"Content": "S0 Sleep Network Connectivity", "Content": "S0 Sleep Network Connectivity",
"Description": "Toggles network connectivity during S0 Sleep which is low power idle in modern laptops.", "Description": "Toggles network connectivity during S0 Sleep which is low power idle in modern laptops.",
@@ -3,7 +3,7 @@ title: "Start Menu Recommendations"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1696} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1678}
"WPFToggleStartMenuRecommendations": { "WPFToggleStartMenuRecommendations": {
"Content": "Start Menu Recommendations", "Content": "Start Menu Recommendations",
"Description": "Toggles the recommendations section in the Start Menu. WARNING: This will also disable Windows Spotlight on your Lock Screen as a side effect.", "Description": "Toggles the recommendations section in the Start Menu. WARNING: This will also disable Windows Spotlight on your Lock Screen as a side effect.",
@@ -3,7 +3,7 @@ title: "Sticky Keys"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1740} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1722}
"WPFToggleStickyKeys": { "WPFToggleStickyKeys": {
"Content": "Sticky Keys", "Content": "Sticky Keys",
"Description": "Toggles the stick keys which active when clicking shift rapidly", "Description": "Toggles the stick keys which active when clicking shift rapidly",
@@ -3,7 +3,7 @@ title: "Taskbar Task View Icon"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1804} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1786}
"WPFToggleTaskView": { "WPFToggleTaskView": {
"Content": "Taskbar Task View Icon", "Content": "Taskbar Task View Icon",
"Description": "Toggles the Task View Button in the Taskbar.", "Description": "Toggles the Task View Button in the Taskbar.",
@@ -3,7 +3,7 @@ title: "Taskbar Centered Icons"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1758} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1740}
"WPFToggleTaskbarAlignment": { "WPFToggleTaskbarAlignment": {
"Content": "Taskbar Centered Icons", "Content": "Taskbar Centered Icons",
"Description": "Toggles the taskbar alignment either to the left or center", "Description": "Toggles the taskbar alignment either to the left or center",
@@ -3,7 +3,7 @@ title: "Taskbar Search Icon"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1786} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1768}
"WPFToggleTaskbarSearch": { "WPFToggleTaskbarSearch": {
"Content": "Taskbar Search Icon", "Content": "Taskbar Search Icon",
"Description": "Toggles the Search Button on the Taskbar.", "Description": "Toggles the Search Button on the Taskbar.",
@@ -14,9 +14,9 @@ description: ""
{ {
"Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Search", "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Search",
"Name": "SearchboxTaskbarMode", "Name": "SearchboxTaskbarMode",
"Value": "1", "Value": "0",
"Type": "DWord", "Type": "DWord",
"OriginalValue": "0", "OriginalValue": "d",
"DefaultState": "true" "DefaultState": "true"
} }
], ],
@@ -3,7 +3,7 @@ title: "Logon Verbose Mode"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1441} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1423}
"WPFToggleVerboseLogon": { "WPFToggleVerboseLogon": {
"Content": "Logon Verbose Mode", "Content": "Logon Verbose Mode",
"Description": "Show detailed messages during startup/shutdown.", "Description": "Show detailed messages during startup/shutdown.",
@@ -3,7 +3,7 @@ title: "ConsumerFeatures - Disable"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=451} ```json {filename="config/tweaks.json",linenos=inline,linenostart=449}
"WPFTweaksConsumerFeatures": { "WPFTweaksConsumerFeatures": {
"Content": "ConsumerFeatures - Disable", "Content": "ConsumerFeatures - Disable",
"Description": "Windows will not automatically install any games, third-party apps, or application links from the Windows Store for the signed-in user. Some default Apps will be inaccessible (eg. Phone Link).", "Description": "Windows will not automatically install any games, third-party apps, or application links from the Windows Store for the signed-in user. Some default Apps will be inaccessible (eg. Phone Link).",
@@ -3,7 +3,7 @@ title: "Unwanted Pre-Installed Apps - Remove"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=849} ```json {filename="config/tweaks.json",linenos=inline,linenostart=840}
"WPFTweaksDeBloat": { "WPFTweaksDeBloat": {
"Content": "Unwanted Pre-Installed Apps - Remove", "Content": "Unwanted Pre-Installed Apps - Remove",
"Description": "This will remove a bunch of Windows pre-installed applications which most people dont want on their system.", "Description": "This will remove a bunch of Windows pre-installed applications which most people dont want on their system.",
@@ -3,7 +3,7 @@ title: "Temporary Files - Remove"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1139} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1121}
"WPFTweaksDeleteTempFiles": { "WPFTweaksDeleteTempFiles": {
"Content": "Temporary Files - Remove", "Content": "Temporary Files - Remove",
"Description": "Erases TEMP Folders.", "Description": "Erases TEMP Folders.",
@@ -3,7 +3,7 @@ title: "Delivery Optimization - Disable"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=592} ```json {filename="config/tweaks.json",linenos=inline,linenostart=590}
"WPFTweaksDeliveryOptimization": { "WPFTweaksDeliveryOptimization": {
"Content": "Delivery Optimization - Disable", "Content": "Delivery Optimization - Disable",
"Description": "Stops Windows from using your bandwidth to upload updates to other PCs on the internet or local network.", "Description": "Stops Windows from using your bandwidth to upload updates to other PCs on the internet or local network.",
@@ -3,7 +3,7 @@ title: "BitLocker - Disable"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=624} ```json {filename="config/tweaks.json",linenos=inline,linenostart=622}
"WPFTweaksDisableBitLocker": { "WPFTweaksDisableBitLocker": {
"Content": "BitLocker - Disable", "Content": "BitLocker - Disable",
"Description": "Disables BitLocker.", "Description": "Disables BitLocker.",
@@ -3,7 +3,7 @@ title: "File Explorer Automatic Folder Discovery - Disable"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1244} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1226}
"WPFTweaksDisableExplorerAutoDiscovery": { "WPFTweaksDisableExplorerAutoDiscovery": {
"Content": "File Explorer Automatic Folder Discovery - Disable", "Content": "File Explorer Automatic Folder Discovery - Disable",
"Description": "Windows Explorer automatically tries to guess the type of the folder based on its contents, slowing down the browsing experience. WARNING! Will disable File Explorer grouping.", "Description": "Windows Explorer automatically tries to guess the type of the folder based on its contents, slowing down the browsing experience. WARNING! Will disable File Explorer grouping.",
@@ -3,7 +3,7 @@ title: "Microsoft Store Recommended Search Results - Disable"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=117} ```json {filename="config/tweaks.json",linenos=inline,linenostart=115}
"WPFTweaksDisableStoreSearch": { "WPFTweaksDisableStoreSearch": {
"Content": "Microsoft Store Recommended Search Results - Disable", "Content": "Microsoft Store Recommended Search Results - Disable",
"Description": "Will not display recommended Microsoft Store apps when searching for apps in the Start menu.", "Description": "Will not display recommended Microsoft Store apps when searching for apps in the Start menu.",
@@ -3,7 +3,7 @@ title: "Disk Cleanup - Run"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1126} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1108}
"WPFTweaksDiskCleanup": { "WPFTweaksDiskCleanup": {
"Content": "Disk Cleanup - Run", "Content": "Disk Cleanup - Run",
"Description": "Runs Disk Cleanup on Drive C: and removes old Windows Updates.", "Description": "Runs Disk Cleanup on Drive C: and removes old Windows Updates.",
@@ -3,7 +3,7 @@ title: "End Task With Right Click - Enable"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=917} ```json {filename="config/tweaks.json",linenos=inline,linenostart=908}
"WPFTweaksEndTaskOnTaskbar": { "WPFTweaksEndTaskOnTaskbar": {
"Content": "End Task With Right Click - Enable", "Content": "End Task With Right Click - Enable",
"Description": "Enables option to end task when right clicking a program in the taskbar.", "Description": "Enables option to end task when right clicking a program in the taskbar.",
@@ -3,7 +3,7 @@ title: "Location Tracking - Disable"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=130} ```json {filename="config/tweaks.json",linenos=inline,linenostart=128}
"WPFTweaksLocation": { "WPFTweaksLocation": {
"Content": "Location Tracking - Disable", "Content": "Location Tracking - Disable",
"Description": "Disables Location Tracking.", "Description": "Disables Location Tracking.",
@@ -3,7 +3,7 @@ title: "Restore Point - Create"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=890} ```json {filename="config/tweaks.json",linenos=inline,linenostart=881}
"WPFTweaksRestorePoint": { "WPFTweaksRestorePoint": {
"Content": "Restore Point - Create", "Content": "Restore Point - Create",
"Description": "Creates a restore point at runtime in case a revert is needed from WinUtil modifications.", "Description": "Creates a restore point at runtime in case a revert is needed from WinUtil modifications.",
@@ -3,3 +3,38 @@ title: "Start Menu Previous Layout - Enable"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=80}
"WPFTweaksRevertStartMenu": {
"Content": "Start Menu Previous Layout - Enable",
"Description": "Bring back the old Start Menu layout from before the gradual rollout of the new one in 25H2.",
"category": "Essential Tweaks",
"panel": "1",
"InvokeScript": [
"
Invoke-WebRequest https://github.com/thebookisclosed/ViVe/releases/download/v0.3.4/ViVeTool-v0.3.4-IntelAmd.zip -OutFile ViVeTool.zip
Expand-Archive ViVeTool.zip
Remove-Item ViVeTool.zip
Start-Process 'ViVeTool\\ViVeTool.exe' -ArgumentList '/disable /id:47205210' -Wait -NoNewWindow
Remove-Item ViVeTool -Recurse
Write-Host 'Old start menu reverted. Please restart your computer to take effect.'
"
],
"UndoScript": [
"
Invoke-WebRequest https://github.com/thebookisclosed/ViVe/releases/download/v0.3.4/ViVeTool-v0.3.4-IntelAmd.zip -OutFile ViVeTool.zip
Expand-Archive ViVeTool.zip
Remove-Item ViVeTool.zip
Start-Process 'ViVeTool\\ViVeTool.exe' -ArgumentList '/enable /id:47205210' -Wait -NoNewWindow
Remove-Item ViVeTool -Recurse
Write-Host 'New start menu reverted. Please restart your computer to take effect.'
"
],
```
@@ -3,7 +3,7 @@ title: "Services - Set to Manual"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=167} ```json {filename="config/tweaks.json",linenos=inline,linenostart=165}
"WPFTweaksServices": { "WPFTweaksServices": {
"Content": "Services - Set to Manual", "Content": "Services - Set to Manual",
"Description": "Sets some services to Manual startup and adjusts the SvcHostSplitThresholdInKB registry value to better match system memory, which can significantly reduce the number of svchost.exe processes.", "Description": "Sets some services to Manual startup and adjusts the SvcHostSplitThresholdInKB registry value to better match system memory, which can significantly reduce the number of svchost.exe processes.",
@@ -3,7 +3,7 @@ title: "Telemetry - Disable"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=467} ```json {filename="config/tweaks.json",linenos=inline,linenostart=465}
"WPFTweaksTelemetry": { "WPFTweaksTelemetry": {
"Content": "Telemetry - Disable", "Content": "Telemetry - Disable",
"Description": "Disables Microsoft Telemetry.", "Description": "Disables Microsoft Telemetry.",
@@ -3,7 +3,7 @@ title: "Windows Platform Binary Table (WPBT) - Disable"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=989} ```json {filename="config/tweaks.json",linenos=inline,linenostart=980}
"WPFTweaksWPBT": { "WPFTweaksWPBT": {
"Content": "Windows Platform Binary Table (WPBT) - Disable", "Content": "Windows Platform Binary Table (WPBT) - Disable",
"Description": "If enabled, WPBT allows your computer vendor to execute programs at boot time, such as anti-theft software, software drivers, as well as force install software without user consent. Poses potential security risk.", "Description": "If enabled, WPBT allows your computer vendor to execute programs at boot time, such as anti-theft software, software drivers, as well as force install software without user consent. Poses potential security risk.",
@@ -3,7 +3,7 @@ title: "Adobe URL Block List - Enable"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1069} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1060}
"WPFTweaksBlockAdobeNet": { "WPFTweaksBlockAdobeNet": {
"Content": "Adobe URL Block List - Enable", "Content": "Adobe URL Block List - Enable",
"Description": "Reduces user interruptions by selectively blocking connections to Adobe's activation and telemetry servers. Credit: Ruddernation-Designs", "Description": "Reduces user interruptions by selectively blocking connections to Adobe's activation and telemetry servers. Credit: Ruddernation-Designs",
@@ -3,7 +3,7 @@ title: "Brave Browser - Debloat"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=207} ```json {filename="config/tweaks.json",linenos=inline,linenostart=205}
"WPFTweaksBraveDebloat": { "WPFTweaksBraveDebloat": {
"Content": "Brave Browser - Debloat", "Content": "Brave Browser - Debloat",
"Description": "Disables various annoyances like Brave Rewards, Leo AI, Crypto Wallet and VPN.", "Description": "Disables various annoyances like Brave Rewards, Leo AI, Crypto Wallet and VPN.",
@@ -3,7 +3,7 @@ title: "Background Apps - Disable"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1212} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1194}
"WPFTweaksDisableBGapps": { "WPFTweaksDisableBGapps": {
"Content": "Background Apps - Disable", "Content": "Background Apps - Disable",
"Description": "Disables all Microsoft Store apps from running in the background, which has to be done individually since Windows 11.", "Description": "Disables all Microsoft Store apps from running in the background, which has to be done individually since Windows 11.",
@@ -3,7 +3,7 @@ title: "Fullscreen Optimizations - Disable"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1228} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1210}
"WPFTweaksDisableFSO": { "WPFTweaksDisableFSO": {
"Content": "Fullscreen Optimizations - Disable", "Content": "Fullscreen Optimizations - Disable",
"Description": "Disables FSO in all applications. NOTE: This will disable Color Management in Exclusive Fullscreen.", "Description": "Disables FSO in all applications. NOTE: This will disable Color Management in Exclusive Fullscreen.",
@@ -3,7 +3,7 @@ title: "IPv6 - Disable"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1190} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1172}
"WPFTweaksDisableIPv6": { "WPFTweaksDisableIPv6": {
"Content": "IPv6 - Disable", "Content": "IPv6 - Disable",
"Description": "Disables IPv6.", "Description": "Disables IPv6.",
@@ -3,7 +3,7 @@ title: "System Tray Notifications & Calendar - Disable"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1046} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1037}
"WPFTweaksDisableNotifications": { "WPFTweaksDisableNotifications": {
"Content": "System Tray Notifications & Calendar - Disable", "Content": "System Tray Notifications & Calendar - Disable",
"Description": "Disables all Notifications INCLUDING Calendar.", "Description": "Disables all Notifications INCLUDING Calendar.",
@@ -3,7 +3,7 @@ title: "RDP Unsigned File Warnings - Disable"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=300} ```json {filename="config/tweaks.json",linenos=inline,linenostart=298}
"WPFTweaksDisableWarningForUnsignedRdp": { "WPFTweaksDisableWarningForUnsignedRdp": {
"Content": "RDP Unsigned File Warnings - Disable", "Content": "RDP Unsigned File Warnings - Disable",
"Description": "Disables warnings shown when launching unsigned RDP files introduced with the latest Windows 10 and 11 updates.", "Description": "Disables warnings shown when launching unsigned RDP files introduced with the latest Windows 10 and 11 updates.",
@@ -3,7 +3,7 @@ title: "Visual Effects - Set to Best Performance"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=727} ```json {filename="config/tweaks.json",linenos=inline,linenostart=718}
"WPFTweaksDisplay": { "WPFTweaksDisplay": {
"Content": "Visual Effects - Set to Best Performance", "Content": "Visual Effects - Set to Best Performance",
"Description": "Sets the system preferences to performance. You can do this manually with sysdm.cpl as well.", "Description": "Sets the system preferences to performance. You can do this manually with sysdm.cpl as well.",
@@ -3,7 +3,7 @@ title: "Microsoft Edge - Debloat"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=323} ```json {filename="config/tweaks.json",linenos=inline,linenostart=321}
"WPFTweaksEdgeDebloat": { "WPFTweaksEdgeDebloat": {
"Content": "Microsoft Edge - Debloat", "Content": "Microsoft Edge - Debloat",
"Description": "Disables various telemetry options, popups, and other annoyances in Edge.", "Description": "Disables various telemetry options, popups, and other annoyances in Edge.",
@@ -3,7 +3,7 @@ title: "IPv6 - Set IPv4 as Preferred"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1152} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1134}
"WPFTweaksIPv46": { "WPFTweaksIPv46": {
"Content": "IPv6 - Set IPv4 as Preferred", "Content": "IPv6 - Set IPv4 as Preferred",
"Description": "Setting the IPv4 preference can have latency and security benefits on private networks where IPv6 is not configured.", "Description": "Setting the IPv4 preference can have latency and security benefits on private networks where IPv6 is not configured.",
@@ -3,7 +3,7 @@ title: "Razer Software Auto-Install - Disable"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1005} ```json {filename="config/tweaks.json",linenos=inline,linenostart=996}
"WPFTweaksRazerBlock": { "WPFTweaksRazerBlock": {
"Content": "Razer Software Auto-Install - Disable", "Content": "Razer Software Auto-Install - Disable",
"Description": "Blocks ALL Razer Software installations. The hardware works fine without any software.", "Description": "Blocks ALL Razer Software installations. The hardware works fine without any software.",
@@ -3,7 +3,7 @@ title: "Microsoft Edge - Remove"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=608} ```json {filename="config/tweaks.json",linenos=inline,linenostart=606}
"WPFTweaksRemoveEdge": { "WPFTweaksRemoveEdge": {
"Content": "Microsoft Edge - Remove", "Content": "Microsoft Edge - Remove",
"Description": "Unblocks Microsoft Edge uninstaller restrictions then uses that uninstaller to remove Microsoft Edge.", "Description": "Unblocks Microsoft Edge uninstaller restrictions then uses that uninstaller to remove Microsoft Edge.",
@@ -3,8 +3,8 @@ title: "File Explorer Home and Gallery - Disable"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=697} ```json {filename="config/tweaks.json",linenos=inline,linenostart=695}
"WPFTweaksRemoveHomeAndGallery": { "WPFTweaksRemoveHome": {
"Content": "File Explorer Home and Gallery - Disable", "Content": "File Explorer Home and Gallery - Disable",
"Description": "Removes the Home and Gallery from Explorer and sets This PC as default.", "Description": "Removes the Home and Gallery from Explorer and sets This PC as default.",
"category": "z__Advanced Tweaks - CAUTION", "category": "z__Advanced Tweaks - CAUTION",
@@ -17,13 +17,6 @@ description: ""
"Type": "DWord", "Type": "DWord",
"OriginalValue": "<RemoveEntry>" "OriginalValue": "<RemoveEntry>"
}, },
{
"Path": "HKCU:\\Software\\Classes\\CLSID\\{e88865ea-0e1c-4e20-9aa6-edcd0212c87c}",
"Name": "System.IsPinnedToNameSpaceTree",
"Value": "0",
"Type": "DWord",
"OriginalValue": "<RemoveEntry>"
},
{ {
"Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced", "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced",
"Name": "LaunchTo", "Name": "LaunchTo",
@@ -3,7 +3,7 @@ title: "Microsoft OneDrive - Remove"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=653} ```json {filename="config/tweaks.json",linenos=inline,linenostart=651}
"WPFTweaksRemoveOneDrive": { "WPFTweaksRemoveOneDrive": {
"Content": "Microsoft OneDrive - Remove", "Content": "Microsoft OneDrive - Remove",
"Description": "Denies permission to remove OneDrive user files, then uses its own uninstaller to remove it and restores the original permission afterward.", "Description": "Denies permission to remove OneDrive user files, then uses its own uninstaller to remove it and restores the original permission afterward.",
@@ -29,7 +29,7 @@ description: ""
icacls $Env:OneDrive /grant \"Administrators:(D,DC)\" icacls $Env:OneDrive /grant \"Administrators:(D,DC)\"
if (-not (Get-ChildItem -Path $Env:OneDrive)) { if (-not (Get-ChildItem -Path $Env:OneDrive)) {
Remove-Item -Path $Env:OneDrive -Recurse Remove-Item -Path $Env:OneDrive
[Environment]::SetEnvironmentVariable('OneDrive', $null, 'User') [Environment]::SetEnvironmentVariable('OneDrive', $null, 'User')
} }
@@ -3,21 +3,12 @@ title: "Right-Click Menu Previous Layout - Enable"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1095} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1086}
"WPFTweaksRightClickMenu": { "WPFTweaksRightClickMenu": {
"Content": "Right-Click Menu Previous Layout - Enable", "Content": "Right-Click Menu Previous Layout - Enable",
"Description": "Restores the classic context menu when right-clicking in File Explorer, replacing the simplified Windows 11 version.", "Description": "Restores the classic context menu when right-clicking in File Explorer, replacing the simplified Windows 11 version.",
"category": "z__Advanced Tweaks - CAUTION", "category": "z__Advanced Tweaks - CAUTION",
"panel": "1", "panel": "1",
"registry": [
{
"Path": "HKCU:\\Software\\Classes\\CLSID\\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\\InprocServer32",
"Name": "(default)",
"Value": "",
"Type": "String",
"OriginalValue": "<RemoveEntry>"
}
],
"InvokeScript": [ "InvokeScript": [
" "
New-Item -Path \"HKCU:\\Software\\Classes\\CLSID\\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\" -Name \"InprocServer32\" -force -value \"\" New-Item -Path \"HKCU:\\Software\\Classes\\CLSID\\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\" -Name \"InprocServer32\" -force -value \"\"
@@ -34,9 +25,3 @@ description: ""
" "
], ],
``` ```
## Registry Changes
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).
@@ -3,7 +3,7 @@ title: "Storage Sense - Disable"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=933} ```json {filename="config/tweaks.json",linenos=inline,linenostart=924}
"WPFTweaksStorage": { "WPFTweaksStorage": {
"Content": "Storage Sense - Disable", "Content": "Storage Sense - Disable",
"Description": "Storage Sense deletes temp files automatically.", "Description": "Storage Sense deletes temp files automatically.",
@@ -3,7 +3,7 @@ title: "Teredo - Disable"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1168} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1150}
"WPFTweaksTeredo": { "WPFTweaksTeredo": {
"Content": "Teredo - Disable", "Content": "Teredo - Disable",
"Description": "Teredo network tunneling is an IPv6 feature that can cause additional latency, but may cause problems with some games.", "Description": "Teredo network tunneling is an IPv6 feature that can cause additional latency, but may cause problems with some games.",
@@ -3,7 +3,7 @@ title: "Date & Time - Set Time to UTC"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=637} ```json {filename="config/tweaks.json",linenos=inline,linenostart=635}
"WPFTweaksUTC": { "WPFTweaksUTC": {
"Content": "Date & Time - Set Time to UTC", "Content": "Date & Time - Set Time to UTC",
"Description": "Essential for computers that are dual booting. Fixes the time sync with Linux systems.", "Description": "Essential for computers that are dual booting. Fixes the time sync with Linux systems.",
@@ -3,7 +3,7 @@ title: "Windows AI - Disable"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=949} ```json {filename="config/tweaks.json",linenos=inline,linenostart=940}
"WPFTweaksWindowsAI": { "WPFTweaksWindowsAI": {
"Content": "Windows AI - Disable", "Content": "Windows AI - Disable",
"Description": "Removes or disables all ai features and packages", "Description": "Removes or disables all ai features and packages",
@@ -37,7 +37,7 @@ description: ""
Remove-AppxPackage $Appx Remove-AppxPackage $Appx
Set-Service -Name WSAIFabricSvc -StartupType Disabled Set-Service -Name WSAIFabricSvc -StartupType Disabled
Disable-WindowsOptionalFeature -FeatureName Recall -Online -NoRestart Disable-WindowsOptionalFeature -FeatureName Recall -Online
Write-Host \"Windows AI Disabled\" Write-Host \"Windows AI Disabled\"
" "
@@ -3,7 +3,7 @@ title: "Xbox & Gaming Components - Remove"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=826} ```json {filename="config/tweaks.json",linenos=inline,linenostart=817}
"WPFTweaksXboxRemoval": { "WPFTweaksXboxRemoval": {
"Content": "Xbox & Gaming Components - Remove", "Content": "Xbox & Gaming Components - Remove",
"Description": "Removes Xbox services, the Xbox app, Game Bar, and related authentication components.", "Description": "Removes Xbox services, the Xbox app, Game Bar, and related authentication components.",
@@ -3,7 +3,7 @@ title: "DNS - Set to:"
description: "" description: ""
--- ---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1873} ```json {filename="config/tweaks.json",linenos=inline,linenostart=1855}
"WPFchangedns": { "WPFchangedns": {
"Content": "DNS - Set to:", "Content": "DNS - Set to:",
"category": "z__Advanced Tweaks - CAUTION", "category": "z__Advanced Tweaks - CAUTION",
@@ -23,9 +23,9 @@ function Find-TweaksByNameOrDescription {
[string]$SearchString = "" [string]$SearchString = ""
) )
# ------------------------------------------------------------------------------ # ──────────────────────────────────────────────────────────────────────────────
# 1. RESOLVE $SYNC WITH MULTI-LEVEL FALLBACK # 1. RESOLVE $SYNC WITH MULTI-LEVEL FALLBACK
# ------------------------------------------------------------------------------ # ──────────────────────────────────────────────────────────────────────────────
if ($null -eq $Sync) { if ($null -eq $Sync) {
$Sync = $global:sync $Sync = $global:sync
@@ -45,9 +45,9 @@ function Find-TweaksByNameOrDescription {
return return
} }
# ------------------------------------------------------------------------------ # ──────────────────────────────────────────────────────────────────────────────
# 2. GET REFERENCE TO TWEAKS PANEL # 2. GET REFERENCE TO TWEAKS PANEL
# ------------------------------------------------------------------------------ # ──────────────────────────────────────────────────────────────────────────────
$tweaksPanel = $null $tweaksPanel = $null
try { try {
@@ -63,9 +63,9 @@ function Find-TweaksByNameOrDescription {
return return
} }
# ------------------------------------------------------------------------------ # ──────────────────────────────────────────────────────────────────────────────
# 3. HANDLE EMPTY/WHITESPACE SEARCH STRING - RESET TO DEFAULT STATE # 3. HANDLE EMPTY/WHITESPACE SEARCH STRING - RESET TO DEFAULT STATE
# ------------------------------------------------------------------------------ # ──────────────────────────────────────────────────────────────────────────────
if ([string]::IsNullOrWhiteSpace($SearchString)) { if ([string]::IsNullOrWhiteSpace($SearchString)) {
try { try {
@@ -114,9 +114,9 @@ function Find-TweaksByNameOrDescription {
return return
} }
# ------------------------------------------------------------------------------ # ──────────────────────────────────────────────────────────────────────────────
# 4. PERFORM LITERAL SEARCH (NO WILDCARD EXPANSION) # 4. PERFORM LITERAL SEARCH (NO WILDCARD EXPANSION)
# ------------------------------------------------------------------------------ # ──────────────────────────────────────────────────────────────────────────────
try { try {
# Normalize search term once for the entire operation # Normalize search term once for the entire operation
@@ -151,9 +151,9 @@ function Find-TweaksByNameOrDescription {
continue continue
} }
# ------------------------------------------------------------ # ────────────────────────────────────────────────────────────
# Check if this is a category label (usually first Label) # Check if this is a category label (usually first Label)
# ------------------------------------------------------------ # ────────────────────────────────────────────────────────────
if ($item -is [Windows.Controls.Label]) { if ($item -is [Windows.Controls.Label]) {
$categoryLabel = $item $categoryLabel = $item
@@ -161,9 +161,9 @@ function Find-TweaksByNameOrDescription {
$item.Visibility = [Windows.Visibility]::Collapsed $item.Visibility = [Windows.Visibility]::Collapsed
} }
# ------------------------------------------------------------ # ────────────────────────────────────────────────────────────
# Check if this is a DockPanel containing a tweak checkbox # Check if this is a DockPanel containing a tweak checkbox
# ------------------------------------------------------------ # ────────────────────────────────────────────────────────────
elseif ($item -is [Windows.Controls.DockPanel]) { elseif ($item -is [Windows.Controls.DockPanel]) {
$checkbox = $null $checkbox = $null
@@ -211,9 +211,9 @@ function Find-TweaksByNameOrDescription {
} }
} }
# ------------------------------------------------------------ # ────────────────────────────────────────────────────────────
# Check if this is a StackPanel containing a tweak checkbox # Check if this is a StackPanel containing a tweak checkbox
# ------------------------------------------------------------ # ────────────────────────────────────────────────────────────
elseif ($item -is [Windows.Controls.StackPanel]) { elseif ($item -is [Windows.Controls.StackPanel]) {
$checkbox = $null $checkbox = $null
@@ -257,9 +257,9 @@ function Find-TweaksByNameOrDescription {
} }
} }
# ------------------------------------------------------------ # ────────────────────────────────────────────────────────────
# Update category label visibility and expanded/collapsed state # Update category label visibility and expanded/collapsed state
# ------------------------------------------------------------ # ────────────────────────────────────────────────────────────
if ($categoryHasMatch) { if ($categoryHasMatch) {
# Show category label # Show category label
@@ -282,9 +282,9 @@ function Find-TweaksByNameOrDescription {
} }
} }
# ---------------------------------------------------------------- # ────────────────────────────────────────────────────────────────
# Set category border visibility based on whether it has matches # Set category border visibility based on whether it has matches
# ---------------------------------------------------------------- # ────────────────────────────────────────────────────────────────
if ($categoryHasMatch) { if ($categoryHasMatch) {
$categoryBorder.Visibility = [Windows.Visibility]::Visible $categoryBorder.Visibility = [Windows.Visibility]::Visible
+2 -2
View File
@@ -65,7 +65,7 @@ function Invoke-WinUtilISOMountAndVerify {
if (-not (Test-Path $wimPath) -and -not (Test-Path $esdPath)) { if (-not (Test-Path $wimPath) -and -not (Test-Path $esdPath)) {
Dismount-DiskImage -ImagePath $isoPath Dismount-DiskImage -ImagePath $isoPath
Write-Win11ISOLog "ERROR: install.wim/install.esd not found - not a valid Windows ISO." Write-Win11ISOLog "ERROR: install.wim/install.esd not found not a valid Windows ISO."
[System.Windows.MessageBox]::Show( [System.Windows.MessageBox]::Show(
"This does not appear to be a valid Windows ISO.`n`ninstall.wim / install.esd was not found.", "This does not appear to be a valid Windows ISO.`n`ninstall.wim / install.esd was not found.",
"Invalid ISO", "OK", "Error") "Invalid ISO", "OK", "Error")
@@ -547,7 +547,7 @@ function Invoke-WinUtilISOCleanAndReset {
Log "Temp directory deleted successfully." Log "Temp directory deleted successfully."
} }
} else { } else {
Log "No temp directory found - resetting UI." Log "No temp directory found resetting UI."
} }
SetProgress "Resetting UI..." 95 SetProgress "Resetting UI..." 95
@@ -108,7 +108,7 @@ function Invoke-WinUtilISOScript {
} }
} }
# -- 1. Remove provisioned AppX packages ---------------------------------- # ── 1. Remove provisioned AppX packages ──────────────────────────────────
& $Log "Removing provisioned AppX packages..." & $Log "Removing provisioned AppX packages..."
$packages = & dism /English "/image:$ScratchDir" /Get-ProvisionedAppxPackages | $packages = & dism /English "/image:$ScratchDir" /Get-ProvisionedAppxPackages |
@@ -139,7 +139,7 @@ function Invoke-WinUtilISOScript {
$packages | Where-Object { $pkg = $_; $packagePrefixes | Where-Object { $pkg -like "*$_*" } } | $packages | Where-Object { $pkg = $_; $packagePrefixes | Where-Object { $pkg -like "*$_*" } } |
ForEach-Object { & dism /English "/image:$ScratchDir" /Remove-ProvisionedAppxPackage "/PackageName:$_" } ForEach-Object { & dism /English "/image:$ScratchDir" /Remove-ProvisionedAppxPackage "/PackageName:$_" }
# -- 2. Inject current system drivers (optional) --------------------------- # ── 2. Inject current system drivers (optional) ───────────────────────────
if ($InjectCurrentSystemDrivers) { if ($InjectCurrentSystemDrivers) {
& $Log "Exporting all drivers from running system..." & $Log "Exporting all drivers from running system..."
$driverExportRoot = Join-Path $env:TEMP "WinUtil_DriverExport_$(Get-Random)" $driverExportRoot = Join-Path $env:TEMP "WinUtil_DriverExport_$(Get-Random)"
@@ -157,7 +157,7 @@ function Invoke-WinUtilISOScript {
& $Log "Injecting current system drivers into boot.wim..." & $Log "Injecting current system drivers into boot.wim..."
Invoke-BootWimInject -BootWimPath $bootWim -DriverDir $driverExportRoot -Logger $Log Invoke-BootWimInject -BootWimPath $bootWim -DriverDir $driverExportRoot -Logger $Log
} else { } else {
& $Log "Warning: boot.wim not found - skipping boot.wim driver injection." & $Log "Warning: boot.wim not found skipping boot.wim driver injection."
} }
} }
} catch { } catch {
@@ -169,7 +169,7 @@ function Invoke-WinUtilISOScript {
& $Log "Driver injection skipped." & $Log "Driver injection skipped."
} }
# -- 3. Registry tweaks ---------------------------------------------------- # ── 3. Registry tweaks ────────────────────────────────────────────────────
& $Log "Loading offline registry hives..." & $Log "Loading offline registry hives..."
reg load HKLM\zCOMPONENTS "$ScratchDir\Windows\System32\config\COMPONENTS" reg load HKLM\zCOMPONENTS "$ScratchDir\Windows\System32\config\COMPONENTS"
reg load HKLM\zDEFAULT "$ScratchDir\Windows\System32\config\default" reg load HKLM\zDEFAULT "$ScratchDir\Windows\System32\config\default"
@@ -243,7 +243,7 @@ function Invoke-WinUtilISOScript {
& $Log "Pre-staged setup script: $relPath" & $Log "Pre-staged setup script: $relPath"
} }
} else { } else {
& $Log "Warning: no <Extensions><File> nodes found in autounattend.xml - setup scripts not pre-staged." & $Log "Warning: no <Extensions><File> nodes found in autounattend.xml setup scripts not pre-staged."
} }
} catch { } catch {
& $Log "Warning: could not pre-stage setup scripts from autounattend.xml: $_" & $Log "Warning: could not pre-stage setup scripts from autounattend.xml: $_"
@@ -255,7 +255,7 @@ function Invoke-WinUtilISOScript {
& $Log "Written autounattend.xml to ISO root ($isoDest)." & $Log "Written autounattend.xml to ISO root ($isoDest)."
} }
} else { } else {
& $Log "Warning: autounattend.xml content is empty - skipping OOBE bypass file." & $Log "Warning: autounattend.xml content is empty skipping OOBE bypass file."
} }
& $Log "Disabling reserved storage..." & $Log "Disabling reserved storage..."
@@ -323,7 +323,7 @@ function Invoke-WinUtilISOScript {
reg unload HKLM\zSOFTWARE reg unload HKLM\zSOFTWARE
reg unload HKLM\zSYSTEM reg unload HKLM\zSYSTEM
# -- 4. Delete scheduled task definition files ----------------------------- # ── 4. Delete scheduled task definition files ─────────────────────────────
& $Log "Deleting scheduled task definition files..." & $Log "Deleting scheduled task definition files..."
$tasksPath = "$ScratchDir\Windows\System32\Tasks" $tasksPath = "$ScratchDir\Windows\System32\Tasks"
Remove-Item "$tasksPath\Microsoft\Windows\Application Experience\Microsoft Compatibility Appraiser" -Force Remove-Item "$tasksPath\Microsoft\Windows\Application Experience\Microsoft Compatibility Appraiser" -Force
@@ -339,7 +339,7 @@ function Invoke-WinUtilISOScript {
Remove-Item "$tasksPath\Microsoft\WindowsUpdate" -Recurse -Force Remove-Item "$tasksPath\Microsoft\WindowsUpdate" -Recurse -Force
& $Log "Scheduled task files deleted." & $Log "Scheduled task files deleted."
# -- 5. Remove ISO support folder ----------------------------------------- # ── 5. Remove ISO support folder ─────────────────────────────────────────
if ($ISOContentsDir -and (Test-Path $ISOContentsDir)) { if ($ISOContentsDir -and (Test-Path $ISOContentsDir)) {
& $Log "Removing ISO support\ folder..." & $Log "Removing ISO support\ folder..."
Remove-Item -Path (Join-Path $ISOContentsDir "support") -Recurse -Force Remove-Item -Path (Join-Path $ISOContentsDir "support") -Recurse -Force
+1 -1
View File
@@ -50,7 +50,7 @@ function Reset-WPFCheckBoxes {
if($doToggles) { if($doToggles) {
# Restore toggle switch states from imported config. # Restore toggle switch states from imported config.
# Only act on toggles that are explicitly listed in the import - toggles absent # Only act on toggles that are explicitly listed in the import toggles absent
# from the export file were not part of the saved config and should keep whatever # from the export file were not part of the saved config and should keep whatever
# state the live system already has (set during UI initialisation via Get-WinUtilToggleStatus). # state the live system already has (set during UI initialisation via Get-WinUtilToggleStatus).
$importedToggles = $sync.selectedToggles $importedToggles = $sync.selectedToggles
@@ -14,6 +14,10 @@ function Set-WinUtilProgressbar{
[int]$Percent [int]$Percent
) )
if($PARAM_NOUI) {
return;
}
Invoke-WPFUIThread -ScriptBlock {$sync.progressBarTextBlock.Text = $label} Invoke-WPFUIThread -ScriptBlock {$sync.progressBarTextBlock.Text = $label}
Invoke-WPFUIThread -ScriptBlock {$sync.progressBarTextBlock.ToolTip = $label} Invoke-WPFUIThread -ScriptBlock {$sync.progressBarTextBlock.ToolTip = $label}
if ($percent -lt 5 ) { if ($percent -lt 5 ) {
+11
View File
@@ -92,6 +92,17 @@ function Invoke-WPFImpex {
$sync.selectedFeatures = [System.Collections.Generic.List[string]]::new() $sync.selectedFeatures = [System.Collections.Generic.List[string]]::new()
Update-WinUtilSelections -flatJson $flattenedJson Update-WinUtilSelections -flatJson $flattenedJson
if (!$PARAM_NOUI) {
# Set flag so toggle Checked/Unchecked events don't trigger registry writes
# while we're programmatically restoring UI state from the imported config
$sync.ImportInProgress = $true
try {
Reset-WPFCheckBoxes -doToggles $true
} finally {
$sync.ImportInProgress = $false
}
}
} }
} catch { } catch {
Write-Error "An error occurred while importing: $_" Write-Error "An error occurred while importing: $_"
+19 -1
View File
@@ -1,3 +1,21 @@
function Invoke-WPFUIThread ($ScriptBlock) { function Invoke-WPFUIThread {
<#
.SYNOPSIS
Creates and runs a task on Winutil's WPF Forms thread.
.PARAMETER ScriptBlock
The scriptblock to invoke in the thread
#>
[CmdletBinding()]
Param (
$ScriptBlock
)
if ($PARAM_NOUI) {
return;
}
$sync.form.Dispatcher.Invoke([action]$ScriptBlock) $sync.form.Dispatcher.Invoke([action]$ScriptBlock)
} }
@@ -82,6 +82,5 @@ function Invoke-WPFtweaksbutton {
Write-Host "=================================" Write-Host "================================="
Write-Host "-- Tweaks are Finished ---" Write-Host "-- Tweaks are Finished ---"
Write-Host "=================================" Write-Host "================================="
@($tweaks | Where-Object { $sync.configs.tweaks.$_.registry -or $sync.configs.tweaks.$_.service }) | ConvertTo-Json | Out-File "$env:LocalAppData\winutil\lastrun.json" -Force
} }
} }
+31 -17
View File
@@ -35,11 +35,13 @@ $maxthreads = [int]$env:NUMBER_OF_PROCESSORS
# Create a new session state for parsing variables into our runspace # Create a new session state for parsing variables into our runspace
$hashVars = New-object System.Management.Automation.Runspaces.SessionStateVariableEntry -ArgumentList 'sync',$sync,$Null $hashVars = New-object System.Management.Automation.Runspaces.SessionStateVariableEntry -ArgumentList 'sync',$sync,$Null
$uiVar = New-object System.Management.Automation.Runspaces.SessionStateVariableEntry -ArgumentList 'PARAM_NOUI',$PARAM_NOUI,$Null
$offlineVar = New-object System.Management.Automation.Runspaces.SessionStateVariableEntry -ArgumentList 'PARAM_OFFLINE',$PARAM_OFFLINE,$Null $offlineVar = New-object System.Management.Automation.Runspaces.SessionStateVariableEntry -ArgumentList 'PARAM_OFFLINE',$PARAM_OFFLINE,$Null
$InitialSessionState = [System.Management.Automation.Runspaces.InitialSessionState]::CreateDefault() $InitialSessionState = [System.Management.Automation.Runspaces.InitialSessionState]::CreateDefault()
# Add the variable to the session state # Add the variable to the session state
$InitialSessionState.Variables.Add($hashVars) $InitialSessionState.Variables.Add($hashVars)
$InitialSessionState.Variables.Add($uiVar)
$InitialSessionState.Variables.Add($offlineVar) $InitialSessionState.Variables.Add($offlineVar)
# Get every private function and add them to the session state # Get every private function and add them to the session state
@@ -89,6 +91,8 @@ $sync.configs.applications.PSObject.Properties | ForEach-Object {
Set-Preferences Set-Preferences
if ($Preset) { if ($Preset) {
Show-CTTLogo
# Selects the tweaks from $Preset varible # Selects the tweaks from $Preset varible
Update-WinUtilSelections -flatJson $sync.configs.preset.$Preset Update-WinUtilSelections -flatJson $sync.configs.preset.$Preset
@@ -103,17 +107,27 @@ if ($Preset) {
return return
} }
if ($Config) { if ($PARAM_NOUI) {
Invoke-WPFImpex -type "import" -Config $Config Show-CTTLogo
if ($PARAM_CONFIG -and -not [string]::IsNullOrWhiteSpace($PARAM_CONFIG)) {
Write-Host "Running config file tasks..."
Invoke-WPFImpex -type "import" -Config $PARAM_CONFIG
Invoke-WinUtilAutoRun
Invoke-WinUtilAutoRun $sync.runspace.Dispose()
$sync.runspace.Close()
# Cleanup and exit [System.GC]::Collect()
$sync.runspace.Dispose() Stop-Transcript
$sync.runspace.Close() exit 1
[System.GC]::Collect() }
Stop-Transcript else {
return Write-Host "Cannot automatically run without a config file provided."
$sync.runspace.Dispose()
$sync.runspace.Close()
[System.GC]::Collect()
Stop-Transcript
exit 1
}
} }
$inputXML = $inputXML -replace 'mc:Ignorable="d"', '' -replace "x:N", 'N' -replace '^<Win.*', '<Window' $inputXML = $inputXML -replace 'mc:Ignorable="d"', '' -replace "x:N", 'N' -replace '^<Win.*', '<Window'
@@ -386,16 +400,16 @@ $sync["Form"].Add_ContentRendered({
Invoke-WPFTab "WPFTab1BT" # Default to install tab Invoke-WPFTab "WPFTab1BT" # Default to install tab
} }
if (-not $Config -and (Test-Path "$winutildir\lastrun.json")) { $sync["Form"].Focus()
$drifted = @(Get-Content "$winutildir\lastrun.json" | ConvertFrom-Json | Where-Object { $_ -notin (Invoke-WinUtilCurrentSystem -CheckBox "tweaks") })
if ($drifted.Count -gt 0 -and [System.Windows.MessageBox]::Show("$($drifted.Count) tweak(s) were reverted since last run. Re-select them?", "Winutil", "YesNo", "Question") -eq "Yes") { if ($PARAM_CONFIG -and -not [string]::IsNullOrWhiteSpace($PARAM_CONFIG)) {
Update-WinUtilSelections -flatJson $drifted Write-Host "Running config file tasks..."
Reset-WPFCheckBoxes -doToggles $false Invoke-WPFImpex -type "import" -Config $PARAM_CONFIG
Invoke-WPFTab "WPFTab2BT" Invoke-WPFRunspace -ScriptBlock {
Invoke-WinUtilAutoRun
} }
} }
$sync["Form"].Focus()
}) })
# The SearchBarTimer is used to delay the search operation until the user has stopped typing for a short period # The SearchBarTimer is used to delay the search operation until the user has stopped typing for a short period
+11 -1
View File
@@ -8,11 +8,21 @@
param ( param (
[string]$Config, [string]$Config,
[ValidateSet("Standard", "Minimal", "Advanced", "")] [ValidateSet("Standard", "Minimal", "Advanced")]
[string]$Preset, [string]$Preset,
[switch]$Noui,
[switch]$Offline [switch]$Offline
) )
if ($Config) {
$PARAM_CONFIG = $Config
}
$PARAM_NOUI = $false
if ($Noui) {
$PARAM_NOUI = $true
}
$PARAM_OFFLINE = $false $PARAM_OFFLINE = $false
if ($Offline) { if ($Offline) {
$PARAM_OFFLINE = $true $PARAM_OFFLINE = $true