mirror of
https://github.com/ChrisTitusTech/winutil
synced 2026-02-06 16:00:10 +00:00
Compare commits
23 Commits
25.11.17
...
3cb0a4b664
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3cb0a4b664 | ||
|
|
e9b40ae710 | ||
|
|
408327daec | ||
|
|
7f7424406f | ||
|
|
ccc44414a2 | ||
|
|
06ea48dd01 | ||
|
|
5a6b1ef086 | ||
|
|
aba3d786bc | ||
|
|
7765c1032b | ||
|
|
015f1b0709 | ||
|
|
19b6f8abfa | ||
|
|
80e872aa60 | ||
|
|
cfaf139a6a | ||
|
|
becfba603d | ||
|
|
2b68976e7b | ||
|
|
5369d9d99b | ||
|
|
8b3e1280df | ||
|
|
ce77be324b | ||
|
|
6168e93d4c | ||
|
|
d98118e322 | ||
|
|
f69f107d9d | ||
|
|
f3c3613d26 | ||
|
|
b265675560 |
@@ -9,7 +9,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Check if PR was merged
|
||||
if: github.event.pull_request.merged == true
|
||||
|
||||
2
.github/workflows/compile-check.yaml
vendored
2
.github/workflows/compile-check.yaml
vendored
@@ -13,7 +13,7 @@ jobs:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- name: Checkout Sources
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Compile and Syntaxcheck winutil.ps1
|
||||
shell: pwsh
|
||||
|
||||
2
.github/workflows/pre-release.yaml
vendored
2
.github/workflows/pre-release.yaml
vendored
@@ -14,7 +14,7 @@ jobs:
|
||||
CERTIFICATE_BASE64: ${{ secrets.CERTIFICATE_BASE64 }}
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Compile project
|
||||
shell: pwsh
|
||||
|
||||
2
.github/workflows/remove-winutil.yaml
vendored
2
.github/workflows/remove-winutil.yaml
vendored
@@ -11,7 +11,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Check if winutil.ps1 exists
|
||||
id: check_existence
|
||||
|
||||
2
.github/workflows/sponsors.yaml
vendored
2
.github/workflows/sponsors.yaml
vendored
@@ -11,7 +11,7 @@ jobs:
|
||||
if: (github.event_name == 'schedule' && github.repository == 'ChrisTitusTech/winutil') || (github.event_name != 'schedule')
|
||||
steps:
|
||||
- name: Checkout 🛎️
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Generate Sponsors 💖
|
||||
uses: JamesIves/github-sponsors-readme-action@v1
|
||||
|
||||
4
.github/workflows/unittests.yaml
vendored
4
.github/workflows/unittests.yaml
vendored
@@ -8,7 +8,7 @@ jobs:
|
||||
name: PS Script Analyzer
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v6
|
||||
- name: lint
|
||||
uses: devblackops/github-action-psscriptanalyzer@master
|
||||
with:
|
||||
@@ -22,7 +22,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Install Pester
|
||||
run: |
|
||||
|
||||
@@ -35,7 +35,7 @@ irm "https://christitus.com/win" | iex
|
||||
irm "https://christitus.com/windev" | iex
|
||||
```
|
||||
|
||||
If you have Issues, refer to [Known Issues](https://winutil.christitus.com/knownissues/)
|
||||
If you have Issues, refer to [Known Issues](https://winutil.christitus.com/knownissues/) or [Create Issue](https://github.com/ChrisTitusTech/winutil/issues)
|
||||
|
||||
## 🎓 Documentation
|
||||
|
||||
@@ -79,7 +79,7 @@ You'll see a new file named `winutil.ps1`, which's created by `Compile.ps1` scri
|
||||
|
||||
These are the sponsors that help keep this project alive with monthly contributions.
|
||||
|
||||
<!-- sponsors --><a href="https://github.com/markamos"><img src="https://github.com/markamos.png" width="60px" alt="User avatar: Mark Amos" /></a><a href="https://github.com/dwelfusius"><img src="https://github.com/dwelfusius.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/mews-se"><img src="https://github.com/mews-se.png" width="60px" alt="User avatar: Martin Stockzell" /></a><a href="https://github.com/jdiegmueller"><img src="https://github.com/jdiegmueller.png" width="60px" alt="User avatar: Jason A. Diegmueller" /></a><a href="https://github.com/robertsandrock"><img src="https://github.com/robertsandrock.png" width="60px" alt="User avatar: RMS" /></a><a href="https://github.com/KenichiQaz"><img src="https://github.com/KenichiQaz.png" width="60px" alt="User avatar: Stefan" /></a><a href="https://github.com/paulsheets"><img src="https://github.com/paulsheets.png" width="60px" alt="User avatar: Paul" /></a><a href="https://github.com/djones369"><img src="https://github.com/djones369.png" width="60px" alt="User avatar: Dave J (WhamGeek)" /></a><a href="https://github.com/anthonymendez"><img src="https://github.com/anthonymendez.png" width="60px" alt="User avatar: Anthony Mendez" /></a><a href="https://github.com/FatBastard0"><img src="https://github.com/FatBastard0.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/DursleyGuy"><img src="https://github.com/DursleyGuy.png" width="60px" alt="User avatar: DursleyGuy" /></a><a href="https://github.com/realmuddy"><img src="https://github.com/realmuddy.png" width="60px" alt="User avatar: Phillip Waters" /></a><a href="https://github.com/quaszi"><img src="https://github.com/quaszi.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/DwayneTheRockLobster1"><img src="https://github.com/DwayneTheRockLobster1.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/KieraKujisawa"><img src="https://github.com/KieraKujisawa.png" width="60px" alt="User avatar: Kiera Meredith" /></a><a href="https://github.com/novello-dev"><img src="https://github.com/novello-dev.png" width="60px" alt="User avatar: João Pedro Novello" /></a><!-- sponsors -->
|
||||
<!-- sponsors --><a href="https://github.com/markamos"><img src="https://github.com/markamos.png" width="60px" alt="User avatar: Mark Amos" /></a><a href="https://github.com/dwelfusius"><img src="https://github.com/dwelfusius.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/mews-se"><img src="https://github.com/mews-se.png" width="60px" alt="User avatar: Martin Stockzell" /></a><a href="https://github.com/jdiegmueller"><img src="https://github.com/jdiegmueller.png" width="60px" alt="User avatar: Jason A. Diegmueller" /></a><a href="https://github.com/robertsandrock"><img src="https://github.com/robertsandrock.png" width="60px" alt="User avatar: RMS" /></a><a href="https://github.com/KenichiQaz"><img src="https://github.com/KenichiQaz.png" width="60px" alt="User avatar: Stefan" /></a><a href="https://github.com/paulsheets"><img src="https://github.com/paulsheets.png" width="60px" alt="User avatar: Paul" /></a><a href="https://github.com/djones369"><img src="https://github.com/djones369.png" width="60px" alt="User avatar: Dave J (WhamGeek)" /></a><a href="https://github.com/anthonymendez"><img src="https://github.com/anthonymendez.png" width="60px" alt="User avatar: Anthony Mendez" /></a><a href="https://github.com/FatBastard0"><img src="https://github.com/FatBastard0.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/DursleyGuy"><img src="https://github.com/DursleyGuy.png" width="60px" alt="User avatar: DursleyGuy" /></a><a href="https://github.com/realmuddy"><img src="https://github.com/realmuddy.png" width="60px" alt="User avatar: Phillip Waters" /></a><a href="https://github.com/quaszi"><img src="https://github.com/quaszi.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/DwayneTheRockLobster1"><img src="https://github.com/DwayneTheRockLobster1.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/KieraKujisawa"><img src="https://github.com/KieraKujisawa.png" width="60px" alt="User avatar: Kiera Meredith" /></a><a href="https://github.com/novello-dev"><img src="https://github.com/novello-dev.png" width="60px" alt="User avatar: João Pedro Novello" /></a><a href="https://github.com/IsaacThoman"><img src="https://github.com/IsaacThoman.png" width="60px" alt="User avatar: Isaac Thoman" /></a><!-- sponsors -->
|
||||
|
||||
## 🏅 Thanks to all Contributors
|
||||
Thanks a lot for spending your time helping Winutil grow. Thanks a lot! Keep rocking 🍻.
|
||||
|
||||
@@ -1000,6 +1000,14 @@
|
||||
"link": "https://aws.amazon.com/corretto",
|
||||
"winget": "Amazon.Corretto.21.JDK"
|
||||
},
|
||||
"java25": {
|
||||
"category": "Development",
|
||||
"choco": "corretto25jdk",
|
||||
"content": "Amazon Corretto 25 (LTS)",
|
||||
"description": "Amazon Corretto is a no-cost, multiplatform, production-ready distribution of the Open Java Development Kit (OpenJDK).",
|
||||
"link": "https://aws.amazon.com/corretto",
|
||||
"winget": "Amazon.Corretto.25.JDK"
|
||||
},
|
||||
"jdownloader": {
|
||||
"category": "Utilities",
|
||||
"choco": "jdownloader",
|
||||
@@ -2927,5 +2935,13 @@
|
||||
"description": "The modern, privacy-focused, performance-driven browser built on Firefox",
|
||||
"link": "https://zen-browser.app/",
|
||||
"winget": "Zen-Team.Zen-Browser"
|
||||
},
|
||||
"Zed": {
|
||||
"category": "Development",
|
||||
"choco": "na",
|
||||
"content": "Zed",
|
||||
"description": "Zed is a modern, high-performance code editor designed from the ground up for speed and collaboration.",
|
||||
"link": "https://zed.dev/",
|
||||
"winget": "Zed.Zed"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
"WPFTweaksDVR",
|
||||
"WPFTweaksLoc",
|
||||
"WPFTweaksServices",
|
||||
"WPFTweaksStorage",
|
||||
"WPFTweaksTele",
|
||||
"WPFTweaksWifi",
|
||||
"WPFTweaksDiskCleanup",
|
||||
|
||||
@@ -85,25 +85,25 @@
|
||||
"InvokeScript": [
|
||||
"
|
||||
Write-Host \"Turn on Hibernation\"
|
||||
Start-Process -FilePath powercfg -ArgumentList \"/hibernate on\" -NoNewWindow -Wait
|
||||
powercfg.exe /hibernate on
|
||||
|
||||
# Set hibernation as the default action
|
||||
Start-Process -FilePath powercfg -ArgumentList \"/change standby-timeout-ac 60\" -NoNewWindow -Wait
|
||||
Start-Process -FilePath powercfg -ArgumentList \"/change standby-timeout-dc 60\" -NoNewWindow -Wait
|
||||
Start-Process -FilePath powercfg -ArgumentList \"/change monitor-timeout-ac 10\" -NoNewWindow -Wait
|
||||
Start-Process -FilePath powercfg -ArgumentList \"/change monitor-timeout-dc 1\" -NoNewWindow -Wait
|
||||
powercfg.exe \"/change standby-timeout-ac 60\"
|
||||
powercfg.exe \"/change standby-timeout-dc 60\"
|
||||
powercfg.exe \"/change monitor-timeout-ac 10\"
|
||||
powercfg.exe \"/change monitor-timeout-dc 1\"
|
||||
"
|
||||
],
|
||||
"UndoScript": [
|
||||
"
|
||||
Write-Host \"Turn off Hibernation\"
|
||||
Start-Process -FilePath powercfg -ArgumentList \"/hibernate off\" -NoNewWindow -Wait
|
||||
powercfg.exe /hibernate off
|
||||
|
||||
# Set standby to default values
|
||||
Start-Process -FilePath powercfg -ArgumentList \"/change standby-timeout-ac 15\" -NoNewWindow -Wait
|
||||
Start-Process -FilePath powercfg -ArgumentList \"/change standby-timeout-dc 15\" -NoNewWindow -Wait
|
||||
Start-Process -FilePath powercfg -ArgumentList \"/change monitor-timeout-ac 15\" -NoNewWindow -Wait
|
||||
Start-Process -FilePath powercfg -ArgumentList \"/change monitor-timeout-dc 15\" -NoNewWindow -Wait
|
||||
powercfg.exe \"/change standby-timeout-ac 15\"
|
||||
powercfg.exe \"/change standby-timeout-dc 15\"
|
||||
powercfg.exe \"/change monitor-timeout-ac 15\"
|
||||
powercfg.exe \"/change monitor-timeout-dc 15\"
|
||||
"
|
||||
],
|
||||
"link": "https://winutil.christitus.com/dev/tweaks/essential-tweaks/laptophibernation"
|
||||
@@ -1673,13 +1673,6 @@
|
||||
"Value": "0",
|
||||
"OriginalValue": "<RemoveEntry>"
|
||||
},
|
||||
{
|
||||
"Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge",
|
||||
"Name": "CryptoWalletEnabled",
|
||||
"Type": "DWord",
|
||||
"Value": "0",
|
||||
"OriginalValue": "<RemoveEntry>"
|
||||
},
|
||||
{
|
||||
"Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge",
|
||||
"Name": "WalletDonationEnabled",
|
||||
@@ -2097,7 +2090,7 @@
|
||||
},
|
||||
"WPFTweaksDisableEdge": {
|
||||
"Content": "Disable Edge",
|
||||
"Description": "Disables Microsoft Edge via the registry and prevents scheduled tasks from running Edge updates.",
|
||||
"Description": "Prevent msedge.exe from running with explorer policies.",
|
||||
"category": "z__Advanced Tweaks - CAUTION",
|
||||
"panel": "1",
|
||||
"Order": "a023_",
|
||||
@@ -2119,6 +2112,47 @@
|
||||
],
|
||||
"link": ""
|
||||
},
|
||||
"WPFTweaksMakeEdgeUninstallable": {
|
||||
"Content": "Make Edge Uninstallable via settings",
|
||||
"Description": "Makes it so you can uninstall edge via settings > installed apps",
|
||||
"category": "z__Advanced Tweaks - CAUTION",
|
||||
"panel": "1",
|
||||
"Order": "a023_",
|
||||
"registry": [
|
||||
{
|
||||
"Path": "HKLM:\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Microsoft Edge",
|
||||
"Name": "NoRemove",
|
||||
"Type": "Dword",
|
||||
"Value": "0",
|
||||
"OriginalValue": "1"
|
||||
}
|
||||
],
|
||||
"InvokeScript": [
|
||||
"
|
||||
$File = \"C:\\Windows\\System32\\IntegratedServicesRegionPolicySet.json\"
|
||||
|
||||
takeown /f $File
|
||||
icacls $File /grant \"Administrators:(F)\"
|
||||
|
||||
$FileContent = Get-Content $File
|
||||
$FileContent[7] = $FileContent[7] -replace \"disabled\", \"enabled\"
|
||||
Set-Content $File $FileContent
|
||||
"
|
||||
],
|
||||
"UndoScript": [
|
||||
"
|
||||
$File = \"C:\\Windows\\System32\\IntegratedServicesRegionPolicySet.json\"
|
||||
|
||||
takeown /f $File
|
||||
icacls $File /grant \"Administrators:(F)\"
|
||||
|
||||
$FileContent = Get-Content $File
|
||||
$FileContent[7] = $FileContent[7] -replace \"enabled\", \"disabled\"
|
||||
Set-Content $File $FileContent
|
||||
"
|
||||
],
|
||||
"link": ""
|
||||
},
|
||||
"WPFTweaksUTC": {
|
||||
"Content": "Set Time to UTC (Dual Boot)",
|
||||
"Description": "Essential for computers that are dual booting. Fixes the time sync with Linux Systems.",
|
||||
@@ -2144,14 +2178,14 @@
|
||||
"Order": "a029_",
|
||||
"InvokeScript": [
|
||||
"
|
||||
REG DELETE \"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Desktop\\NameSpace\\{f874310e-b6b7-47dc-bc84-b9e6b38f5903}\" /f
|
||||
REG ADD \"HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced\" /f /v \"LaunchTo\" /t REG_DWORD /d \"1\"
|
||||
Remove-Item \"HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Desktop\\NameSpace\\{f874310e-b6b7-47dc-bc84-b9e6b38f5903}\"
|
||||
Set-ItemProperty -Path \"HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced\" -Name LaunchTo -Value 1
|
||||
"
|
||||
],
|
||||
"UndoScript": [
|
||||
"
|
||||
REG ADD \"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Desktop\\NameSpace\\{f874310e-b6b7-47dc-bc84-b9e6b38f5903}\" /f /ve /t REG_SZ /d \"CLSID_MSGraphHomeFolder\"
|
||||
REG DELETE \"HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced\" /f /v \"LaunchTo\"
|
||||
New-Item \"HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Desktop\\NameSpace\\{f874310e-b6b7-47dc-bc84-b9e6b38f5903}\"
|
||||
Set-ItemProperty -Path \"HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced\" -Name LaunchTo -Value 0
|
||||
"
|
||||
],
|
||||
"link": "https://winutil.christitus.com/dev/tweaks/z--advanced-tweaks---caution/removehomegallery"
|
||||
@@ -2164,14 +2198,12 @@
|
||||
"Order": "a030_",
|
||||
"InvokeScript": [
|
||||
"
|
||||
REG DELETE \"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Desktop\\NameSpace\\{e88865ea-0e1c-4e20-9aa6-edcd0212c87c}\" /f
|
||||
REG ADD \"HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced\" /f /v \"LaunchTo\" /t REG_DWORD /d \"1\"
|
||||
Remove-Item \"HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Desktop\\NameSpace\\{e88865ea-0e1c-4e20-9aa6-edcd0212c87c}\"
|
||||
"
|
||||
],
|
||||
"UndoScript": [
|
||||
"
|
||||
REG ADD \"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Desktop\\NameSpace\\{e88865ea-0e1c-4e20-9aa6-edcd0212c87c}\" /f /ve /t REG_SZ /d \"{e88865ea-0e1c-4e20-9aa6-edcd0212c87c}\"
|
||||
REG DELETE \"HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced\" /f /v \"LaunchTo\"
|
||||
New-Item \"HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Desktop\\NameSpace\\{e88865ea-0e1c-4e20-9aa6-edcd0212c87c}\"
|
||||
"
|
||||
],
|
||||
"link": "https://winutil.christitus.com/dev/tweaks/z--advanced-tweaks---caution/removehomegallery"
|
||||
@@ -2328,6 +2360,7 @@
|
||||
"Microsoft.ZuneMusic",
|
||||
"Microsoft.ZuneVideo",
|
||||
"Microsoft.MicrosoftOfficeHub",
|
||||
"MsTeams",
|
||||
"*EclipseManager*",
|
||||
"*ActiproSoftwareLLC*",
|
||||
"*AdobeSystemsIncorporated.AdobePhotoshopExpress*",
|
||||
@@ -2357,38 +2390,15 @@
|
||||
],
|
||||
"InvokeScript": [
|
||||
"
|
||||
$TeamsPath = [System.IO.Path]::Combine($env:LOCALAPPDATA, 'Microsoft', 'Teams')
|
||||
$TeamsUpdateExePath = [System.IO.Path]::Combine($TeamsPath, 'Update.exe')
|
||||
$TeamsPath = \"$Env:LocalAppData\\Microsoft\\Teams\\Update.exe\"
|
||||
|
||||
Write-Host \"Stopping Teams process...\"
|
||||
Stop-Process -Name \"*teams*\" -Force -ErrorAction SilentlyContinue
|
||||
|
||||
Write-Host \"Uninstalling Teams from AppData\\Microsoft\\Teams\"
|
||||
if ([System.IO.File]::Exists($TeamsUpdateExePath)) {
|
||||
# Uninstall app
|
||||
$proc = Start-Process $TeamsUpdateExePath \"-uninstall -s\" -PassThru
|
||||
$proc.WaitForExit()
|
||||
}
|
||||
|
||||
Write-Host \"Removing Teams AppxPackage...\"
|
||||
Get-AppxPackage \"*Teams*\" | Remove-AppxPackage -ErrorAction SilentlyContinue
|
||||
Get-AppxPackage \"*Teams*\" -AllUsers | Remove-AppxPackage -AllUsers -ErrorAction SilentlyContinue
|
||||
if (Test-Path $TeamsPath) {
|
||||
Write-Host \"Uninstalling Teams\"
|
||||
Start-Process $TeamsPath -ArgumentList -uninstall -wait
|
||||
|
||||
Write-Host \"Deleting Teams directory\"
|
||||
if ([System.IO.Directory]::Exists($TeamsPath)) {
|
||||
Remove-Item $TeamsPath -Force -Recurse -ErrorAction SilentlyContinue
|
||||
}
|
||||
|
||||
Write-Host \"Deleting Teams uninstall registry key\"
|
||||
# Uninstall from Uninstall registry key UninstallString
|
||||
$us = (Get-ChildItem -Path HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall, HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall | Get-ItemProperty | Where-Object { $_.DisplayName -like '*Teams*'}).UninstallString
|
||||
if ($us.Length -gt 0) {
|
||||
$us = ($us.Replace('/I', '/uninstall ') + ' /quiet').Replace(' ', ' ')
|
||||
$FilePath = ($us.Substring(0, $us.IndexOf('.exe') + 4).Trim())
|
||||
$ProcessArgs = ($us.Substring($us.IndexOf('.exe') + 5).Trim().replace(' ', ' '))
|
||||
$proc = Start-Process -FilePath $FilePath -Args $ProcessArgs -PassThru
|
||||
$proc.WaitForExit()
|
||||
}
|
||||
Remove-Item $TeamsPath -Recurse -Force
|
||||
}
|
||||
"
|
||||
],
|
||||
"link": "https://winutil.christitus.com/dev/tweaks/z--advanced-tweaks---caution/debloat"
|
||||
@@ -2492,9 +2502,9 @@
|
||||
"WPFTweaksStorage": {
|
||||
"Content": "Disable Storage Sense",
|
||||
"Description": "Storage Sense deletes temp files automatically.",
|
||||
"category": "Essential Tweaks",
|
||||
"category": "z__Advanced Tweaks - CAUTION",
|
||||
"panel": "1",
|
||||
"Order": "a005_",
|
||||
"Order": "a025_",
|
||||
"registry": [
|
||||
{
|
||||
"Path": "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\StorageSense\\Parameters\\StoragePolicy",
|
||||
@@ -2632,65 +2642,7 @@
|
||||
],
|
||||
"link": "https://winutil.christitus.com/dev/tweaks/essential-tweaks/disablerecall"
|
||||
},
|
||||
"WPFTweaksDisableLMS1": {
|
||||
"Content": "Disable Intel MM (vPro LMS)",
|
||||
"Description": "Intel LMS service is always listening on all ports and could be a huge security risk. There is no need to run LMS on home machines and even in the Enterprise there are better solutions.",
|
||||
"category": "z__Advanced Tweaks - CAUTION",
|
||||
"panel": "1",
|
||||
"Order": "a026_",
|
||||
"InvokeScript": [
|
||||
"
|
||||
Write-Host \"Kill LMS\"
|
||||
$serviceName = \"LMS\"
|
||||
Write-Host \"Stopping and disabling service: $serviceName\"
|
||||
Stop-Service -Name $serviceName -Force -ErrorAction SilentlyContinue;
|
||||
Set-Service -Name $serviceName -StartupType Disabled -ErrorAction SilentlyContinue;
|
||||
|
||||
Write-Host \"Removing service: $serviceName\";
|
||||
sc.exe delete $serviceName;
|
||||
|
||||
Write-Host \"Removing LMS driver packages\";
|
||||
$lmsDriverPackages = Get-ChildItem -Path \"C:\\Windows\\System32\\DriverStore\\FileRepository\" -Recurse -Filter \"lms.inf*\";
|
||||
foreach ($package in $lmsDriverPackages) {
|
||||
Write-Host \"Removing driver package: $($package.Name)\";
|
||||
pnputil /delete-driver $($package.Name) /uninstall /force;
|
||||
}
|
||||
if ($lmsDriverPackages.Count -eq 0) {
|
||||
Write-Host \"No LMS driver packages found in the driver store.\";
|
||||
} else {
|
||||
Write-Host \"All found LMS driver packages have been removed.\";
|
||||
}
|
||||
|
||||
Write-Host \"Searching and deleting LMS executable files\";
|
||||
$programFilesDirs = @(\"C:\\Program Files\", \"C:\\Program Files (x86)\");
|
||||
$lmsFiles = @();
|
||||
foreach ($dir in $programFilesDirs) {
|
||||
$lmsFiles += Get-ChildItem -Path $dir -Recurse -Filter \"LMS.exe\" -ErrorAction SilentlyContinue;
|
||||
}
|
||||
foreach ($file in $lmsFiles) {
|
||||
Write-Host \"Taking ownership of file: $($file.FullName)\";
|
||||
& icacls $($file.FullName) /grant Administrators:F /T /C /Q;
|
||||
& takeown /F $($file.FullName) /A /R /D Y;
|
||||
Write-Host \"Deleting file: $($file.FullName)\";
|
||||
Remove-Item $($file.FullName) -Force -ErrorAction SilentlyContinue;
|
||||
}
|
||||
if ($lmsFiles.Count -eq 0) {
|
||||
Write-Host \"No LMS.exe files found in Program Files directories.\";
|
||||
} else {
|
||||
Write-Host \"All found LMS.exe files have been deleted.\";
|
||||
}
|
||||
Write-Host 'Intel LMS vPro service has been disabled, removed, and blocked.';
|
||||
"
|
||||
],
|
||||
"UndoScript": [
|
||||
"
|
||||
Write-Host \"LMS vPro needs to be redownloaded from intel.com\"
|
||||
|
||||
"
|
||||
],
|
||||
"link": "https://winutil.christitus.com/dev/tweaks/z--advanced-tweaks---caution/disablelms1"
|
||||
},
|
||||
"WPFTweaksDisableWpbtExecution": {
|
||||
"WPFTweaksWPBT": {
|
||||
"Content": "Disable Windows Platform Binary Table (WPBT)",
|
||||
"Description": "If enabled then allows your computer vendor to execute a program each time it boots. It enables computer vendors to force install anti-theft software, software drivers, or a software program conveniently. This could also be a security risk.",
|
||||
"category": "z__Advanced Tweaks - CAUTION",
|
||||
@@ -2706,113 +2658,6 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"WPFTweaksRemoveOnedrive": {
|
||||
"Content": "Remove OneDrive",
|
||||
"Description": "Moves OneDrive files to Default Home Folders and Uninstalls it.",
|
||||
"category": "z__Advanced Tweaks - CAUTION",
|
||||
"panel": "1",
|
||||
"Order": "a031_",
|
||||
"InvokeScript": [
|
||||
"
|
||||
$OneDrivePath = $($env:OneDrive)
|
||||
Write-Host \"Removing OneDrive\"
|
||||
|
||||
# Check both traditional and Microsoft Store installations
|
||||
$regPath = \"HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OneDriveSetup.exe\"
|
||||
$msStorePath = \"HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Appx\\AppxAllUserStore\\Applications\\*OneDrive*\"
|
||||
|
||||
if (Test-Path $regPath) {
|
||||
$OneDriveUninstallString = Get-ItemPropertyValue \"$regPath\" -Name \"UninstallString\"
|
||||
$OneDriveExe, $OneDriveArgs = $OneDriveUninstallString.Split(\" \")
|
||||
Start-Process -FilePath $OneDriveExe -ArgumentList \"$OneDriveArgs /silent\" -NoNewWindow -Wait
|
||||
} elseif (Test-Path $msStorePath) {
|
||||
Write-Host \"OneDrive appears to be installed via Microsoft Store\" -ForegroundColor Yellow
|
||||
# Attempt to uninstall via winget
|
||||
Start-Process -FilePath winget -ArgumentList \"uninstall -e --purge --accept-source-agreements Microsoft.OneDrive\" -NoNewWindow -Wait
|
||||
} else {
|
||||
Write-Host \"OneDrive doesn't seem to be installed\" -ForegroundColor Red
|
||||
Write-Host \"Running cleanup if OneDrive path exists\" -ForegroundColor Red
|
||||
}
|
||||
|
||||
# Check if OneDrive got Uninstalled (both paths)
|
||||
if (Test-Path $OneDrivePath) {
|
||||
Write-Host \"Copy downloaded Files from the OneDrive Folder to Root UserProfile\"
|
||||
Start-Process -FilePath powershell -ArgumentList \"robocopy '$($OneDrivePath)' '$($env:USERPROFILE.TrimEnd())\\' /mov /e /xj\" -NoNewWindow -Wait
|
||||
|
||||
Write-Host \"Removing OneDrive leftovers\"
|
||||
Remove-Item -Recurse -Force -ErrorAction SilentlyContinue \"$env:localappdata\\Microsoft\\OneDrive\"
|
||||
Remove-Item -Recurse -Force -ErrorAction SilentlyContinue \"$env:localappdata\\OneDrive\"
|
||||
Remove-Item -Recurse -Force -ErrorAction SilentlyContinue \"$env:programdata\\Microsoft OneDrive\"
|
||||
Remove-Item -Recurse -Force -ErrorAction SilentlyContinue \"$env:systemdrive\\OneDriveTemp\"
|
||||
reg delete \"HKEY_CURRENT_USER\\Software\\Microsoft\\OneDrive\" -f
|
||||
# check if directory is empty before removing:
|
||||
If ((Get-ChildItem \"$OneDrivePath\" -Recurse | Measure-Object).Count -eq 0) {
|
||||
Remove-Item -Recurse -Force -ErrorAction SilentlyContinue \"$OneDrivePath\"
|
||||
}
|
||||
|
||||
Write-Host \"Remove Onedrive from Explorer sidebar\"
|
||||
Set-ItemProperty -Path \"HKCR:\\CLSID\\{018D5C66-4533-4307-9B53-224DE2ED1FE6}\" -Name \"System.IsPinnedToNameSpaceTree\" -Value 0
|
||||
Set-ItemProperty -Path \"HKCR:\\Wow6432Node\\CLSID\\{018D5C66-4533-4307-9B53-224DE2ED1FE6}\" -Name \"System.IsPinnedToNameSpaceTree\" -Value 0
|
||||
|
||||
Write-Host \"Removing run hook for new users\"
|
||||
reg load \"hku\\Default\" \"C:\\Users\\Default\\NTUSER.DAT\"
|
||||
reg delete \"HKEY_USERS\\Default\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\" /v \"OneDriveSetup\" /f
|
||||
reg unload \"hku\\Default\"
|
||||
|
||||
Write-Host \"Removing autostart key\"
|
||||
reg delete \"HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\" /v \"OneDrive\" /f
|
||||
|
||||
Write-Host \"Removing startmenu entry\"
|
||||
Remove-Item -Force -ErrorAction SilentlyContinue \"$env:userprofile\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\OneDrive.lnk\"
|
||||
|
||||
Write-Host \"Removing scheduled task\"
|
||||
Get-ScheduledTask -TaskPath '\\' -TaskName 'OneDrive*' -ea SilentlyContinue | Unregister-ScheduledTask -Confirm:$false
|
||||
|
||||
# Add Shell folders restoring default locations
|
||||
Write-Host \"Shell Fixing\"
|
||||
Set-ItemProperty -Path \"HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders\" -Name \"AppData\" -Value \"$env:userprofile\\AppData\\Roaming\" -Type ExpandString
|
||||
Set-ItemProperty -Path \"HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders\" -Name \"Cache\" -Value \"$env:userprofile\\AppData\\Local\\Microsoft\\Windows\\INetCache\" -Type ExpandString
|
||||
Set-ItemProperty -Path \"HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders\" -Name \"Cookies\" -Value \"$env:userprofile\\AppData\\Local\\Microsoft\\Windows\\INetCookies\" -Type ExpandString
|
||||
Set-ItemProperty -Path \"HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders\" -Name \"Favorites\" -Value \"$env:userprofile\\Favorites\" -Type ExpandString
|
||||
Set-ItemProperty -Path \"HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders\" -Name \"History\" -Value \"$env:userprofile\\AppData\\Local\\Microsoft\\Windows\\History\" -Type ExpandString
|
||||
Set-ItemProperty -Path \"HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders\" -Name \"Local AppData\" -Value \"$env:userprofile\\AppData\\Local\" -Type ExpandString
|
||||
Set-ItemProperty -Path \"HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders\" -Name \"My Music\" -Value \"$env:userprofile\\Music\" -Type ExpandString
|
||||
Set-ItemProperty -Path \"HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders\" -Name \"My Video\" -Value \"$env:userprofile\\Videos\" -Type ExpandString
|
||||
Set-ItemProperty -Path \"HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders\" -Name \"NetHood\" -Value \"$env:userprofile\\AppData\\Roaming\\Microsoft\\Windows\\Network Shortcuts\" -Type ExpandString
|
||||
Set-ItemProperty -Path \"HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders\" -Name \"PrintHood\" -Value \"$env:userprofile\\AppData\\Roaming\\Microsoft\\Windows\\Printer Shortcuts\" -Type ExpandString
|
||||
Set-ItemProperty -Path \"HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders\" -Name \"Programs\" -Value \"$env:userprofile\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\" -Type ExpandString
|
||||
Set-ItemProperty -Path \"HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders\" -Name \"Recent\" -Value \"$env:userprofile\\AppData\\Roaming\\Microsoft\\Windows\\Recent\" -Type ExpandString
|
||||
Set-ItemProperty -Path \"HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders\" -Name \"SendTo\" -Value \"$env:userprofile\\AppData\\Roaming\\Microsoft\\Windows\\SendTo\" -Type ExpandString
|
||||
Set-ItemProperty -Path \"HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders\" -Name \"Start Menu\" -Value \"$env:userprofile\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\" -Type ExpandString
|
||||
Set-ItemProperty -Path \"HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders\" -Name \"Startup\" -Value \"$env:userprofile\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\" -Type ExpandString
|
||||
Set-ItemProperty -Path \"HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders\" -Name \"Templates\" -Value \"$env:userprofile\\AppData\\Roaming\\Microsoft\\Windows\\Templates\" -Type ExpandString
|
||||
Set-ItemProperty -Path \"HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders\" -Name \"{374DE290-123F-4565-9164-39C4925E467B}\" -Value \"$env:userprofile\\Downloads\" -Type ExpandString
|
||||
Set-ItemProperty -Path \"HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders\" -Name \"Desktop\" -Value \"$env:userprofile\\Desktop\" -Type ExpandString
|
||||
Set-ItemProperty -Path \"HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders\" -Name \"My Pictures\" -Value \"$env:userprofile\\Pictures\" -Type ExpandString
|
||||
Set-ItemProperty -Path \"HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders\" -Name \"Personal\" -Value \"$env:userprofile\\Documents\" -Type ExpandString
|
||||
Set-ItemProperty -Path \"HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders\" -Name \"{F42EE2D3-909F-4907-8871-4C22FC0BF756}\" -Value \"$env:userprofile\\Documents\" -Type ExpandString
|
||||
Set-ItemProperty -Path \"HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders\" -Name \"{0DDD015D-B06C-45D5-8C4C-F59713854639}\" -Value \"$env:userprofile\\Pictures\" -Type ExpandString
|
||||
Write-Host \"Restarting explorer\"
|
||||
taskkill.exe /F /IM \"explorer.exe\"
|
||||
Start-Process \"explorer.exe\"
|
||||
|
||||
Write-Host \"Waiting for Explorer to complete loading\"
|
||||
Write-Host \"Please Note - The OneDrive folder at $OneDrivePath may still have items in it. You must manually delete it, but all the files should already be copied to the base user folder.\"
|
||||
Write-Host \"If there are Files missing afterwards, please Login to Onedrive.com and Download them manually\" -ForegroundColor Yellow
|
||||
Start-Sleep 5
|
||||
} else {
|
||||
Write-Host \"Nothing to Cleanup with OneDrive\" -ForegroundColor Red
|
||||
}
|
||||
"
|
||||
],
|
||||
"UndoScript": [
|
||||
"
|
||||
Write-Host \"Install OneDrive\"
|
||||
Start-Process -FilePath winget -ArgumentList \"install -e --accept-source-agreements --accept-package-agreements --silent Microsoft.OneDrive \" -NoNewWindow -Wait
|
||||
"
|
||||
],
|
||||
"link": "https://winutil.christitus.com/dev/tweaks/z--advanced-tweaks---caution/removeonedrive"
|
||||
},
|
||||
"WPFTweaksRazerBlock": {
|
||||
"Content": "Block Razer Software Installs",
|
||||
"Description": "Blocks ALL Razer Software installations. The hardware works fine without any software. WARNING: this will also block all Windows third-party driver installations.",
|
||||
@@ -3196,7 +3041,7 @@
|
||||
],
|
||||
"link": "https://winutil.christitus.com/dev/tweaks/z--advanced-tweaks---caution/teredo"
|
||||
},
|
||||
"WPFTweaksDisableipsix": {
|
||||
"WPFTweaksDisableIPv6": {
|
||||
"Content": "Disable IPv6",
|
||||
"Description": "Disables IPv6.",
|
||||
"category": "z__Advanced Tweaks - CAUTION",
|
||||
|
||||
@@ -21,10 +21,6 @@ function Invoke-WinUtilTweaks {
|
||||
$KeepServiceStartup = $true
|
||||
)
|
||||
|
||||
if ($Checkbox -like "*Toggle*") {
|
||||
$CheckBox = $sync.configs.tweaks.$CheckBox
|
||||
}
|
||||
|
||||
Write-Debug "Tweaks: $($CheckBox)"
|
||||
if($undo) {
|
||||
$Values = @{
|
||||
|
||||
@@ -24,8 +24,12 @@ Function Set-WinUtilService {
|
||||
# Check if the service exists
|
||||
$service = Get-Service -Name $Name -ErrorAction Stop
|
||||
|
||||
# Service exists, proceed with changing properties
|
||||
$service | Set-Service -StartupType $StartupType -ErrorAction Stop
|
||||
# Service exists, proceed with changing properties -- while handling auto delayed start for PWSH 5
|
||||
if (($PSVersionTable.PSVersion.Major -lt 7) -and ($StartupType -eq "AutomaticDelayedStart")) {
|
||||
sc.exe config $Name start=delayed-auto
|
||||
} else {
|
||||
$service | Set-Service -StartupType $StartupType -ErrorAction Stop
|
||||
}
|
||||
} catch [System.ServiceProcess.ServiceNotFoundException] {
|
||||
Write-Warning "Service $Name was not found"
|
||||
} catch {
|
||||
|
||||
@@ -33,62 +33,6 @@ function Invoke-WPFInstall {
|
||||
try {
|
||||
$sync.ProcessRunning = $true
|
||||
if($packagesWinget.Count -gt 0 -and $packagesWinget -ne "0") {
|
||||
Add-Type -AssemblyName System.DirectoryServices.AccountManagement
|
||||
Add-Type -assembly System.Windows.Forms
|
||||
$PrincipalContext = New-Object System.DirectoryServices.AccountManagement.PrincipalContext('Machine')
|
||||
$user = $env:USERNAME
|
||||
|
||||
Get-LocalUser | Where-Object Enabled -eq $true | ForEach-Object {
|
||||
$validPassword = $false
|
||||
while (-not $validPassword) {
|
||||
try {
|
||||
$myPasswordIsBlank = $PrincipalContext.ValidateCredentials($user, $null)
|
||||
$validPassword = $true
|
||||
} catch {
|
||||
$form = New-Object System.Windows.Forms.Form
|
||||
$form.Text = "Set password for $user"
|
||||
$form.Size = New-Object System.Drawing.Size(500, 200)
|
||||
|
||||
$label = New-Object System.Windows.Forms.Label
|
||||
$label.Text = 'Admin mode install failed. Set a USER password for login and user-based installation.'
|
||||
$label.Size = New-Object System.Drawing.Size(480, 60)
|
||||
$label.Location = New-Object System.Drawing.Point(10, 10)
|
||||
$form.Controls.Add($label)
|
||||
|
||||
$passwordBox = New-Object System.Windows.Forms.TextBox
|
||||
$passwordBox.Size = New-Object System.Drawing.Size(380, 20)
|
||||
$passwordBox.UseSystemPasswordChar = $true
|
||||
$passwordBox.Location = New-Object System.Drawing.Point(10, 125)
|
||||
$form.Controls.Add($passwordBox)
|
||||
|
||||
$button = New-Object System.Windows.Forms.Button
|
||||
$button.Text = 'Submit'
|
||||
$button.Size = New-Object System.Drawing.Size(75, 23)
|
||||
$button.Location = New-Object System.Drawing.Point(400, 125)
|
||||
$button.Add_Click({
|
||||
$password = $passwordBox.Text | ConvertTo-SecureString -AsPlainText -Force
|
||||
if ($password) {
|
||||
try {
|
||||
Set-LocalUser -Name $user -Password $password
|
||||
$validPassword = $PrincipalContext.ValidateCredentials($user, $passwordBox.Text)
|
||||
if ($validPassword) {
|
||||
$form.Close()
|
||||
} else {
|
||||
[System.Windows.Forms.MessageBox]::Show('Invalid password! Please try again.')
|
||||
}
|
||||
} catch {
|
||||
[System.Windows.Forms.MessageBox]::Show('Error setting password!')
|
||||
}
|
||||
} else {
|
||||
[System.Windows.Forms.MessageBox]::Show('No password entered!')
|
||||
}
|
||||
})
|
||||
$form.Controls.Add($button)
|
||||
$form.ShowDialog() | Out-Null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Show-WPFInstallAppBusy -text "Installing apps..."
|
||||
Install-WinUtilWinget
|
||||
Install-WinUtilProgramWinget -Action Install -Programs $packagesWinget
|
||||
|
||||
@@ -156,6 +156,7 @@ function Invoke-WPFUIElements {
|
||||
$checkBox.Name = $entryInfo.Name
|
||||
$checkBox.HorizontalAlignment = "Right"
|
||||
$checkBox.UseLayoutRounding = $true
|
||||
[System.Windows.Automation.AutomationProperties]::SetName($checkBox, $entryInfo.Content)
|
||||
$dockPanel.Children.Add($checkBox) | Out-Null
|
||||
$checkBox.Style = $ColorfulToggleSwitchStyle
|
||||
|
||||
@@ -191,6 +192,7 @@ function Invoke-WPFUIElements {
|
||||
$toggleButton.ToolTip = $entryInfo.Description
|
||||
$toggleButton.HorizontalAlignment = "Left"
|
||||
$toggleButton.Style = $ToggleButtonStyle
|
||||
[System.Windows.Automation.AutomationProperties]::SetName($toggleButton, $entryInfo.Content[0])
|
||||
|
||||
$toggleButton.Tag = @{
|
||||
contentOn = if ($entryInfo.Content.Count -ge 1) { $entryInfo.Content[0] } else { "" }
|
||||
@@ -232,6 +234,7 @@ function Invoke-WPFUIElements {
|
||||
$comboBox.SetResourceReference([Windows.Controls.Control]::MarginProperty, "ButtonMargin")
|
||||
$comboBox.SetResourceReference([Windows.Controls.Control]::FontSizeProperty, "ButtonFontSize")
|
||||
$comboBox.UseLayoutRounding = $true
|
||||
[System.Windows.Automation.AutomationProperties]::SetName($comboBox, $entryInfo.Content)
|
||||
|
||||
foreach ($comboitem in ($entryInfo.ComboItems -split " ")) {
|
||||
$comboBoxItem = New-Object Windows.Controls.ComboBoxItem
|
||||
@@ -273,6 +276,7 @@ function Invoke-WPFUIElements {
|
||||
$baseWidth = [int]$entryInfo.ButtonWidth
|
||||
$button.Width = [math]::Max($baseWidth, 350)
|
||||
}
|
||||
[System.Windows.Automation.AutomationProperties]::SetName($button, $entryInfo.Content)
|
||||
$itemsControl.Items.Add($button) | Out-Null
|
||||
|
||||
$sync[$entryInfo.Name] = $button
|
||||
@@ -303,6 +307,7 @@ function Invoke-WPFUIElements {
|
||||
$radioButton.SetResourceReference([Windows.Controls.Control]::FontSizeProperty, "ButtonFontSize")
|
||||
$radioButton.ToolTip = $entryInfo.Description
|
||||
$radioButton.UseLayoutRounding = $true
|
||||
[System.Windows.Automation.AutomationProperties]::SetName($radioButton, $entryInfo.Content)
|
||||
|
||||
if ($entryInfo.Checked -eq $true) {
|
||||
$radioButton.IsChecked = $true
|
||||
@@ -324,6 +329,7 @@ function Invoke-WPFUIElements {
|
||||
$checkBox.ToolTip = $entryInfo.Description
|
||||
$checkBox.SetResourceReference([Windows.Controls.Control]::MarginProperty, "CheckBoxMargin")
|
||||
$checkBox.UseLayoutRounding = $true
|
||||
[System.Windows.Automation.AutomationProperties]::SetName($checkBox, $entryInfo.Content)
|
||||
if ($entryInfo.Checked -eq $true) {
|
||||
$checkBox.IsChecked = $entryInfo.Checked
|
||||
}
|
||||
|
||||
@@ -451,13 +451,11 @@ $NavLogoPanel.Children.Add((Invoke-WinUtilAssets -Type "logo" -Size 25)) | Out-N
|
||||
$winutildir = @{}
|
||||
|
||||
# Set the path for the winutil directory
|
||||
$winutildir["path"] = "$env:LOCALAPPDATA\winutil\"
|
||||
[System.IO.Directory]::CreateDirectory($winutildir["path"]) | Out-Null
|
||||
$winutildir = "$env:LocalAppData\winutil\"
|
||||
New-Item $winutildir -ItemType Directory -Force | Out-Null
|
||||
|
||||
$winutildir["logo.ico"] = $winutildir["path"] + "cttlogo.ico"
|
||||
|
||||
if (Test-Path $winutildir["logo.ico"]) {
|
||||
$sync["logorender"] = $winutildir["logo.ico"]
|
||||
if (Test-Path "$winutildir\logo.ico") {
|
||||
$sync["logorender"] = "$winutildir\logo.ico"
|
||||
} else {
|
||||
$sync["logorender"] = (Invoke-WinUtilAssets -Type "Logo" -Size 90 -Render)
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@ if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]:
|
||||
$dateTime = Get-Date -Format "yyyy-MM-dd_HH-mm-ss"
|
||||
|
||||
$logdir = "$env:localappdata\winutil\logs"
|
||||
[System.IO.Directory]::CreateDirectory("$logdir") | Out-Null
|
||||
New-Item $logdir -ItemType Directory -Force | Out-Null
|
||||
Start-Transcript -Path "$logdir\winutil_$dateTime.log" -Append -NoClobber | Out-Null
|
||||
|
||||
# Set PowerShell window title
|
||||
|
||||
Reference in New Issue
Block a user