mirror of
https://github.com/ChrisTitusTech/winutil
synced 2026-04-06 06:38:31 +00:00
Compare commits
6 Commits
6df8ae900c
...
26.03.13
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a05034381d | ||
|
|
b1d4eb022c | ||
|
|
3dbd993cb4 | ||
|
|
ec17c085df | ||
|
|
7da4e78d4b | ||
|
|
1943b30ec9 |
22
.github/ISSUE_TEMPLATE/bug_report.yaml
vendored
22
.github/ISSUE_TEMPLATE/bug_report.yaml
vendored
@@ -6,20 +6,8 @@ body:
|
|||||||
- type: markdown
|
- type: markdown
|
||||||
attributes:
|
attributes:
|
||||||
value: |
|
value: |
|
||||||
## ⚠️ **IMPORTANT**
|
- Remember, we only support Windows 11. If you encounter problems on Windows 10, please consider upgrading to Windows 11.
|
||||||
- 🛠️ **Supported environments only:** We only support Windows 11.
|
- For general questions, join our Community-driven [Discord Server](https://discord.gg/RUbZUZyByQ).
|
||||||
- 💡 For general questions, use the [Discussions section](https://github.com/Christitustech/winutil/discussions) or join our Community-driven [Discord Server](https://discord.gg/RUbZUZyByQ).
|
|
||||||
|
|
||||||
- type: checkboxes
|
|
||||||
attributes:
|
|
||||||
label: ⚙️ Issue Checklist
|
|
||||||
options:
|
|
||||||
- label: I have read the guidelines.
|
|
||||||
- label: I checked for duplicate issues.
|
|
||||||
- label: I searched for existing discussions.
|
|
||||||
- label: I checked for an existing pull request that addresses this issue.
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
|
|
||||||
- type: dropdown
|
- type: dropdown
|
||||||
id: affected_part
|
id: affected_part
|
||||||
@@ -32,17 +20,17 @@ body:
|
|||||||
- Updates Tab
|
- Updates Tab
|
||||||
- Win11 Creator Tab
|
- Win11 Creator Tab
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: false
|
||||||
|
|
||||||
- type: textarea
|
- type: textarea
|
||||||
id: issue_description
|
id: issue_description
|
||||||
attributes:
|
attributes:
|
||||||
label: 📝 Provide a clear and concise description of the issue.
|
label: Provide a clear and concise description of the issue.
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
|
|
||||||
- type: textarea
|
- type: textarea
|
||||||
id: error_output
|
id: error_output
|
||||||
attributes:
|
attributes:
|
||||||
label: ❌ Paste the full error output (if available) or Screenshot.
|
label: Paste the full error output (if available) or Screenshot.
|
||||||
placeholder: "Include any relevant logs or error messages."
|
placeholder: "Include any relevant logs or error messages."
|
||||||
|
|||||||
@@ -88,9 +88,9 @@
|
|||||||
"link": "https://winutil.christitus.com/dev/tweaks/essential-tweaks/widget"
|
"link": "https://winutil.christitus.com/dev/tweaks/essential-tweaks/widget"
|
||||||
},
|
},
|
||||||
"WPFTweaksRevertStartMenu": {
|
"WPFTweaksRevertStartMenu": {
|
||||||
"Content": "Revert the new start menu",
|
"Content": "Revert Start Menu layout",
|
||||||
"Description": "Uses vivetool to revert to the original start menu from 24H2.",
|
"Description": "Bring back the old Start Menu layout from before the gradual rollout of the new one in 25H2.",
|
||||||
"category": "z__Advanced Tweaks - CAUTION",
|
"category": "Essential Tweaks",
|
||||||
"panel": "1",
|
"panel": "1",
|
||||||
"InvokeScript": [
|
"InvokeScript": [
|
||||||
"
|
"
|
||||||
@@ -120,7 +120,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/z--advanced-tweaks---caution/revertstartmenu"
|
"link": "https://winutil.christitus.com/dev/tweaks/essential-tweaks/revertstartmenu"
|
||||||
},
|
},
|
||||||
"WPFTweaksDisableStoreSearch": {
|
"WPFTweaksDisableStoreSearch": {
|
||||||
"Content": "Disable Microsoft Store search results",
|
"Content": "Disable Microsoft Store search results",
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
---
|
---
|
||||||
title: "Revert the new start menu"
|
title: "Revert Start Menu layout"
|
||||||
description: ""
|
description: ""
|
||||||
---
|
---
|
||||||
|
|
||||||
```json {filename="config/tweaks.json",linenos=inline,linenostart=90}
|
```json {filename="config/tweaks.json",linenos=inline,linenostart=90}
|
||||||
"WPFTweaksRevertStartMenu": {
|
"WPFTweaksRevertStartMenu": {
|
||||||
"Content": "Revert the new start menu",
|
"Content": "Revert Start Menu layout",
|
||||||
"Description": "Uses vivetool to revert to the original start menu from 24H2.",
|
"Description": "Bring back the old Start Menu layout from before the gradual rollout of the new one in 25H2.",
|
||||||
"category": "z__Advanced Tweaks - CAUTION",
|
"category": "Essential Tweaks",
|
||||||
"panel": "1",
|
"panel": "1",
|
||||||
"InvokeScript": [
|
"InvokeScript": [
|
||||||
"
|
"
|
||||||
@@ -49,8 +49,13 @@ function Invoke-WinUtilISOMountAndVerify {
|
|||||||
Set-WinUtilProgressBar -Label "Mounting ISO..." -Percent 10
|
Set-WinUtilProgressBar -Label "Mounting ISO..." -Percent 10
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$diskImage = Mount-DiskImage -ImagePath $isoPath -PassThru -ErrorAction Stop
|
Mount-DiskImage -ImagePath $isoPath -ErrorAction Stop | Out-Null
|
||||||
$driveLetter = ($diskImage | Get-Volume).DriveLetter + ":"
|
|
||||||
|
do {
|
||||||
|
Start-Sleep -Milliseconds 500
|
||||||
|
} until ((Get-DiskImage -ImagePath $isoPath | Get-Volume).DriveLetter)
|
||||||
|
|
||||||
|
$driveLetter = (Get-DiskImage -ImagePath $isoPath | Get-Volume).DriveLetter + ":"
|
||||||
Write-Win11ISOLog "Mounted at drive $driveLetter"
|
Write-Win11ISOLog "Mounted at drive $driveLetter"
|
||||||
|
|
||||||
Set-WinUtilProgressBar -Label "Verifying ISO contents..." -Percent 30
|
Set-WinUtilProgressBar -Label "Verifying ISO contents..." -Percent 30
|
||||||
@@ -144,6 +149,7 @@ function Invoke-WinUtilISOModify {
|
|||||||
Write-Win11ISOLog "Selected edition: $selectedEditionName (Index $selectedWimIndex)"
|
Write-Win11ISOLog "Selected edition: $selectedEditionName (Index $selectedWimIndex)"
|
||||||
|
|
||||||
$sync["WPFWin11ISOModifyButton"].IsEnabled = $false
|
$sync["WPFWin11ISOModifyButton"].IsEnabled = $false
|
||||||
|
$sync["Win11ISOModifying"] = $true
|
||||||
|
|
||||||
$existingWorkDir = Get-Item -Path (Join-Path $env:TEMP "WinUtil_Win11ISO*") -ErrorAction SilentlyContinue |
|
$existingWorkDir = Get-Item -Path (Join-Path $env:TEMP "WinUtil_Win11ISO*") -ErrorAction SilentlyContinue |
|
||||||
Where-Object { $_.PSIsContainer } | Sort-Object LastWriteTime -Descending | Select-Object -First 1
|
Where-Object { $_.PSIsContainer } | Sort-Object LastWriteTime -Descending | Select-Object -First 1
|
||||||
@@ -303,6 +309,7 @@ function Invoke-WinUtilISOModify {
|
|||||||
})
|
})
|
||||||
} finally {
|
} finally {
|
||||||
Start-Sleep -Milliseconds 800
|
Start-Sleep -Milliseconds 800
|
||||||
|
$sync["Win11ISOModifying"] = $false
|
||||||
$sync["WPFWin11ISOStatusLog"].Dispatcher.Invoke([action]{
|
$sync["WPFWin11ISOStatusLog"].Dispatcher.Invoke([action]{
|
||||||
$sync.progressBarTextBlock.Text = ""
|
$sync.progressBarTextBlock.Text = ""
|
||||||
$sync.progressBarTextBlock.ToolTip = ""
|
$sync.progressBarTextBlock.ToolTip = ""
|
||||||
@@ -323,6 +330,11 @@ function Invoke-WinUtilISOModify {
|
|||||||
function Invoke-WinUtilISOCheckExistingWork {
|
function Invoke-WinUtilISOCheckExistingWork {
|
||||||
if ($sync["Win11ISOContentsDir"] -and (Test-Path $sync["Win11ISOContentsDir"])) { return }
|
if ($sync["Win11ISOContentsDir"] -and (Test-Path $sync["Win11ISOContentsDir"])) { return }
|
||||||
|
|
||||||
|
# Check if ISO modification is currently in progress
|
||||||
|
if ($sync["Win11ISOModifying"]) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
$existingWorkDir = Get-Item -Path (Join-Path $env:TEMP "WinUtil_Win11ISO*") -ErrorAction SilentlyContinue |
|
$existingWorkDir = Get-Item -Path (Join-Path $env:TEMP "WinUtil_Win11ISO*") -ErrorAction SilentlyContinue |
|
||||||
Where-Object { $_.PSIsContainer } | Sort-Object LastWriteTime -Descending | Select-Object -First 1
|
Where-Object { $_.PSIsContainer } | Sort-Object LastWriteTime -Descending | Select-Object -First 1
|
||||||
|
|
||||||
|
|||||||
@@ -333,27 +333,7 @@ $scripts = @(
|
|||||||
reg.exe add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v Start_TrackDocs /t REG_DWORD /d 0 /f;
|
reg.exe add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v Start_TrackDocs /t REG_DWORD /d 0 /f;
|
||||||
};
|
};
|
||||||
{
|
{
|
||||||
Add-Type -TypeDefinition @"
|
Restart-Computer -Force;
|
||||||
using System;
|
|
||||||
using System.Runtime.InteropServices;
|
|
||||||
public class Win32Broadcast {
|
|
||||||
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]
|
|
||||||
public static extern IntPtr SendMessageTimeout(
|
|
||||||
IntPtr hWnd,
|
|
||||||
uint Msg,
|
|
||||||
IntPtr wParam,
|
|
||||||
string lParam,
|
|
||||||
uint fuFlags,
|
|
||||||
uint uTimeout,
|
|
||||||
out IntPtr lpdwResult);
|
|
||||||
}
|
|
||||||
"@;
|
|
||||||
[Win32Broadcast]::SendMessageTimeout( [IntPtr]0xffff, 0x1A, [IntPtr]::Zero, 'ImmersiveColorSet', 0x2, 100, [ref]([IntPtr]::Zero) );
|
|
||||||
};
|
|
||||||
{
|
|
||||||
Get-Process -Name 'explorer' -ErrorAction 'SilentlyContinue' | Where-Object -FilterScript {
|
|
||||||
$_.SessionId -eq ( Get-Process -Id $PID ).SessionId;
|
|
||||||
} | Stop-Process -Force;
|
|
||||||
};
|
};
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -434,15 +414,13 @@ $scripts = @(
|
|||||||
</File>
|
</File>
|
||||||
<File path="C:\Windows\Setup\Scripts\FirstLogon.ps1">
|
<File path="C:\Windows\Setup\Scripts\FirstLogon.ps1">
|
||||||
$scripts = @(
|
$scripts = @(
|
||||||
{
|
|
||||||
cmd.exe /c "rmdir C:\Windows.old";
|
|
||||||
};
|
|
||||||
{
|
{
|
||||||
Remove-Item -LiteralPath @(
|
Remove-Item -LiteralPath @(
|
||||||
'C:\Windows\Panther\unattend.xml';
|
'C:\Windows\Panther\unattend.xml';
|
||||||
'C:\Windows\Panther\unattend-original.xml';
|
'C:\Windows\Panther\unattend-original.xml';
|
||||||
'C:\Windows\Setup\Scripts\Wifi.xml';
|
'C:\Windows\Setup\Scripts\Wifi.xml';
|
||||||
) -Force -ErrorAction 'SilentlyContinue' -Verbose;
|
'C:\Windows.old';
|
||||||
|
) -Recurse -Force -ErrorAction 'SilentlyContinue';
|
||||||
};
|
};
|
||||||
{
|
{
|
||||||
reg.exe delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoUpdate /f;
|
reg.exe delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoUpdate /f;
|
||||||
@@ -457,6 +435,14 @@ $scripts = @(
|
|||||||
reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\UsoSvc" /v Start /t REG_DWORD /d 2 /f;
|
reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\UsoSvc" /v Start /t REG_DWORD /d 2 /f;
|
||||||
reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\WaaSMedicSvc" /v Start /t REG_DWORD /d 3 /f;
|
reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\WaaSMedicSvc" /v Start /t REG_DWORD /d 3 /f;
|
||||||
};
|
};
|
||||||
|
{
|
||||||
|
reg.exe add "HKLM\SOFTWARE\Microsoft\PolicyManager\current\device\Education" /f;
|
||||||
|
reg.exe add "HKLM\SOFTWARE\Microsoft\PolicyManager\current\device\Start" /f;
|
||||||
|
reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Explorer" /f;
|
||||||
|
reg.exe add "HKLM\SOFTWARE\Microsoft\PolicyManager\current\device\Education" /v IsEducationEnvironment /t REG_DWORD /d 1 /f;
|
||||||
|
reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Explorer" /v HideRecommendedSection /t REG_DWORD /d 1 /f;
|
||||||
|
reg.exe add "HKLM\SOFTWARE\Microsoft\PolicyManager\current\device\Start" /v HideRecommendedSection /t REG_DWORD /d 1 /f;
|
||||||
|
};
|
||||||
{
|
{
|
||||||
$recallFeature = Get-WindowsOptionalFeature -Online -ErrorAction SilentlyContinue | Where-Object { $_.State -eq 'Enabled' -and $_.FeatureName -like 'Recall' };
|
$recallFeature = Get-WindowsOptionalFeature -Online -ErrorAction SilentlyContinue | Where-Object { $_.State -eq 'Enabled' -and $_.FeatureName -like 'Recall' };
|
||||||
if( $recallFeature ) {
|
if( $recallFeature ) {
|
||||||
@@ -464,15 +450,13 @@ $scripts = @(
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
{
|
{
|
||||||
try {
|
$viveDir = Join-Path $env:TEMP 'ViVeTool';
|
||||||
$viveDir = Join-Path $env:TEMP 'ViVeTool';
|
$viveZip = Join-Path $env:TEMP 'ViVeTool.zip';
|
||||||
$viveZip = Join-Path $env:TEMP 'ViVeTool.zip';
|
Invoke-WebRequest 'https://github.com/thebookisclosed/ViVe/releases/download/v0.3.4/ViVeTool-v0.3.4-IntelAmd.zip' -OutFile $viveZip;
|
||||||
Invoke-WebRequest 'https://github.com/thebookisclosed/ViVe/releases/download/v0.3.4/ViVeTool-v0.3.4-IntelAmd.zip' -OutFile $viveZip;
|
Expand-Archive -Path $viveZip -DestinationPath $viveDir -Force;
|
||||||
Expand-Archive -Path $viveZip -DestinationPath $viveDir -Force;
|
Remove-Item -Path $viveZip -Force;
|
||||||
Remove-Item -Path $viveZip -Force;
|
Start-Process -FilePath (Join-Path $viveDir 'ViVeTool.exe') -ArgumentList '/disable /id:47205210' -Wait -NoNewWindow;
|
||||||
Start-Process -FilePath (Join-Path $viveDir 'ViVeTool.exe') -ArgumentList '/disable /id:47205210' -Wait -NoNewWindow;
|
Remove-Item -Path $viveDir -Recurse -Force;
|
||||||
Remove-Item -Path $viveDir -Recurse -Force;
|
|
||||||
} catch {}
|
|
||||||
};
|
};
|
||||||
{
|
{
|
||||||
if( (Get-BitLockerVolume -MountPoint $Env:SystemDrive).ProtectionStatus -eq 'On' ) {
|
if( (Get-BitLockerVolume -MountPoint $Env:SystemDrive).ProtectionStatus -eq 'On' ) {
|
||||||
|
|||||||
Reference in New Issue
Block a user