mirror of
https://github.com/ChrisTitusTech/winutil.git
synced 2025-07-07 05:33:51 -05:00
Compare commits
6 Commits
24.06.29
...
4272fe193c
Author | SHA1 | Date | |
---|---|---|---|
4272fe193c | |||
c51e1970f4 | |||
78178b0fba | |||
bea7726587 | |||
08847099b4 | |||
37b4706ae7 |
9
.gitattributes
vendored
9
.gitattributes
vendored
@ -1,12 +1,3 @@
|
|||||||
* text=auto
|
|
||||||
|
|
||||||
*.ps1 text eol=crlf
|
|
||||||
*.json text eol=crlf
|
|
||||||
*.cfg text eol=crlf
|
|
||||||
|
|
||||||
*.png binary
|
|
||||||
*.jpg binary
|
|
||||||
|
|
||||||
config/* diff
|
config/* diff
|
||||||
config/applications.json diff
|
config/applications.json diff
|
||||||
*.json diff
|
*.json diff
|
18
.github/workflows/close-old-issues.yaml
vendored
18
.github/workflows/close-old-issues.yaml
vendored
@ -16,20 +16,8 @@ jobs:
|
|||||||
- name: Close inactive issues
|
- name: Close inactive issues
|
||||||
uses: actions/stale@v9.0.0
|
uses: actions/stale@v9.0.0
|
||||||
with:
|
with:
|
||||||
# A list of labels to reference when looking through issues,
|
|
||||||
# and only when one (or even more) of these labels are found..
|
|
||||||
# then skip this issue, and never try to stale and/or close it.
|
|
||||||
exempt-issue-labels: "Keep Issue Open"
|
exempt-issue-labels: "Keep Issue Open"
|
||||||
# Split it into two weeks, after one week the issue will be marked as stale,
|
days-before-issue-close: 14
|
||||||
# after another week have pasted without any update.. the issue will then be closed.
|
close-issue-message: "This issue was closed because it has been inactive for 14 days"
|
||||||
days-before-issue-stale: 7
|
debug-only: false # Make this field equal true if you want to test your configuration if it works or not
|
||||||
days-before-issue-close: 7
|
|
||||||
# NEVER mark PRs as Stale or Close + this workflow should never have write permissions on PRs, EVER!
|
|
||||||
days-before-pr-stale: -1
|
|
||||||
days-before-pr-close: -1
|
|
||||||
# Sends a message for both the Stale and Close events of an issue.
|
|
||||||
stale-issue-message: "This issue was marked as stale because it has been inactive for 7 days"
|
|
||||||
close-issue-message: "This issue was closed because it has been inactive for 7 days since it was marked as stale"
|
|
||||||
# Make this field equal true if you want to test your configuration if it works correctly or not
|
|
||||||
debug-only: false
|
|
||||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
46
.github/workflows/pre-release.yaml
vendored
46
.github/workflows/pre-release.yaml
vendored
@ -1,46 +0,0 @@
|
|||||||
name: Pre-Release WinUtil
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_run:
|
|
||||||
workflows: ["Compile"] #Ensure Compile winget.ps1 is done
|
|
||||||
types:
|
|
||||||
- completed
|
|
||||||
workflow_dispatch: # Manual trigger added
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build-runspace:
|
|
||||||
runs-on: windows-latest
|
|
||||||
outputs:
|
|
||||||
version: ${{ steps.extract_version.outputs.version }}
|
|
||||||
steps:
|
|
||||||
- name: Checkout Repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Extract Version from winutil.ps1
|
|
||||||
id: extract_version
|
|
||||||
run: |
|
|
||||||
$version = ''
|
|
||||||
Get-Content ./winutil.ps1 -TotalCount 30 | ForEach-Object {
|
|
||||||
if ($_ -match 'Version\s*:\s*(\d{2}\.\d{2}\.\d{2})') {
|
|
||||||
$version = $matches[1]
|
|
||||||
echo "version=$version" >> $GITHUB_ENV
|
|
||||||
echo "::set-output name=version::$version"
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (-not $version) {
|
|
||||||
Write-Error "Version not found in winutil.ps1"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
shell: pwsh
|
|
||||||
|
|
||||||
- name: Create and Upload Release
|
|
||||||
id: create_release
|
|
||||||
uses: softprops/action-gh-release@v2
|
|
||||||
with:
|
|
||||||
tag_name: ${{ steps.extract_version.outputs.version }}
|
|
||||||
name: Pre-Release ${{ steps.extract_version.outputs.version }}
|
|
||||||
files: ./winutil.ps1
|
|
||||||
prerelease: true
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
5
.github/workflows/release.yaml
vendored
5
.github/workflows/release.yaml
vendored
@ -1,6 +1,10 @@
|
|||||||
name: Release WinUtil
|
name: Release WinUtil
|
||||||
|
|
||||||
on:
|
on:
|
||||||
|
workflow_run:
|
||||||
|
workflows: ["Compile"] #Ensure Compile winget.ps1 is done
|
||||||
|
types:
|
||||||
|
- completed
|
||||||
workflow_dispatch: # Manual trigger added
|
workflow_dispatch: # Manual trigger added
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
@ -37,6 +41,5 @@ jobs:
|
|||||||
tag_name: ${{ steps.extract_version.outputs.version }}
|
tag_name: ${{ steps.extract_version.outputs.version }}
|
||||||
name: Release ${{ steps.extract_version.outputs.version }}
|
name: Release ${{ steps.extract_version.outputs.version }}
|
||||||
files: ./winutil.ps1
|
files: ./winutil.ps1
|
||||||
prerelease: false
|
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
@ -68,11 +68,11 @@ Get-ChildItem .\config | Where-Object {$psitem.extension -eq ".json"} | ForEach-
|
|||||||
for ($i = 0; $i -lt $firstLevelJsonList.Count; $i += 1) {
|
for ($i = 0; $i -lt $firstLevelJsonList.Count; $i += 1) {
|
||||||
$firstLevelName = $firstLevelJsonList[$i]
|
$firstLevelName = $firstLevelJsonList[$i]
|
||||||
if ($jsonAsObject.$firstLevelName.content -ne $null) {
|
if ($jsonAsObject.$firstLevelName.content -ne $null) {
|
||||||
$jsonAsObject.$firstLevelName.content = $jsonAsObject.$firstLevelName.content.replace('&','&').replace('“','“').replace('”','”').replace("'",''').replace('<','<').replace('>','>').replace('—','—')
|
$jsonAsObject.$firstLevelName.content = $jsonAsObject.$firstLevelName.content.replace('&','&').replace('“','“').replace('”','”').replace("'",''').replace('<','<').replace('>','>')
|
||||||
$jsonAsObject.$firstLevelName.content = $jsonAsObject.$firstLevelName.content.replace('''',"'") # resolves the Double Apostrophe caused by the first replace function in the main loop
|
$jsonAsObject.$firstLevelName.content = $jsonAsObject.$firstLevelName.content.replace('''',"'") # resolves the Double Apostrophe caused by the first replace function in the main loop
|
||||||
}
|
}
|
||||||
if ($jsonAsObject.$firstLevelName.description -ne $null) {
|
if ($jsonAsObject.$firstLevelName.description -ne $null) {
|
||||||
$jsonAsObject.$firstLevelName.description = $jsonAsObject.$firstLevelName.description.replace('&','&').replace('“','“').replace('”','”').replace("'",''').replace('<','<').replace('>','>').replace('—','—')
|
$jsonAsObject.$firstLevelName.description = $jsonAsObject.$firstLevelName.description.replace('&','&').replace('“','“').replace('”','”').replace("'",''').replace('<','<').replace('>','>')
|
||||||
$jsonAsObject.$firstLevelName.description = $jsonAsObject.$firstLevelName.description.replace('''',"'") # resolves the Double Apostrophe caused by the first replace function in the main loop
|
$jsonAsObject.$firstLevelName.description = $jsonAsObject.$firstLevelName.description.replace('''',"'") # resolves the Double Apostrophe caused by the first replace function in the main loop
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -13,9 +13,14 @@
|
|||||||
```
|
```
|
||||||
Get-Service -Name "XboxGipSvc" | Set-Service -StartupType Automatic
|
Get-Service -Name "XboxGipSvc" | Set-Service -StartupType Automatic
|
||||||
```
|
```
|
||||||
|
- Windows Insider Builds not installing: Telemetry needs to be enabled
|
||||||
|
```
|
||||||
|
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DataCollection" -Name "AllowTelemetry" -Type DWord -Value 0
|
||||||
|
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection" -Name "AllowTelemetry" -Type DWord -Value 0
|
||||||
|
```
|
||||||
- Winget requires interaction on first run: Manually type 'y' and 'enter' into the PowerShell console to continue
|
- Winget requires interaction on first run: Manually type 'y' and 'enter' into the PowerShell console to continue
|
||||||
- (Windows 11) Quick Settings no longer works: Launch the Script and click 'Enable Action Center'
|
- (Windows 11) Quick Settings no longer works: Launch the Script and click 'Enable Action Center'
|
||||||
|
- Explorer no longer launches: Go to Control Panel, File Explorer Options, Change the 'Open File Explorer to' option to 'This PC'.
|
||||||
- Script doesn't run/PowerShell crashes:
|
- Script doesn't run/PowerShell crashes:
|
||||||
1. Press Windows Key+X and select 'PowerShell (Admin)' (Windows 10) or 'Windows Terminal (Admin)' (Windows 11)
|
1. Press Windows Key+X and select 'PowerShell (Admin)' (Windows 10) or 'Windows Terminal (Admin)' (Windows 11)
|
||||||
2. Run:
|
2. Run:
|
||||||
|
21
README.md
21
README.md
@ -1,7 +1,5 @@
|
|||||||
# Chris Titus Tech's Windows Utility
|
# Chris Titus Tech's Windows Utility
|
||||||
|
|
||||||
[](https://github.com/ChrisTitusTech/winutil/releases/latest)
|
|
||||||
|
|
||||||
This utility is a compilation of Windows tasks I perform on each Windows system I use. It is meant to streamline *installs*, debloat with *tweaks*, troubleshoot with *config*, and fix Windows *updates*. I am extremely picky about any contributions to keep this project clean and efficient.
|
This utility is a compilation of Windows tasks I perform on each Windows system I use. It is meant to streamline *installs*, debloat with *tweaks*, troubleshoot with *config*, and fix Windows *updates*. I am extremely picky about any contributions to keep this project clean and efficient.
|
||||||
|
|
||||||

|

|
||||||
@ -24,19 +22,24 @@ Winutil must be run in Admin mode because it performs system-wide tweaks. To ach
|
|||||||
|
|
||||||
#### Simple way
|
#### Simple way
|
||||||
|
|
||||||
```ps1
|
|
||||||
irm "https://christitus.com/win" | iex
|
|
||||||
```
|
```
|
||||||
Courtesy of the issue: [#144](/../../issues/144)
|
irm https://christitus.com/win | iex
|
||||||
|
```
|
||||||
|
Courtesy of the issue raised at: [#144](/../../issues/144)
|
||||||
|
|
||||||
If this site is not reachable from your country, please try running it directly from GitHub.
|
or by executing:
|
||||||
```ps1
|
```
|
||||||
irm "https://github.com/ChrisTitusTech/winutil/releases/latest/download/winutil.ps1" | iex
|
iwr -useb https://christitus.com/win | iex
|
||||||
|
```
|
||||||
|
|
||||||
|
if for some reason this site is not reachable from your country please try running it directly from github (replace `RELEASE_TAG` with current release that you are interested in, for example `v2024.06.05`)
|
||||||
|
```
|
||||||
|
irm "https://github.com/ChrisTitusTech/winutil/releases/download/RELEASE_TAG/winutil.ps1" | iex
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Automation
|
#### Automation
|
||||||
|
|
||||||
Some features are available through automation. This allows you to save your config file pass it to Winutil walk away and come back to a finished system. Here is how you can set it up currently with Winutil >24.01.15
|
Some features are avaliable through automation. This allows you to save your config file pass it to Winutil walk away and come back to a finished system. Here is how you can set it up currently with Winutil >24.01.15
|
||||||
|
|
||||||
1. On the Install Tab, click "Get Installed", this will get all installed apps **supported by Winutil** on the system
|
1. On the Install Tab, click "Get Installed", this will get all installed apps **supported by Winutil** on the system
|
||||||

|

|
||||||
|
@ -151,6 +151,14 @@
|
|||||||
"link": "https://github.com/sharkdp/bat",
|
"link": "https://github.com/sharkdp/bat",
|
||||||
"winget": "sharkdp.bat"
|
"winget": "sharkdp.bat"
|
||||||
},
|
},
|
||||||
|
"bitcomet": {
|
||||||
|
"category": "Utilities",
|
||||||
|
"choco": "bitcomet",
|
||||||
|
"content": "BitComet",
|
||||||
|
"description": "BitComet is a free and open-source BitTorrent client that supports HTTP/FTP downloads and provides download management features.",
|
||||||
|
"link": "https://www.bitcomet.com/",
|
||||||
|
"winget": "CometNetwork.BitComet"
|
||||||
|
},
|
||||||
"bitwarden": {
|
"bitwarden": {
|
||||||
"category": "Utilities",
|
"category": "Utilities",
|
||||||
"choco": "bitwarden",
|
"choco": "bitwarden",
|
||||||
@ -175,6 +183,14 @@
|
|||||||
"link": "https://www.blender.org/",
|
"link": "https://www.blender.org/",
|
||||||
"winget": "BlenderFoundation.Blender"
|
"winget": "BlenderFoundation.Blender"
|
||||||
},
|
},
|
||||||
|
"bluestacks": {
|
||||||
|
"category": "Games",
|
||||||
|
"choco": "bluestacks",
|
||||||
|
"content": "Bluestacks",
|
||||||
|
"description": "Bluestacks is an Android emulator for running mobile apps and games on a PC.",
|
||||||
|
"link": "https://www.bluestacks.com/",
|
||||||
|
"winget": "BlueStack.BlueStacks"
|
||||||
|
},
|
||||||
"brave": {
|
"brave": {
|
||||||
"category": "Browsers",
|
"category": "Browsers",
|
||||||
"choco": "brave",
|
"choco": "brave",
|
||||||
@ -199,14 +215,6 @@
|
|||||||
"link": "https://www.bulkrenameutility.co.uk",
|
"link": "https://www.bulkrenameutility.co.uk",
|
||||||
"winget": "TGRMNSoftware.BulkRenameUtility"
|
"winget": "TGRMNSoftware.BulkRenameUtility"
|
||||||
},
|
},
|
||||||
"AdvancedRenamer": {
|
|
||||||
"category": "Utilities",
|
|
||||||
"choco": "advanced-renamer",
|
|
||||||
"content": "Advanced Renamer",
|
|
||||||
"description": "Advanced Renamer is a program for renaming multiple files and folders at once. By configuring renaming methods the names can be manipulated in various ways.",
|
|
||||||
"link": "https://www.advancedrenamer.com/",
|
|
||||||
"winget": "XP9MD3S1KFCPH1"
|
|
||||||
},
|
|
||||||
"calibre": {
|
"calibre": {
|
||||||
"category": "Document",
|
"category": "Document",
|
||||||
"choco": "calibre",
|
"choco": "calibre",
|
||||||
@ -303,6 +311,14 @@
|
|||||||
"link": "https://copyq.readthedocs.io/",
|
"link": "https://copyq.readthedocs.io/",
|
||||||
"winget": "hluk.CopyQ"
|
"winget": "hluk.CopyQ"
|
||||||
},
|
},
|
||||||
|
"ditto": {
|
||||||
|
"category": "Utilities",
|
||||||
|
"choco": "ditto",
|
||||||
|
"content": "Ditto (Clipboard Manager)",
|
||||||
|
"description": "Ditto is an extension to the Windows Clipboard. You copy something to the Clipboard and Ditto takes what you copied and stores it in a database to retrieve at a later time.",
|
||||||
|
"link": "https://github.com/sabrogden/Ditto",
|
||||||
|
"winget": "Ditto.Ditto"
|
||||||
|
},
|
||||||
"cpuz": {
|
"cpuz": {
|
||||||
"category": "Utilities",
|
"category": "Utilities",
|
||||||
"choco": "cpu-z",
|
"choco": "cpu-z",
|
||||||
@ -373,7 +389,7 @@
|
|||||||
"content": "DevToys",
|
"content": "DevToys",
|
||||||
"description": "DevToys is a collection of development-related utilities and tools for Windows. It includes tools for file management, code formatting, and productivity enhancements for developers.",
|
"description": "DevToys is a collection of development-related utilities and tools for Windows. It includes tools for file management, code formatting, and productivity enhancements for developers.",
|
||||||
"link": "https://devtoys.app/",
|
"link": "https://devtoys.app/",
|
||||||
"winget": "DevToys-app.DevToys"
|
"winget": "9PGCV4V3BK4W"
|
||||||
},
|
},
|
||||||
"digikam": {
|
"digikam": {
|
||||||
"category": "Multimedia Tools",
|
"category": "Multimedia Tools",
|
||||||
@ -396,7 +412,7 @@
|
|||||||
"choco": "ditto",
|
"choco": "ditto",
|
||||||
"content": "Ditto",
|
"content": "Ditto",
|
||||||
"description": "Ditto is an extension to the standard windows clipboard.",
|
"description": "Ditto is an extension to the standard windows clipboard.",
|
||||||
"link": "https://github.com/sabrogden/Ditto",
|
"link": "https://ditto-cp.sourceforge.io/",
|
||||||
"winget": "Ditto.Ditto"
|
"winget": "Ditto.Ditto"
|
||||||
},
|
},
|
||||||
"dockerdesktop": {
|
"dockerdesktop": {
|
||||||
@ -551,14 +567,6 @@
|
|||||||
"link": "https://www.falkon.org/",
|
"link": "https://www.falkon.org/",
|
||||||
"winget": "KDE.Falkon"
|
"winget": "KDE.Falkon"
|
||||||
},
|
},
|
||||||
"fastfetch": {
|
|
||||||
"category": "Utilities",
|
|
||||||
"choco": "na",
|
|
||||||
"content": "Fastfetch",
|
|
||||||
"description": "Fastfetch is a neofetch-like tool for fetching system information and displaying them in a pretty way",
|
|
||||||
"link": "https://github.com/fastfetch-cli/fastfetch/",
|
|
||||||
"winget": "Fastfetch-cli.Fastfetch"
|
|
||||||
},
|
|
||||||
"ferdium": {
|
"ferdium": {
|
||||||
"category": "Communications",
|
"category": "Communications",
|
||||||
"choco": "ferdium",
|
"choco": "ferdium",
|
||||||
@ -687,6 +695,14 @@
|
|||||||
"link": "https://www.freecadweb.org/",
|
"link": "https://www.freecadweb.org/",
|
||||||
"winget": "FreeCAD.FreeCAD"
|
"winget": "FreeCAD.FreeCAD"
|
||||||
},
|
},
|
||||||
|
"orcaslicer": {
|
||||||
|
"category": "Multimedia Tools",
|
||||||
|
"choco": "orcaslicer",
|
||||||
|
"content": "OrcaSlicer",
|
||||||
|
"description": "G-code generator for 3D printers (Bambu, Prusa, Voron, VzBot, RatRig, Creality, etc.)",
|
||||||
|
"link": "https://github.com/SoftFever/OrcaSlicer",
|
||||||
|
"winget": "SoftFever.OrcaSlicer"
|
||||||
|
},
|
||||||
"fxsound": {
|
"fxsound": {
|
||||||
"category": "Multimedia Tools",
|
"category": "Multimedia Tools",
|
||||||
"choco": "fxsound",
|
"choco": "fxsound",
|
||||||
@ -733,7 +749,7 @@
|
|||||||
"content": "Git Extensions",
|
"content": "Git Extensions",
|
||||||
"description": "Git Extensions is a graphical user interface for Git, providing additional features for easier source code management.",
|
"description": "Git Extensions is a graphical user interface for Git, providing additional features for easier source code management.",
|
||||||
"link": "https://gitextensions.github.io/",
|
"link": "https://gitextensions.github.io/",
|
||||||
"winget": "GitExtensionsTeam.GitExtensions"
|
"winget": "Git.Git;GitExtensionsTeam.GitExtensions"
|
||||||
},
|
},
|
||||||
"githubcli": {
|
"githubcli": {
|
||||||
"category": "Development",
|
"category": "Development",
|
||||||
@ -741,7 +757,7 @@
|
|||||||
"content": "GitHub CLI",
|
"content": "GitHub CLI",
|
||||||
"description": "GitHub CLI is a command-line tool that simplifies working with GitHub directly from the terminal.",
|
"description": "GitHub CLI is a command-line tool that simplifies working with GitHub directly from the terminal.",
|
||||||
"link": "https://cli.github.com/",
|
"link": "https://cli.github.com/",
|
||||||
"winget": "GitHub.cli"
|
"winget": "Git.Git;GitHub.cli"
|
||||||
},
|
},
|
||||||
"githubdesktop": {
|
"githubdesktop": {
|
||||||
"category": "Development",
|
"category": "Development",
|
||||||
@ -749,7 +765,7 @@
|
|||||||
"content": "GitHub Desktop",
|
"content": "GitHub Desktop",
|
||||||
"description": "GitHub Desktop is a visual Git client that simplifies collaboration on GitHub repositories with an easy-to-use interface.",
|
"description": "GitHub Desktop is a visual Git client that simplifies collaboration on GitHub repositories with an easy-to-use interface.",
|
||||||
"link": "https://desktop.github.com/",
|
"link": "https://desktop.github.com/",
|
||||||
"winget": "GitHub.GitHubDesktop"
|
"winget": "Git.Git;GitHub.GitHubDesktop"
|
||||||
},
|
},
|
||||||
"gitkrakenclient": {
|
"gitkrakenclient": {
|
||||||
"category": "Development",
|
"category": "Development",
|
||||||
@ -783,20 +799,12 @@
|
|||||||
"link": "https://www.gog.com/galaxy",
|
"link": "https://www.gog.com/galaxy",
|
||||||
"winget": "GOG.Galaxy"
|
"winget": "GOG.Galaxy"
|
||||||
},
|
},
|
||||||
"gitify": {
|
|
||||||
"category": "Development",
|
|
||||||
"choco": "na",
|
|
||||||
"content": "Gitify",
|
|
||||||
"description": "GitHub notifications on your menu bar.",
|
|
||||||
"link": "https://www.gitify.io/",
|
|
||||||
"winget": "Gitify.Gitify"
|
|
||||||
},
|
|
||||||
"golang": {
|
"golang": {
|
||||||
"category": "Development",
|
"category": "Development",
|
||||||
"choco": "golang",
|
"choco": "golang",
|
||||||
"content": "Go",
|
"content": "GoLang",
|
||||||
"description": "Go (or Golang) is a statically typed, compiled programming language designed for simplicity, reliability, and efficiency.",
|
"description": "GoLang (or Golang) is a statically typed, compiled programming language designed for simplicity, reliability, and efficiency.",
|
||||||
"link": "https://go.dev/",
|
"link": "https://golang.org/",
|
||||||
"winget": "GoLang.Go"
|
"winget": "GoLang.Go"
|
||||||
},
|
},
|
||||||
"googledrive": {
|
"googledrive": {
|
||||||
@ -1271,17 +1279,9 @@
|
|||||||
"link": "https://www.msi.com/Landing/afterburner",
|
"link": "https://www.msi.com/Landing/afterburner",
|
||||||
"winget": "Guru3D.Afterburner"
|
"winget": "Guru3D.Afterburner"
|
||||||
},
|
},
|
||||||
"mullvadvpn": {
|
|
||||||
"category": "Pro Tools",
|
|
||||||
"choco": "mullvad-app",
|
|
||||||
"content": "Mullvad VPN",
|
|
||||||
"description": "This is the VPN client software for the Mullvad VPN service.",
|
|
||||||
"link": "https://github.com/mullvad/mullvadvpn-app",
|
|
||||||
"winget": "MullvadVPN.MullvadVPN"
|
|
||||||
},
|
|
||||||
"BorderlessGaming": {
|
"BorderlessGaming": {
|
||||||
"category": "Utilities",
|
"category": "Utilities",
|
||||||
"choco": "borderlessgaming",
|
"choco": "na",
|
||||||
"content": "Borderless Gaming",
|
"content": "Borderless Gaming",
|
||||||
"description": "Play your favorite games in a borderless window; no more time consuming alt-tabs.",
|
"description": "Play your favorite games in a borderless window; no more time consuming alt-tabs.",
|
||||||
"link": "https://github.com/Codeusa/Borderless-Gaming",
|
"link": "https://github.com/Codeusa/Borderless-Gaming",
|
||||||
@ -1343,14 +1343,6 @@
|
|||||||
"link": "https://www.mp3tag.de/en/",
|
"link": "https://www.mp3tag.de/en/",
|
||||||
"winget": "Mp3tag.Mp3tag"
|
"winget": "Mp3tag.Mp3tag"
|
||||||
},
|
},
|
||||||
"tagscanner": {
|
|
||||||
"category": "Multimedia Tools",
|
|
||||||
"choco": "tagscanner",
|
|
||||||
"content": "TagScanner (Tag Scanner)",
|
|
||||||
"description": "TagScanner is a powerful tool for organizing and managing your music collection",
|
|
||||||
"link": "https://www.xdlab.ru/en/",
|
|
||||||
"winget": "SergeySerkov.TagScanner"
|
|
||||||
},
|
|
||||||
"nanazip": {
|
"nanazip": {
|
||||||
"category": "Utilities",
|
"category": "Utilities",
|
||||||
"choco": "nanazip",
|
"choco": "nanazip",
|
||||||
@ -1751,14 +1743,6 @@
|
|||||||
"link": "https://docs.microsoft.com/en-us/sysinternals/downloads/procmon",
|
"link": "https://docs.microsoft.com/en-us/sysinternals/downloads/procmon",
|
||||||
"winget": "Microsoft.Sysinternals.ProcessMonitor"
|
"winget": "Microsoft.Sysinternals.ProcessMonitor"
|
||||||
},
|
},
|
||||||
"orcaslicer": {
|
|
||||||
"category": "Utilities",
|
|
||||||
"choco": "orcaslicer",
|
|
||||||
"content": "OrcaSlicer",
|
|
||||||
"description": "G-code generator for 3D printers (Bambu, Prusa, Voron, VzBot, RatRig, Creality, etc.)",
|
|
||||||
"link": "https://github.com/SoftFever/OrcaSlicer",
|
|
||||||
"winget": "SoftFever.OrcaSlicer"
|
|
||||||
},
|
|
||||||
"prucaslicer": {
|
"prucaslicer": {
|
||||||
"category": "Utilities",
|
"category": "Utilities",
|
||||||
"choco": "prusaslicer",
|
"choco": "prusaslicer",
|
||||||
@ -1799,14 +1783,6 @@
|
|||||||
"link": "https://www.qbittorrent.org/",
|
"link": "https://www.qbittorrent.org/",
|
||||||
"winget": "qBittorrent.qBittorrent"
|
"winget": "qBittorrent.qBittorrent"
|
||||||
},
|
},
|
||||||
"transmission": {
|
|
||||||
"category": "Utilities",
|
|
||||||
"choco": "transmission",
|
|
||||||
"content": "Transmission",
|
|
||||||
"description": "Transmission is a cross-platform BitTorrent client that is open source, easy, powerful, and lean.",
|
|
||||||
"link": "https://transmissionbt.com/",
|
|
||||||
"winget": "Transmission.Transmission"
|
|
||||||
},
|
|
||||||
"tixati": {
|
"tixati": {
|
||||||
"category": "Utilities",
|
"category": "Utilities",
|
||||||
"choco": "tixati.portable",
|
"choco": "tixati.portable",
|
||||||
@ -2215,14 +2191,6 @@
|
|||||||
"link": "https://github.com/thonny/thonny",
|
"link": "https://github.com/thonny/thonny",
|
||||||
"winget": "AivarAnnamaa.Thonny"
|
"winget": "AivarAnnamaa.Thonny"
|
||||||
},
|
},
|
||||||
"MuEditor": {
|
|
||||||
"category": "Development",
|
|
||||||
"choco": "na",
|
|
||||||
"content": "Code With Mu (Mu Editor)",
|
|
||||||
"description": "Mu is a Python code editor for beginner programmers",
|
|
||||||
"link": "https://codewith.mu/",
|
|
||||||
"winget": "Mu.Mu"
|
|
||||||
},
|
|
||||||
"thorium": {
|
"thorium": {
|
||||||
"category": "Browsers",
|
"category": "Browsers",
|
||||||
"choco": "na",
|
"choco": "na",
|
||||||
@ -2407,14 +2375,6 @@
|
|||||||
"link": "https://voicemeeter.com/",
|
"link": "https://voicemeeter.com/",
|
||||||
"winget": "VB-Audio.Voicemeeter"
|
"winget": "VB-Audio.Voicemeeter"
|
||||||
},
|
},
|
||||||
"VoicemeeterPotato": {
|
|
||||||
"category": "Multimedia Tools",
|
|
||||||
"choco": "voicemeeter-potato",
|
|
||||||
"content": "Voicemeeter Potato",
|
|
||||||
"description": "Voicemeeter Potato is the ultimate version of the Voicemeeter Audio Mixer Application endowed with Virtual Audio Device to mix and manage any audio sources from or to any audio devices or applications.",
|
|
||||||
"link": "https://voicemeeter.com/",
|
|
||||||
"winget": "VB-Audio.Voicemeeter.Potato"
|
|
||||||
},
|
|
||||||
"vrdesktopstreamer": {
|
"vrdesktopstreamer": {
|
||||||
"category": "Games",
|
"category": "Games",
|
||||||
"choco": "na",
|
"choco": "na",
|
||||||
@ -2429,7 +2389,7 @@
|
|||||||
"content": "VS Code",
|
"content": "VS Code",
|
||||||
"description": "Visual Studio Code is a free, open-source code editor with support for multiple programming languages.",
|
"description": "Visual Studio Code is a free, open-source code editor with support for multiple programming languages.",
|
||||||
"link": "https://code.visualstudio.com/",
|
"link": "https://code.visualstudio.com/",
|
||||||
"winget": "Microsoft.VisualStudioCode"
|
"winget": "Git.Git;Microsoft.VisualStudioCode"
|
||||||
},
|
},
|
||||||
"vscodium": {
|
"vscodium": {
|
||||||
"category": "Development",
|
"category": "Development",
|
||||||
@ -2437,7 +2397,7 @@
|
|||||||
"content": "VS Codium",
|
"content": "VS Codium",
|
||||||
"description": "VSCodium is a community-driven, freely-licensed binary distribution of Microsoft's VS Code.",
|
"description": "VSCodium is a community-driven, freely-licensed binary distribution of Microsoft's VS Code.",
|
||||||
"link": "https://vscodium.com/",
|
"link": "https://vscodium.com/",
|
||||||
"winget": "VSCodium.VSCodium"
|
"winget": "Git.Git;VSCodium.VSCodium"
|
||||||
},
|
},
|
||||||
"waterfox": {
|
"waterfox": {
|
||||||
"category": "Browsers",
|
"category": "Browsers",
|
||||||
@ -2463,6 +2423,14 @@
|
|||||||
"link": "https://wezfurlong.org/wezterm/index.html",
|
"link": "https://wezfurlong.org/wezterm/index.html",
|
||||||
"winget": "wez.wezterm"
|
"winget": "wez.wezterm"
|
||||||
},
|
},
|
||||||
|
"windirstat": {
|
||||||
|
"category": "Utilities",
|
||||||
|
"choco": "windirstat",
|
||||||
|
"content": "WinDirStat",
|
||||||
|
"description": "WinDirStat is a disk usage statistics viewer and cleanup tool for Windows.",
|
||||||
|
"link": "https://windirstat.net/",
|
||||||
|
"winget": "WinDirStat.WinDirStat"
|
||||||
|
},
|
||||||
"windowspchealth": {
|
"windowspchealth": {
|
||||||
"category": "Utilities",
|
"category": "Utilities",
|
||||||
"choco": "na",
|
"choco": "na",
|
||||||
@ -2471,14 +2439,6 @@
|
|||||||
"link": "https://support.microsoft.com/en-us/windows/how-to-use-the-pc-health-check-app-9c8abd9b-03ba-4e67-81ef-36f37caa7844",
|
"link": "https://support.microsoft.com/en-us/windows/how-to-use-the-pc-health-check-app-9c8abd9b-03ba-4e67-81ef-36f37caa7844",
|
||||||
"winget": "Microsoft.WindowsPCHealthCheck"
|
"winget": "Microsoft.WindowsPCHealthCheck"
|
||||||
},
|
},
|
||||||
"WindowGrid": {
|
|
||||||
"category": "Utilities",
|
|
||||||
"choco": "windowgrid",
|
|
||||||
"content": "WindowGrid",
|
|
||||||
"description": "WindowGrid is a modern window management program for Windows that allows the user to quickly and easily layout their windows on a dynamic grid using just the mouse.",
|
|
||||||
"link": "http://windowgrid.net/",
|
|
||||||
"winget": "na"
|
|
||||||
},
|
|
||||||
"wingetui": {
|
"wingetui": {
|
||||||
"category": "Utilities",
|
"category": "Utilities",
|
||||||
"choco": "wingetui",
|
"choco": "wingetui",
|
||||||
@ -2878,29 +2838,5 @@
|
|||||||
"description":"Kicad is an open-source EDA tool. It's a good starting point for those who want to do electrical design and is even used by professionals in the industry.",
|
"description":"Kicad is an open-source EDA tool. It's a good starting point for those who want to do electrical design and is even used by professionals in the industry.",
|
||||||
"link": "https://www.kicad.org/",
|
"link": "https://www.kicad.org/",
|
||||||
"winget": "KiCad.KiCad"
|
"winget": "KiCad.KiCad"
|
||||||
},
|
|
||||||
"FormatFactory": {
|
|
||||||
"category": "Utilities",
|
|
||||||
"choco": "formatfactory",
|
|
||||||
"content": "Format Factory",
|
|
||||||
"description":"FormatFactory is an ad-supported freeware multimedia converter that can convert video, audio, and picture files. It is also capable of ripping DVDs and CDs to other file formats, as well as creating .iso images. It can also join multiple video files together into one.",
|
|
||||||
"link": "http://www.pcfreetime.com/formatfactory/",
|
|
||||||
"winget": "na"
|
|
||||||
},
|
|
||||||
"dropox": {
|
|
||||||
"category": "Utilities",
|
|
||||||
"choco": "na",
|
|
||||||
"content": "Dropbox",
|
|
||||||
"description":"The Dropbox desktop app! Save hard drive space, share and edit files and send for signature – all without the distraction of countless browser tabs.",
|
|
||||||
"link": "https://www.dropbox.com/en_GB/desktop",
|
|
||||||
"winget": "Dropbox.Dropbox"
|
|
||||||
},
|
|
||||||
"OFGB": {
|
|
||||||
"category": "Utilities",
|
|
||||||
"choco": "ofgb",
|
|
||||||
"content": "OFGB (Oh Frick Go Back)",
|
|
||||||
"description":"GUI Tool To Removes Ads From Various Places Around Windows 11",
|
|
||||||
"link": "https://github.com/xM4ddy/OFGB",
|
|
||||||
"winget": "xM4ddy.OFGB"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
{
|
{
|
||||||
"Standard": [
|
"Standard": [
|
||||||
"WPFTweaksAH",
|
"WPFTweaksAH",
|
||||||
"WPFTweaksConsumerFeatures",
|
|
||||||
"WPFTweaksDVR",
|
"WPFTweaksDVR",
|
||||||
"WPFTweaksHiber",
|
"WPFTweaksHiber",
|
||||||
"WPFTweaksHome",
|
"WPFTweaksHome",
|
||||||
@ -17,7 +16,6 @@
|
|||||||
"WPFTweaksTeredo"
|
"WPFTweaksTeredo"
|
||||||
],
|
],
|
||||||
"Minimal": [
|
"Minimal": [
|
||||||
"WPFTweaksConsumerFeatures",
|
|
||||||
"WPFTweaksHome",
|
"WPFTweaksHome",
|
||||||
"WPFTweaksServices",
|
"WPFTweaksServices",
|
||||||
"WPFTweaksTele"
|
"WPFTweaksTele"
|
||||||
|
@ -58,7 +58,7 @@
|
|||||||
"powercfg.exe /hibernate on"
|
"powercfg.exe /hibernate on"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"WPFTweaksLaptopHibernation": {
|
"WPFToggleTweaksLaptopHybernation": {
|
||||||
"Content": "Set Hibernation as default (good for laptops)",
|
"Content": "Set Hibernation as default (good for laptops)",
|
||||||
"Description": "Most modern laptops have connected stadby enabled which drains the battery, this sets hibernation as default which will not drain the battery. See issue https://github.com/ChrisTitusTech/winutil/issues/1399",
|
"Description": "Most modern laptops have connected stadby enabled which drains the battery, this sets hibernation as default which will not drain the battery. See issue https://github.com/ChrisTitusTech/winutil/issues/1399",
|
||||||
"category": "Essential Tweaks",
|
"category": "Essential Tweaks",
|
||||||
@ -1580,22 +1580,6 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"WPFTweaksConsumerFeatures":{
|
|
||||||
"Content": "Disable ConsumerFeatures",
|
|
||||||
"Description": "Windows 10 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)",
|
|
||||||
"category": "Essential Tweaks",
|
|
||||||
"panel": "1",
|
|
||||||
"Order": "a003_",
|
|
||||||
"registry": [
|
|
||||||
{
|
|
||||||
"Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\CloudContent",
|
|
||||||
"OriginalValue": "0",
|
|
||||||
"Name": "DisableWindowsConsumerFeatures",
|
|
||||||
"Value": "1",
|
|
||||||
"Type": "DWord"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"WPFTweaksTele": {
|
"WPFTweaksTele": {
|
||||||
"Content": "Disable Telemetry",
|
"Content": "Disable Telemetry",
|
||||||
"Description": "Disables Microsoft Telemetry. Note: This will lock many Edge Browser settings. Microsoft spies heavily on you when using the Edge browser.",
|
"Description": "Disables Microsoft Telemetry. Note: This will lock many Edge Browser settings. Microsoft spies heavily on you when using the Edge browser.",
|
||||||
@ -1754,6 +1738,13 @@
|
|||||||
"Value": "0",
|
"Value": "0",
|
||||||
"Type": "DWord"
|
"Type": "DWord"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\CloudContent",
|
||||||
|
"OriginalValue": "0",
|
||||||
|
"Name": "DisableWindowsConsumerFeatures",
|
||||||
|
"Value": "1",
|
||||||
|
"Type": "DWord"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"Path": "HKCU:\\SOFTWARE\\Microsoft\\Siuf\\Rules",
|
"Path": "HKCU:\\SOFTWARE\\Microsoft\\Siuf\\Rules",
|
||||||
"OriginalValue": "0",
|
"OriginalValue": "0",
|
||||||
@ -2452,92 +2443,79 @@
|
|||||||
},
|
},
|
||||||
"WPFTweaksRemoveOnedrive": {
|
"WPFTweaksRemoveOnedrive": {
|
||||||
"Content": "Remove OneDrive",
|
"Content": "Remove OneDrive",
|
||||||
"Description": "Moves OneDrive files to Default Home Folders and Uninstalls it.",
|
"Description": "Copies OneDrive files to Default Home Folders and Uninstalls it.",
|
||||||
"category": "z__Advanced Tweaks - CAUTION",
|
"category": "z__Advanced Tweaks - CAUTION",
|
||||||
"panel": "1",
|
"panel": "1",
|
||||||
"Order": "a030_",
|
"Order": "a030_",
|
||||||
"InvokeScript": [
|
"InvokeScript": [
|
||||||
"
|
"
|
||||||
$OneDrivePath = $($env:OneDrive)
|
|
||||||
Write-Host \"Removing OneDrive\"
|
|
||||||
$regPath = \"HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OneDriveSetup.exe\"
|
|
||||||
if (Test-Path $regPath){
|
|
||||||
$OneDriveUninstallString = Get-ItemPropertyValue \"$regPath\" -Name \"UninstallString\"
|
|
||||||
$OneDriveExe, $OneDriveArgs = $OneDriveUninstallString.Split(\" \")
|
|
||||||
Start-Process -FilePath $OneDriveExe -ArgumentList \"$OneDriveArgs /silent\" -NoNewWindow -Wait
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
Write-Host \"Onedrive dosn't seem to be installed anymore\" -ForegroundColor Red
|
|
||||||
return
|
|
||||||
}
|
|
||||||
# Check if OneDrive got Uninstalled
|
|
||||||
if (-not (Test-Path $regPath)){
|
|
||||||
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\"
|
Write-Host \"Kill OneDrive process\"
|
||||||
Remove-Item -Recurse -Force -ErrorAction SilentlyContinue \"$env:localappdata\\Microsoft\\OneDrive\"
|
taskkill.exe /F /IM \"OneDrive.exe\"
|
||||||
Remove-Item -Recurse -Force -ErrorAction SilentlyContinue \"$env:localappdata\\OneDrive\"
|
taskkill.exe /F /IM \"explorer.exe\"
|
||||||
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\"
|
Write-Host \"Copy all OneDrive to Root UserProfile\"
|
||||||
Set-ItemProperty -Path \"HKCR:\\CLSID\\{018D5C66-4533-4307-9B53-224DE2ED1FE6}\" -Name \"System.IsPinnedToNameSpaceTree\" -Value 0
|
Start-Process -FilePath powershell -ArgumentList \"robocopy '$($env:USERPROFILE.TrimEnd())\\OneDrive' '$($env:USERPROFILE.TrimEnd())\\' /e /xj\" -NoNewWindow -Wait
|
||||||
Set-ItemProperty -Path \"HKCR:\\Wow6432Node\\CLSID\\{018D5C66-4533-4307-9B53-224DE2ED1FE6}\" -Name \"System.IsPinnedToNameSpaceTree\" -Value 0
|
|
||||||
|
|
||||||
Write-Host \"Removing run hook for new users\"
|
Write-Host \"Remove OneDrive\"
|
||||||
reg load \"hku\\Default\" \"C:\\Users\\Default\\NTUSER.DAT\"
|
Start-Process -FilePath winget -ArgumentList \"uninstall -e --purge --force --silent Microsoft.OneDrive \" -NoNewWindow -Wait
|
||||||
reg delete \"HKEY_USERS\\Default\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\" /v \"OneDriveSetup\" /f
|
|
||||||
reg unload \"hku\\Default\"
|
|
||||||
|
|
||||||
Write-Host \"Removing startmenu entry\"
|
Write-Host \"Removing OneDrive leftovers\"
|
||||||
Remove-Item -Force -ErrorAction SilentlyContinue \"$env:userprofile\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\OneDrive.lnk\"
|
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\"
|
||||||
|
# check if directory is empty before removing:
|
||||||
|
If ((Get-ChildItem \"$env:userprofile\\OneDrive\" -Recurse | Measure-Object).Count -eq 0) {
|
||||||
|
Remove-Item -Recurse -Force -ErrorAction SilentlyContinue \"$env:userprofile\\OneDrive\"
|
||||||
|
}
|
||||||
|
|
||||||
Write-Host \"Removing scheduled task\"
|
Write-Host \"Remove Onedrive from explorer sidebar\"
|
||||||
Get-ScheduledTask -TaskPath '\\' -TaskName 'OneDrive*' -ea SilentlyContinue | Unregister-ScheduledTask -Confirm:$false
|
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
|
||||||
|
|
||||||
# Add Shell folders restoring default locations
|
Write-Host \"Removing run hook for new users\"
|
||||||
Write-Host \"Shell Fixing\"
|
reg load \"hku\\Default\" \"C:\\Users\\Default\\NTUSER.DAT\"
|
||||||
Set-ItemProperty -Path \"HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders\" -Name \"AppData\" -Value \"$env:userprofile\\AppData\\Roaming\" -Type ExpandString
|
reg delete \"HKEY_USERS\\Default\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\" /v \"OneDriveSetup\" /f
|
||||||
Set-ItemProperty -Path \"HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders\" -Name \"Cache\" -Value \"$env:userprofile\\AppData\\Local\\Microsoft\\Windows\\INetCache\" -Type ExpandString
|
reg unload \"hku\\Default\"
|
||||||
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 \"Removing startmenu entry\"
|
||||||
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.\"
|
Remove-Item -Force -ErrorAction SilentlyContinue \"$env:userprofile\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\OneDrive.lnk\"
|
||||||
Write-Host \"If there are Files missing afterwards, please Login to Onedrive.com and Download them manually\" -ForegroundColor Yellow
|
|
||||||
Start-Sleep 5
|
Write-Host \"Removing scheduled task\"
|
||||||
}
|
Get-ScheduledTask -TaskPath '\\' -TaskName 'OneDrive*' -ea SilentlyContinue | Unregister-ScheduledTask -Confirm:$false
|
||||||
else{
|
|
||||||
Write-Host \"Something went Wrong during the Unistallation of OneDrive\" -ForegroundColor Red
|
# 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\"
|
||||||
|
Start-Process \"explorer.exe\"
|
||||||
|
|
||||||
|
Write-Host \"Waiting for explorer to complete loading\"
|
||||||
|
Write-Host \"Please Note - OneDrive folder may still have items in it. You must manually delete it, but all the files should already be copied to the base user folder.\"
|
||||||
|
Start-Sleep 5
|
||||||
|
"
|
||||||
],
|
],
|
||||||
"UndoScript": [
|
"UndoScript": [
|
||||||
"
|
"
|
||||||
@ -2719,7 +2697,7 @@
|
|||||||
},
|
},
|
||||||
"WPFTweaksBlockAdobeNet": {
|
"WPFTweaksBlockAdobeNet": {
|
||||||
"Content": "Adobe Network Block",
|
"Content": "Adobe Network Block",
|
||||||
"Description": "Reduce user interruptions by selectively blocking connections to Adobe's activation and telemetry servers. Credit: Ruddernation-Designs",
|
"Description": "Reduce user interruptions by selectively blocking connections to Adobe's activation and telemetry servers. ",
|
||||||
"category": "z__Advanced Tweaks - CAUTION",
|
"category": "z__Advanced Tweaks - CAUTION",
|
||||||
"panel": "1",
|
"panel": "1",
|
||||||
"Order": "a021_",
|
"Order": "a021_",
|
||||||
@ -2982,6 +2960,28 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"WPFTweaksEnableipsix": {
|
||||||
|
"Content": "Enable IPv6",
|
||||||
|
"Description": "Enables IPv6.",
|
||||||
|
"category": "z__Advanced Tweaks - CAUTION",
|
||||||
|
"panel": "1",
|
||||||
|
"Order": "a023_",
|
||||||
|
"registry": [
|
||||||
|
{
|
||||||
|
"Path": "HKLM:\\SYSTEM\\CurrentControlSet\\Services\\Tcpip6\\Parameters",
|
||||||
|
"Name": "DisabledComponents",
|
||||||
|
"Value": "0",
|
||||||
|
"OriginalValue": "0",
|
||||||
|
"Type": "DWord"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"InvokeScript": [
|
||||||
|
"Enable-NetAdapterBinding -Name \"*\" -ComponentID ms_tcpip6"
|
||||||
|
],
|
||||||
|
"UndoScript": [
|
||||||
|
"Disable-NetAdapterBinding -Name \"*\" -ComponentID ms_tcpip6"
|
||||||
|
]
|
||||||
|
},
|
||||||
"WPFToggleDarkMode": {
|
"WPFToggleDarkMode": {
|
||||||
"Content": "Dark Theme",
|
"Content": "Dark Theme",
|
||||||
"Description": "Enable/Disable Dark Mode.",
|
"Description": "Enable/Disable Dark Mode.",
|
||||||
@ -3059,15 +3059,7 @@
|
|||||||
"Description": "If Enabled then Sticky Keys is activated - Sticky keys is an accessibility feature of some graphical user interfaces which assists users who have physical disabilities or help users reduce repetitive strain injury.",
|
"Description": "If Enabled then Sticky Keys is activated - Sticky keys is an accessibility feature of some graphical user interfaces which assists users who have physical disabilities or help users reduce repetitive strain injury.",
|
||||||
"category": "Customize Preferences",
|
"category": "Customize Preferences",
|
||||||
"panel": "2",
|
"panel": "2",
|
||||||
"Order": "a070_",
|
"Order": "a069_",
|
||||||
"Type": "Toggle"
|
|
||||||
},
|
|
||||||
"WPFToggleTaskbarSearch": {
|
|
||||||
"Content": "Taskbar Search",
|
|
||||||
"Description": "If Enabled Search Button will be on the taskbar.",
|
|
||||||
"category": "Customize Preferences",
|
|
||||||
"panel": "2",
|
|
||||||
"Order": "a068_",
|
|
||||||
"Type": "Toggle"
|
"Type": "Toggle"
|
||||||
},
|
},
|
||||||
"WPFOOSUbutton": {
|
"WPFOOSUbutton": {
|
||||||
@ -3082,7 +3074,7 @@
|
|||||||
"Description": "If Enabled then Widgets Icon in Taskbar will be shown.",
|
"Description": "If Enabled then Widgets Icon in Taskbar will be shown.",
|
||||||
"category": "Customize Preferences",
|
"category": "Customize Preferences",
|
||||||
"panel": "2",
|
"panel": "2",
|
||||||
"Order": "a069_",
|
"Order": "a068_",
|
||||||
"Type": "Toggle"
|
"Type": "Toggle"
|
||||||
},
|
},
|
||||||
"WPFchangedns": {
|
"WPFchangedns": {
|
||||||
@ -3127,13 +3119,5 @@
|
|||||||
"panel": "2",
|
"panel": "2",
|
||||||
"Order": "a082_",
|
"Order": "a082_",
|
||||||
"Type": "300"
|
"Type": "300"
|
||||||
},
|
|
||||||
"WPFToggleTaskView": {
|
|
||||||
"Content": "Task View",
|
|
||||||
"Description": "If Enabled then Task View Icon in Taskbar will be shown.",
|
|
||||||
"category": "Customize Preferences",
|
|
||||||
"panel": "2",
|
|
||||||
"Order": "a069_",
|
|
||||||
"Type": "Toggle"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -30,5 +30,4 @@ function Get-LocalizedYesNo {
|
|||||||
Write-Debug "According to takeown.exe local Yes is $charactersArray[0]"
|
Write-Debug "According to takeown.exe local Yes is $charactersArray[0]"
|
||||||
# Return the array of characters
|
# Return the array of characters
|
||||||
return $charactersArray
|
return $charactersArray
|
||||||
|
|
||||||
}
|
}
|
@ -61,19 +61,19 @@ function Get-TabXaml {
|
|||||||
$paneltotal = $columncount
|
$paneltotal = $columncount
|
||||||
}
|
}
|
||||||
# add ColumnDefinitions to evenly draw colums
|
# add ColumnDefinitions to evenly draw colums
|
||||||
$blockXml="<Grid.ColumnDefinitions>`r`n"+("<ColumnDefinition Width=""*""/>`r`n"*($paneltotal))+"</Grid.ColumnDefinitions>`r`n"
|
$blockXml="<Grid.ColumnDefinitions>`n"+("<ColumnDefinition Width=""*""/>`n"*($paneltotal))+"</Grid.ColumnDefinitions>`n"
|
||||||
# Iterate through organizedData by panel, category, and application
|
# Iterate through organizedData by panel, category, and application
|
||||||
$count = 0
|
$count = 0
|
||||||
foreach ($panel in ($organizedData.Keys | Sort-Object)) {
|
foreach ($panel in ($organizedData.Keys | Sort-Object)) {
|
||||||
$blockXml += "<Border Grid.Row=""1"" Grid.Column=""$panelcount"">`r`n<StackPanel Background=""{MainBackgroundColor}"" SnapsToDevicePixels=""True"">`r`n"
|
$blockXml += "<Border Grid.Row=""1"" Grid.Column=""$panelcount"">`n<StackPanel Background=""{MainBackgroundColor}"" SnapsToDevicePixels=""True"">`n"
|
||||||
$panelcount++
|
$panelcount++
|
||||||
foreach ($category in ($organizedData[$panel].Keys | Sort-Object)) {
|
foreach ($category in ($organizedData[$panel].Keys | Sort-Object)) {
|
||||||
$count++
|
$count++
|
||||||
if ($columncount -gt 0) {
|
if ($columncount -gt 0) {
|
||||||
$panelcount2 = [Int](($count)/$maxcount-0.5)
|
$panelcount2 = [Int](($count)/$maxcount-0.5)
|
||||||
if ($panelcount -eq $panelcount2 ) {
|
if ($panelcount -eq $panelcount2 ) {
|
||||||
$blockXml +="`r`n</StackPanel>`r`n</Border>`r`n"
|
$blockXml +="`n</StackPanel>`n</Border>`n"
|
||||||
$blockXml += "<Border Grid.Row=""1"" Grid.Column=""$panelcount"">`r`n<StackPanel Background=""{MainBackgroundColor}"" SnapsToDevicePixels=""True"">`r`n"
|
$blockXml += "<Border Grid.Row=""1"" Grid.Column=""$panelcount"">`n<StackPanel Background=""{MainBackgroundColor}"" SnapsToDevicePixels=""True"">`n"
|
||||||
$panelcount++
|
$panelcount++
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -83,49 +83,49 @@ function Get-TabXaml {
|
|||||||
|
|
||||||
$categorycontent = $($category -replace '^.__', '')
|
$categorycontent = $($category -replace '^.__', '')
|
||||||
$categoryname = Get-WPFObjectName -type "Label" -name $categorycontent
|
$categoryname = Get-WPFObjectName -type "Label" -name $categorycontent
|
||||||
$blockXml += "<Label Name=""$categoryname"" Content=""$categorycontent"" FontSize=""16""/>`r`n"
|
$blockXml += "<Label Name=""$categoryname"" Content=""$categorycontent"" FontSize=""16""/>`n"
|
||||||
$sortedApps = $organizedData[$panel][$category].Keys | Sort-Object
|
$sortedApps = $organizedData[$panel][$category].Keys | Sort-Object
|
||||||
foreach ($appName in $sortedApps) {
|
foreach ($appName in $sortedApps) {
|
||||||
$count++
|
$count++
|
||||||
if ($columncount -gt 0) {
|
if ($columncount -gt 0) {
|
||||||
$panelcount2 = [Int](($count)/$maxcount-0.5)
|
$panelcount2 = [Int](($count)/$maxcount-0.5)
|
||||||
if ($panelcount -eq $panelcount2 ) {
|
if ($panelcount -eq $panelcount2 ) {
|
||||||
$blockXml +="`r`n</StackPanel>`r`n</Border>`r`n"
|
$blockXml +="`n</StackPanel>`n</Border>`n"
|
||||||
$blockXml += "<Border Grid.Row=""1"" Grid.Column=""$panelcount"">`r`n<StackPanel Background=""{MainBackgroundColor}"" SnapsToDevicePixels=""True"">`r`n"
|
$blockXml += "<Border Grid.Row=""1"" Grid.Column=""$panelcount"">`n<StackPanel Background=""{MainBackgroundColor}"" SnapsToDevicePixels=""True"">`n"
|
||||||
$panelcount++
|
$panelcount++
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$appInfo = $organizedData[$panel][$category][$appName]
|
$appInfo = $organizedData[$panel][$category][$appName]
|
||||||
if ("Toggle" -eq $appInfo.Type) {
|
if ("Toggle" -eq $appInfo.Type) {
|
||||||
$blockXml += "<DockPanel LastChildFill=`"True`">`r`n<Label Content=`"$($appInfo.Content)`" ToolTip=`"$($appInfo.Description)`" HorizontalAlignment=`"Left`"/>`r`n"
|
$blockXml += "<DockPanel LastChildFill=`"True`">`n<Label Content=`"$($appInfo.Content)`" ToolTip=`"$($appInfo.Description)`" HorizontalAlignment=`"Left`"/>`n"
|
||||||
$blockXml += "<CheckBox Name=`"$($appInfo.Name)`" Style=`"{StaticResource ColorfulToggleSwitchStyle}`" Margin=`"2.5,0`" HorizontalAlignment=`"Right`"/>`r`n</DockPanel>`r`n"
|
$blockXml += "<CheckBox Name=`"$($appInfo.Name)`" Style=`"{StaticResource ColorfulToggleSwitchStyle}`" Margin=`"2.5,0`" HorizontalAlignment=`"Right`"/>`n</DockPanel>`n"
|
||||||
} elseif ("Combobox" -eq $appInfo.Type) {
|
} elseif ("Combobox" -eq $appInfo.Type) {
|
||||||
$blockXml += "<StackPanel Orientation=`"Horizontal`" Margin=`"0,5,0,0`">`r`n<Label Content=`"$($appInfo.Content)`" HorizontalAlignment=`"Left`" VerticalAlignment=`"Center`"/>`r`n"
|
$blockXml += "<StackPanel Orientation=`"Horizontal`" Margin=`"0,5,0,0`">`n<Label Content=`"$($appInfo.Content)`" HorizontalAlignment=`"Left`" VerticalAlignment=`"Center`"/>`n"
|
||||||
$blockXml += "<ComboBox Name=`"$($appInfo.Name)`" Height=`"32`" Width=`"186`" HorizontalAlignment=`"Left`" VerticalAlignment=`"Center`" Margin=`"5,5`">`r`n"
|
$blockXml += "<ComboBox Name=`"$($appInfo.Name)`" Height=`"32`" Width=`"186`" HorizontalAlignment=`"Left`" VerticalAlignment=`"Center`" Margin=`"5,5`">`n"
|
||||||
$addfirst="IsSelected=`"True`""
|
$addfirst="IsSelected=`"True`""
|
||||||
foreach ($comboitem in ($appInfo.ComboItems -split " ")) {
|
foreach ($comboitem in ($appInfo.ComboItems -split " ")) {
|
||||||
$blockXml += "<ComboBoxItem $addfirst Content=`"$comboitem`"/>`r`n"
|
$blockXml += "<ComboBoxItem $addfirst Content=`"$comboitem`"/>`n"
|
||||||
$addfirst=""
|
$addfirst=""
|
||||||
}
|
}
|
||||||
$blockXml += "</ComboBox>`r`n</StackPanel>"
|
$blockXml += "</ComboBox>`n</StackPanel>"
|
||||||
# If it is a digit, type is button and button length is digits
|
# If it is a digit, type is button and button length is digits
|
||||||
} elseif ($appInfo.Type -match "^[\d\.]+$") {
|
} elseif ($appInfo.Type -match "^[\d\.]+$") {
|
||||||
$blockXml += "<Button Name=`"$($appInfo.Name)`" Content=`"$($appInfo.Content)`" HorizontalAlignment = `"Left`" Width=`"$($appInfo.Type)`" Margin=`"5`" Padding=`"20,5`" />`r`n"
|
$blockXml += "<Button Name=`"$($appInfo.Name)`" Content=`"$($appInfo.Content)`" HorizontalAlignment = `"Left`" Width=`"$($appInfo.Type)`" Margin=`"5`" Padding=`"20,5`" />`n"
|
||||||
# else it is a checkbox
|
# else it is a checkbox
|
||||||
} else {
|
} else {
|
||||||
$checkedStatus = If ($null -eq $appInfo.Checked) {""} Else {"IsChecked=`"$($appInfo.Checked)`" "}
|
$checkedStatus = If ($null -eq $appInfo.Checked) {""} Else {"IsChecked=`"$($appInfo.Checked)`" "}
|
||||||
if ($null -eq $appInfo.Link)
|
if ($null -eq $appInfo.Link)
|
||||||
{
|
{
|
||||||
$blockXml += "<CheckBox Name=`"$($appInfo.Name)`" Content=`"$($appInfo.Content)`" $($checkedStatus)Margin=`"5,0`" ToolTip=`"$($appInfo.Description)`"/>`r`n"
|
$blockXml += "<CheckBox Name=`"$($appInfo.Name)`" Content=`"$($appInfo.Content)`" $($checkedStatus)Margin=`"5,0`" ToolTip=`"$($appInfo.Description)`"/>`n"
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$blockXml += "<StackPanel Orientation=""Horizontal"">`r`n<CheckBox Name=""$($appInfo.Name)"" Content=""$($appInfo.Content)"" $($checkedStatus)ToolTip=""$($appInfo.Description)"" Margin=""0,0,2,0""/><TextBlock Name=""$($appInfo.Name)Link"" Style=""{StaticResource HoverTextBlockStyle}"" Text=""(?)"" ToolTip=""$($appInfo.Link)"" />`r`n</StackPanel>`r`n"
|
$blockXml += "<StackPanel Orientation=""Horizontal"">`n<CheckBox Name=""$($appInfo.Name)"" Content=""$($appInfo.Content)"" $($checkedStatus)ToolTip=""$($appInfo.Description)"" Margin=""0,0,2,0""/><TextBlock Name=""$($appInfo.Name)Link"" Style=""{StaticResource HoverTextBlockStyle}"" Text=""(?)"" ToolTip=""$($appInfo.Link)"" />`n</StackPanel>`n"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$blockXml +="`r`n</StackPanel>`r`n</Border>`r`n"
|
$blockXml +="`n</StackPanel>`n</Border>`n"
|
||||||
}
|
}
|
||||||
return ($blockXml)
|
return ($blockXml)
|
||||||
}
|
}
|
||||||
|
@ -98,15 +98,6 @@ Function Get-WinUtilToggleStatus {
|
|||||||
return $false
|
return $false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if($ToggleSwitch -eq "WPFToggleTaskbarSearch"){
|
|
||||||
$SearchButton = (Get-ItemProperty -path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Search").SearchboxTaskbarMode
|
|
||||||
if($SearchButton -eq 0){
|
|
||||||
return $false
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
return $true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($ToggleSwitch -eq "WPFToggleStickyKeys") {
|
if ($ToggleSwitch -eq "WPFToggleStickyKeys") {
|
||||||
$StickyKeys = (Get-ItemProperty -path 'HKCU:\Control Panel\Accessibility\StickyKeys').Flags
|
$StickyKeys = (Get-ItemProperty -path 'HKCU:\Control Panel\Accessibility\StickyKeys').Flags
|
||||||
if($StickyKeys -eq 58){
|
if($StickyKeys -eq 58){
|
||||||
@ -116,15 +107,6 @@ Function Get-WinUtilToggleStatus {
|
|||||||
return $true
|
return $true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($ToggleSwitch -eq "WPFToggleTaskView") {
|
|
||||||
$TaskView = (Get-ItemProperty -path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced').ShowTaskViewButton
|
|
||||||
if($TaskView -eq 0){
|
|
||||||
return $false
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
return $true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($ToggleSwitch -eq "WPFToggleTaskbarWidgets") {
|
if ($ToggleSwitch -eq "WPFToggleTaskbarWidgets") {
|
||||||
$TaskbarWidgets = (Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced").TaskBarDa
|
$TaskbarWidgets = (Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced").TaskBarDa
|
||||||
if($TaskbarWidgets -eq 0) {
|
if($TaskbarWidgets -eq 0) {
|
||||||
|
@ -11,7 +11,9 @@ function Get-WinUtilVariables {
|
|||||||
[Parameter()]
|
[Parameter()]
|
||||||
[string[]]$Type
|
[string[]]$Type
|
||||||
)
|
)
|
||||||
$keys = ($sync.keys).where{ $_ -like "WPF*" }
|
|
||||||
|
$keys = $sync.keys | Where-Object { $_ -like "WPF*" }
|
||||||
|
|
||||||
if ($Type) {
|
if ($Type) {
|
||||||
$output = $keys | ForEach-Object {
|
$output = $keys | ForEach-Object {
|
||||||
Try {
|
Try {
|
||||||
|
@ -159,13 +159,7 @@ function Remove-ProvisionedPackages([switch] $keepSecurity = $false)
|
|||||||
{
|
{
|
||||||
$status = "Removing Provisioned $($appx.PackageName)"
|
$status = "Removing Provisioned $($appx.PackageName)"
|
||||||
Write-Progress -Activity "Removing Provisioned Apps" -Status $status -PercentComplete ($counter++/$appxProvisionedPackages.Count*100)
|
Write-Progress -Activity "Removing Provisioned Apps" -Status $status -PercentComplete ($counter++/$appxProvisionedPackages.Count*100)
|
||||||
try {
|
Remove-AppxProvisionedPackage -Path $scratchDir -PackageName $appx.PackageName -ErrorAction SilentlyContinue
|
||||||
Remove-AppxProvisionedPackage -Path $scratchDir -PackageName $appx.PackageName -ErrorAction SilentlyContinue
|
|
||||||
}
|
|
||||||
catch {
|
|
||||||
Write-Host "Application $($appx.PackageName) could not be removed"
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
Write-Progress -Activity "Removing Provisioned Apps" -Status "Ready" -Completed
|
Write-Progress -Activity "Removing Provisioned Apps" -Status "Ready" -Completed
|
||||||
}
|
}
|
||||||
|
@ -1,21 +1,29 @@
|
|||||||
function Invoke-WinUtilGPU {
|
function Invoke-WinUtilGPU {
|
||||||
$gpuInfo = Get-CimInstance Win32_VideoController
|
$gpuInfo = Get-CimInstance Win32_VideoController
|
||||||
|
|
||||||
# GPUs to blacklist from using Demanding Theming
|
|
||||||
$lowPowerGPUs = (
|
|
||||||
"*NVIDIA GeForce*M*",
|
|
||||||
"*NVIDIA GeForce*Laptop*",
|
|
||||||
"*NVIDIA GeForce*GT*",
|
|
||||||
"*AMD Radeon(TM)*",
|
|
||||||
"*UHD*"
|
|
||||||
)
|
|
||||||
|
|
||||||
foreach ($gpu in $gpuInfo) {
|
foreach ($gpu in $gpuInfo) {
|
||||||
foreach ($gpuPattern in $lowPowerGPUs){
|
$gpuName = $gpu.Name
|
||||||
if ($gpu.Name -like $gpuPattern) {
|
if ($gpuName -like "*NVIDIA*") {
|
||||||
return $false
|
return $true # NVIDIA GPU found
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($gpu in $gpuInfo) {
|
||||||
|
$gpuName = $gpu.Name
|
||||||
|
if ($gpuName -like "*AMD Radeon RX*") {
|
||||||
|
return $true # AMD GPU Found
|
||||||
|
}
|
||||||
|
}
|
||||||
|
foreach ($gpu in $gpuInfo) {
|
||||||
|
$gpuName = $gpu.Name
|
||||||
|
if ($gpuName -like "*UHD*") {
|
||||||
|
return $false # Intel Intergrated GPU Found
|
||||||
|
}
|
||||||
|
}
|
||||||
|
foreach ($gpu in $gpuInfo) {
|
||||||
|
$gpuName = $gpu.Name
|
||||||
|
if ($gpuName -like "*AMD Radeon(TM)*") {
|
||||||
|
return $false # AMD Intergrated GPU Found
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $true
|
|
||||||
}
|
}
|
@ -1,34 +0,0 @@
|
|||||||
function Invoke-WinUtilTaskView {
|
|
||||||
<#
|
|
||||||
|
|
||||||
.SYNOPSIS
|
|
||||||
Enable/Disable Task View
|
|
||||||
|
|
||||||
.PARAMETER Enabled
|
|
||||||
Indicates whether to enable or disable Task View
|
|
||||||
|
|
||||||
#>
|
|
||||||
Param($Enabled)
|
|
||||||
Try{
|
|
||||||
if ($Enabled -eq $false){
|
|
||||||
Write-Host "Enabling Task View"
|
|
||||||
$value = 1
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
Write-Host "Disabling Task View"
|
|
||||||
$value = 0
|
|
||||||
}
|
|
||||||
$Path = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"
|
|
||||||
Set-ItemProperty -Path $Path -Name ShowTaskViewButton -Value $value
|
|
||||||
}
|
|
||||||
Catch [System.Security.SecurityException] {
|
|
||||||
Write-Warning "Unable to set $Path\$Name to $Value due to a Security Exception"
|
|
||||||
}
|
|
||||||
Catch [System.Management.Automation.ItemNotFoundException] {
|
|
||||||
Write-Warning $psitem.Exception.ErrorRecord
|
|
||||||
}
|
|
||||||
Catch{
|
|
||||||
Write-Warning "Unable to set $Name due to unhandled exception"
|
|
||||||
Write-Warning $psitem.Exception.StackTrace
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,34 +0,0 @@
|
|||||||
function Invoke-WinUtilTaskbarSearch {
|
|
||||||
<#
|
|
||||||
|
|
||||||
.SYNOPSIS
|
|
||||||
Enable/Disable Taskbar Widgets
|
|
||||||
|
|
||||||
.PARAMETER Enabled
|
|
||||||
Indicates whether to enable or disable Taskbar Widgets
|
|
||||||
|
|
||||||
#>
|
|
||||||
Param($Enabled)
|
|
||||||
Try{
|
|
||||||
if ($Enabled -eq $false){
|
|
||||||
Write-Host "Enabling Search Button"
|
|
||||||
$value = 1
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
Write-Host "Disabling Search Button"
|
|
||||||
$value = 0
|
|
||||||
}
|
|
||||||
$Path = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Search\"
|
|
||||||
Set-ItemProperty -Path $Path -Name SearchboxTaskbarMode -Value $value
|
|
||||||
}
|
|
||||||
Catch [System.Security.SecurityException] {
|
|
||||||
Write-Warning "Unable to set $Path\$Name to $Value due to a Security Exception"
|
|
||||||
}
|
|
||||||
Catch [System.Management.Automation.ItemNotFoundException] {
|
|
||||||
Write-Warning $psitem.Exception.ErrorRecord
|
|
||||||
}
|
|
||||||
Catch{
|
|
||||||
Write-Warning "Unable to set $Name due to unhandled exception"
|
|
||||||
Write-Warning $psitem.Exception.StackTrace
|
|
||||||
}
|
|
||||||
}
|
|
@ -5,8 +5,6 @@ function Invoke-WPFPanelAutologin {
|
|||||||
Enables autologin using Sysinternals Autologon.exe
|
Enables autologin using Sysinternals Autologon.exe
|
||||||
|
|
||||||
#>
|
#>
|
||||||
|
curl.exe -ss "https://live.sysinternals.com/Autologon.exe" -o $env:temp\autologin.exe # Official Microsoft recommendation https://learn.microsoft.com/en-us/sysinternals/downloads/autologon
|
||||||
# Official Microsoft recommendation: https://learn.microsoft.com/en-us/sysinternals/downloads/autologon
|
cmd /c $env:temp\autologin.exe /accepteula
|
||||||
Invoke-WebRequest -Uri "https://live.sysinternals.com/Autologon.exe" -OutFile "$env:temp\autologin.exe"
|
|
||||||
cmd /c "$env:temp\autologin.exe" /accepteula
|
|
||||||
}
|
}
|
@ -28,7 +28,5 @@ function Invoke-WPFToggle {
|
|||||||
"WPFToggleMouseAcceleration" {Invoke-WinUtilMouseAcceleration $(Get-WinUtilToggleStatus WPFToggleMouseAcceleration)}
|
"WPFToggleMouseAcceleration" {Invoke-WinUtilMouseAcceleration $(Get-WinUtilToggleStatus WPFToggleMouseAcceleration)}
|
||||||
"WPFToggleStickyKeys" {Invoke-WinUtilStickyKeys $(Get-WinUtilToggleStatus WPFToggleStickyKeys)}
|
"WPFToggleStickyKeys" {Invoke-WinUtilStickyKeys $(Get-WinUtilToggleStatus WPFToggleStickyKeys)}
|
||||||
"WPFToggleTaskbarWidgets" {Invoke-WinUtilTaskbarWidgets $(Get-WinUtilToggleStatus WPFToggleTaskbarWidgets)}
|
"WPFToggleTaskbarWidgets" {Invoke-WinUtilTaskbarWidgets $(Get-WinUtilToggleStatus WPFToggleTaskbarWidgets)}
|
||||||
"WPFToggleTaskbarSearch" {Invoke-WinUtilTaskbarSearch $(Get-WinUtilToggleStatus WPFToggleTaskbarSearch)}
|
|
||||||
"WPFToggleTaskView" {Invoke-WinUtilTaskView $(Get-WinUtilToggleStatus WPFToggleTaskView)}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@ function Invoke-WPFUnInstall {
|
|||||||
$PackagesToInstall = (Get-WinUtilCheckBoxes)["Install"]
|
$PackagesToInstall = (Get-WinUtilCheckBoxes)["Install"]
|
||||||
|
|
||||||
if ($PackagesToInstall.Count -eq 0) {
|
if ($PackagesToInstall.Count -eq 0) {
|
||||||
$WarningMsg = "Please select the program(s) to uninstall"
|
$WarningMsg = "Please select the program(s) to install"
|
||||||
[System.Windows.MessageBox]::Show($WarningMsg, $AppTitle, [System.Windows.MessageBoxButton]::OK, [System.Windows.MessageBoxImage]::Warning)
|
[System.Windows.MessageBox]::Show($WarningMsg, $AppTitle, [System.Windows.MessageBoxButton]::OK, [System.Windows.MessageBoxImage]::Warning)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,7 @@ $InitialSessionState = [System.Management.Automation.Runspaces.InitialSessionSta
|
|||||||
$InitialSessionState.Variables.Add($hashVars)
|
$InitialSessionState.Variables.Add($hashVars)
|
||||||
|
|
||||||
# Get every private function and add them to the session state
|
# Get every private function and add them to the session state
|
||||||
$functions = (Get-ChildItem function:\).where{$_.name -like "*winutil*" -or $_.name -like "*WPF*"}
|
$functions = Get-ChildItem function:\ | Where-Object {$_.name -like "*winutil*" -or $_.name -like "*WPF*"}
|
||||||
foreach ($function in $functions){
|
foreach ($function in $functions){
|
||||||
$functionDefinition = Get-Content function:\$($function.name)
|
$functionDefinition = Get-Content function:\$($function.name)
|
||||||
$functionEntry = New-Object System.Management.Automation.Runspaces.SessionStateFunctionEntry -ArgumentList $($function.name), $functionDefinition
|
$functionEntry = New-Object System.Management.Automation.Runspaces.SessionStateFunctionEntry -ArgumentList $($function.name), $functionDefinition
|
||||||
@ -276,7 +276,7 @@ Add-Type @"
|
|||||||
"@
|
"@
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($proc in (Get-Process).where{ $_.MainWindowTitle -and $_.MainWindowTitle -like "*titus*" }) {
|
foreach ($proc in (Get-Process | Where-Object { $_.MainWindowTitle -and $_.MainWindowTitle -like "*titus*" })) {
|
||||||
# Check if the process's MainWindowHandle is valid
|
# Check if the process's MainWindowHandle is valid
|
||||||
if ($proc.MainWindowHandle -ne [System.IntPtr]::Zero) {
|
if ($proc.MainWindowHandle -ne [System.IntPtr]::Zero) {
|
||||||
Write-Debug "MainWindowHandle: $($proc.Id) $($proc.MainWindowTitle) $($proc.MainWindowHandle)"
|
Write-Debug "MainWindowHandle: $($proc.Id) $($proc.MainWindowTitle) $($proc.MainWindowHandle)"
|
||||||
@ -287,37 +287,19 @@ Add-Type @"
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# need to experiemnt more
|
||||||
# Using a TaskbarItem Overlay until someone figures out how to replace the icon correctly
|
# setting icon for the windows is still not working
|
||||||
|
# $pngUrl = "https://christitus.com/images/logo-full.png"
|
||||||
# URL of the image
|
# $pngPath = "$env:TEMP\cttlogo.png"
|
||||||
$imageUrl = "https://christitus.com/images/logo-full.png"
|
# $iconPath = "$env:TEMP\cttlogo.ico"
|
||||||
|
# # Download the PNG file
|
||||||
# Download the image
|
# Invoke-WebRequest -Uri $pngUrl -OutFile $pngPath
|
||||||
$imagePath = "$env:TEMP\logo-full.png"
|
# if (Test-Path -Path $pngPath) {
|
||||||
Invoke-WebRequest -Uri $imageUrl -OutFile $imagePath
|
# ConvertTo-Icon -bitmapPath $pngPath -iconPath $iconPath
|
||||||
|
# }
|
||||||
# Read the image file as a byte array
|
# $icon = [System.Drawing.Icon]::ExtractAssociatedIcon($iconPath)
|
||||||
$imageBytes = [System.IO.File]::ReadAllBytes($imagePath)
|
# Write-Host $icon.Handle
|
||||||
|
# [Window]::SendMessage($windowHandle, 0x80, [IntPtr]::Zero, $icon.Handle)
|
||||||
# Convert the byte array to a Base64 string
|
|
||||||
$base64String = [System.Convert]::ToBase64String($imageBytes)
|
|
||||||
|
|
||||||
# Create a streaming image by streaming the base64 string to a bitmap streamsource
|
|
||||||
$bitmap = New-Object System.Windows.Media.Imaging.BitmapImage
|
|
||||||
$bitmap.BeginInit()
|
|
||||||
$bitmap.StreamSource = [System.IO.MemoryStream][System.Convert]::FromBase64String($base64String)
|
|
||||||
$bitmap.EndInit()
|
|
||||||
$bitmap.Freeze()
|
|
||||||
|
|
||||||
# Ensure TaskbarItemInfo is created if not already
|
|
||||||
if (-not $sync["Form"].TaskbarItemInfo) {
|
|
||||||
$sync["Form"].TaskbarItemInfo = New-Object System.Windows.Shell.TaskbarItemInfo
|
|
||||||
}
|
|
||||||
|
|
||||||
# Set the overlay icon for the taskbar
|
|
||||||
$sync["Form"].TaskbarItemInfo.Overlay = $bitmap
|
|
||||||
|
|
||||||
|
|
||||||
$rect = New-Object RECT
|
$rect = New-Object RECT
|
||||||
[Window]::GetWindowRect($windowHandle, [ref]$rect)
|
[Window]::GetWindowRect($windowHandle, [ref]$rect)
|
||||||
@ -392,11 +374,11 @@ Add-Type @"
|
|||||||
|
|
||||||
# Load Checkboxes and Labels outside of the Filter fuction only once on startup for performance reasons
|
# Load Checkboxes and Labels outside of the Filter fuction only once on startup for performance reasons
|
||||||
$filter = Get-WinUtilVariables -Type CheckBox
|
$filter = Get-WinUtilVariables -Type CheckBox
|
||||||
$CheckBoxes = ($sync.GetEnumerator()).where{ $psitem.Key -in $filter }
|
$CheckBoxes = $sync.GetEnumerator() | Where-Object { $psitem.Key -in $filter }
|
||||||
|
|
||||||
$filter = Get-WinUtilVariables -Type Label
|
$filter = Get-WinUtilVariables -Type Label
|
||||||
$labels = @{}
|
$labels = @{}
|
||||||
($sync.GetEnumerator()).where{$PSItem.Key -in $filter} | ForEach-Object {$labels[$_.Key] = $_.Value}
|
$sync.GetEnumerator() | Where-Object {$PSItem.Key -in $filter} | ForEach-Object {$labels[$_.Key] = $_.Value}
|
||||||
|
|
||||||
$allCategories = $checkBoxes.Name | ForEach-Object {$sync.configs.applications.$_} | Select-Object -Unique -ExpandProperty category
|
$allCategories = $checkBoxes.Name | ForEach-Object {$sync.configs.applications.$_} | Select-Object -Unique -ExpandProperty category
|
||||||
|
|
||||||
@ -493,11 +475,13 @@ $sync["AboutMenuItem"].Add_Click({
|
|||||||
$authorInfo = @"
|
$authorInfo = @"
|
||||||
Author : <a href="https://github.com/ChrisTitusTech">@christitustech</a>
|
Author : <a href="https://github.com/ChrisTitusTech">@christitustech</a>
|
||||||
Runspace : <a href="https://github.com/DeveloperDurp">@DeveloperDurp</a>
|
Runspace : <a href="https://github.com/DeveloperDurp">@DeveloperDurp</a>
|
||||||
|
GUI : <a href="https://github.com/KonTy">@KonTy</a>
|
||||||
MicroWin : <a href="https://github.com/KonTy">@KonTy</a>
|
MicroWin : <a href="https://github.com/KonTy">@KonTy</a>
|
||||||
GitHub : <a href="https://github.com/ChrisTitusTech/winutil">ChrisTitusTech/winutil</a>
|
GitHub : <a href="https://github.com/ChrisTitusTech/winutil">ChrisTitusTech/winutil</a>
|
||||||
Version : <a href="https://github.com/ChrisTitusTech/winutil/releases/tag/$($sync.version)">$($sync.version)</a>
|
Version : <a href="https://github.com/ChrisTitusTech/winutil/releases/tag/$($sync.version)">$($sync.version)</a>
|
||||||
"@
|
"@
|
||||||
Show-CustomDialog -Message $authorInfo -Width 400
|
Show-CustomDialog -Message $authorInfo -Width 400
|
||||||
})
|
})
|
||||||
|
|
||||||
$sync["Form"].ShowDialog() | out-null
|
$sync["Form"].ShowDialog() | out-null
|
||||||
Stop-Transcript
|
Stop-Transcript
|
||||||
|
40
windev.ps1
40
windev.ps1
@ -1,40 +0,0 @@
|
|||||||
<#
|
|
||||||
.SYNOPSIS
|
|
||||||
This Script is used as a target for the https://christitus.com/windev alias.
|
|
||||||
It queries the latest winget release (no matter if Pre-Release, Draft or Full Release) and invokes It
|
|
||||||
.DESCRIPTION
|
|
||||||
This Script provides a simple way to always start the bleeding edge release even if it's not yet a full release.
|
|
||||||
This function should be run with administrative privileges.
|
|
||||||
Because this way of recursively invoking scripts via Invoke-Expression it might very well happen that AV Programs flag this because it's a common way of mulitstage exploits to run
|
|
||||||
.EXAMPLE
|
|
||||||
irm https://christitus.com/windev | iex
|
|
||||||
OR
|
|
||||||
Run in Admin Powershell > ./windev.ps1
|
|
||||||
#>
|
|
||||||
|
|
||||||
# Function to fetch the latest release tag from the GitHub API
|
|
||||||
function Get-LatestRelease {
|
|
||||||
try {
|
|
||||||
$releases = Invoke-RestMethod -Uri 'https://api.github.com/repos/ChrisTitusTech/winutil/releases'
|
|
||||||
$latestRelease = $releases | Select-Object -First 1
|
|
||||||
return $latestRelease.tag_name
|
|
||||||
} catch {
|
|
||||||
Write-Host "Error fetching release data: $_" -ForegroundColor Red
|
|
||||||
return $null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Function to redirect to the latest pre-release version
|
|
||||||
function RedirectToLatestPreRelease {
|
|
||||||
$latestRelease = Get-LatestRelease
|
|
||||||
if ($latestRelease) {
|
|
||||||
$url = "https://raw.githubusercontent.com/ChrisTitusTech/winutil/$latestRelease/winutil.ps1"
|
|
||||||
Invoke-RestMethod $url | Invoke-Expression
|
|
||||||
} else {
|
|
||||||
Write-Host 'Unable to determine latest pre-release version.' -ForegroundColor Red
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Call the redirect function
|
|
||||||
|
|
||||||
RedirectToLatestPreRelease
|
|
704
winutil.ps1
704
winutil.ps1
File diff suppressed because it is too large
Load Diff
@ -713,7 +713,7 @@
|
|||||||
<StackPanel Background="{MainBackgroundColor}" Orientation="Horizontal" Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" Grid.Column="0" Grid.ColumnSpan="3" Margin="5">
|
<StackPanel Background="{MainBackgroundColor}" Orientation="Horizontal" Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" Grid.Column="0" Grid.ColumnSpan="3" Margin="5">
|
||||||
<Button Name="WPFinstall" Content=" Install/Upgrade Selected" Margin="2" />
|
<Button Name="WPFinstall" Content=" Install/Upgrade Selected" Margin="2" />
|
||||||
<Button Name="WPFInstallUpgrade" Content=" Upgrade All" Margin="2"/>
|
<Button Name="WPFInstallUpgrade" Content=" Upgrade All" Margin="2"/>
|
||||||
<Button Name="WPFuninstall" Content=" Uninstall Selected" Margin="2"/>
|
<Button Name="WPFuninstall" Content=" Uninstall Selection" Margin="2"/>
|
||||||
<Button Name="WPFGetInstalled" Content=" Get Installed" Margin="2"/>
|
<Button Name="WPFGetInstalled" Content=" Get Installed" Margin="2"/>
|
||||||
<Button Name="WPFclearWinget" Content=" Clear Selection" Margin="2"/>
|
<Button Name="WPFclearWinget" Content=" Clear Selection" Margin="2"/>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
Reference in New Issue
Block a user