mirror of
https://github.com/ChrisTitusTech/winutil.git
synced 2024-12-29 01:11:30 -06:00
d0bde83333
* move restore point to runspace (#1056)
* Add Guilded into Communication Tab (#1059)
* Add Guilded into Communication Tab
* Remove Choco Package due to there is no Chocolatey packages
* : Add ZeroTier One to utilities menu (#1061)
* Update applications.json (#1063)
Update to add [SuperF4 - Stefan Sundin](https://stefansundin.github.io/superf4/), as mentioned in #374 [Choco - SuperF4](https://community.chocolatey.org/packages/superf4) maintained by Xav83. [WinGet - SuperF4](https://winstall.app/apps/StefanSundin.Superf4) SuperF4 and Winget package published by Stefan Sundin.
* Update inputXML.xaml (#1062)
Updated inputXML.xaml to account for addition of the SuperF4 software.
* Added AIMP music player (#1064)
* Add Ventoy (Chocolatey Only Package) & .NET Core Runtime (Winget & Chocolatey) (#1066)
* Tidy up SuperF4 line.
* Tidy up SuperF4 line.
Used spaces instead of tabs.
* Add dotnet 7.0.11 Desktop Runtime
* Undone changes to SuperF4 line
* Addition of Ventoy (chocolatey only) package
* Comment Spacing, Indentation, and Capitalization (#1084)
* Comment Spacing, Indentation, and Capitalization
* Comment Grammar and Spacing
Makes grammar in comments better and more consistent
Adds space before comment and centers word in `Write-Host` commands
* More Grammar and Formatting
* Add some comments
* Populate PlaceHolder comments in functions
Files I found that has issues:
Get-WinUtilRegistry.ps1
Install-WinUtilWinget.ps1
Invoke-WinUtilDarkMode.ps1
Remove-WinUtilAPPX.ps1
Test-WinUtilPackageManager.ps1
Update-WinUtilProgramWinget.ps1
Invoke-WPFUpdatessecurity.ps1
* Tweak a few more comments
* Tweak another write-host statement
* Undo Catch statement adjustment
It's outside of the scope of this pull request
* Trim Trailing Whitespace (#1085)
* Trim Trailing Whitespace
* Revert "Trim Trailing Whitespace"
This reverts commit 0ce32aa2c2
.
* Trim Trailing Whitespace, take 2
* Bug Fixes
- Edge Removal pullback to local
- Formatting fixes
* testing refactor to ps1
* Update winget-install to 3.0.1 (#1086)
* Update tweaks.json (#1087)
Capitalized first letter of "path" --> "Path" keys
* Update edgeremoval.ps1
* Update edgeremoval.ps1
* Update edgeremoval.ps1
add error handling
* Update functions.Tests.ps1
* fix catch error
* add MSI Afterburner (#1097)
* Add GitHub stats
* Remove Application Experience
* Thorium addition
* remove sample submission
* testing
* Ultimate Performance
* Home GPEDIT
* Fix Winget Install on New System
---------
Co-authored-by: DeveloperDurp <developerdurp@durp.info>
Co-authored-by: Justawildwolf <62820836+blusewill@users.noreply.github.com>
Co-authored-by: Tim Stone <github@tsdev.au>
Co-authored-by: Will Barnard <5012445+mrwillbarnz@users.noreply.github.com>
Co-authored-by: Ian Bassi <ian.bassi@outlook.com>
Co-authored-by: Carter <60557606+Carterpersall@users.noreply.github.com>
Co-authored-by: Yorai Levi <yorai.email@gmail.com>
Co-authored-by: Saikrishnan K <53394202+K-Saikrishnan@users.noreply.github.com>
399 lines
11 KiB
PowerShell
399 lines
11 KiB
PowerShell
# This file is meant to assist in building out the json files inside this folder.
|
|
|
|
#===========================================================================
|
|
# applications.json
|
|
#===========================================================================
|
|
|
|
<#
|
|
Applications.json
|
|
-----------------
|
|
This file holds all the install commands to install the applications.
|
|
This file has the ability to expect multiple frameworks per checkbox.
|
|
You can also add multiple install commands by separating them with ;
|
|
|
|
The structure of the json is as follows
|
|
|
|
{
|
|
"Name of Button": {
|
|
"winget": "Winget command"
|
|
"choco": "Chocolatey command"
|
|
},
|
|
}
|
|
|
|
Example:
|
|
|
|
{
|
|
"WPFInstalladobe": {
|
|
"winget": "Adobe.Acrobat.Reader.64-bit"
|
|
"choco": "adobereader"
|
|
},
|
|
"WPFInstalladvancedip": {
|
|
"winget": "Famatech.AdvancedIPScanner"
|
|
"choco": "advanced-ip-scanner"
|
|
}
|
|
}
|
|
|
|
#>
|
|
|
|
# Modify the variables and run his code. It will import the current file and add your addition. From there you can create a pull request.
|
|
#------Do not delete WPF------
|
|
|
|
$NameofButton = "WPF" + ""
|
|
$WingetCommand = ""
|
|
$ChocoCommand = ""
|
|
|
|
$ButtonToAdd = New-Object psobject
|
|
$jsonfile = Get-Content ./config/applications.json | ConvertFrom-Json
|
|
|
|
# Remove if already exists
|
|
if($jsonfile.$NameofButton){
|
|
$jsonfile.psobject.Properties.remove($NameofButton)
|
|
}
|
|
|
|
Add-Member -InputObject $ButtonToAdd -MemberType NoteProperty -Name "Winget" -Value $WingetCommand
|
|
Add-Member -InputObject $ButtonToAdd -MemberType NoteProperty -Name "choco" -Value $ChocoCommand
|
|
Add-Member -InputObject $jsonfile.install -MemberType NoteProperty -Name $NameofButton -Value $ButtonToAdd
|
|
|
|
$jsonfile | ConvertTo-Json | Out-File ./config/applications.json
|
|
|
|
#===========================================================================
|
|
# feature.json
|
|
#===========================================================================
|
|
|
|
<#
|
|
feature.json
|
|
-----------------
|
|
This file holds all the windows commands to install specific features (IE Hyper-v)
|
|
|
|
The structure of the json is as follows
|
|
|
|
{
|
|
"Name of Button": [
|
|
"Array of",
|
|
"commands"
|
|
]
|
|
}
|
|
|
|
Example:
|
|
{
|
|
"Featurewsl": [
|
|
"VirtualMachinePlatform",
|
|
"Microsoft-Windows-Subsystem-Linux"
|
|
],
|
|
"Featurenfs": [
|
|
"ServicesForNFS-ClientOnly",
|
|
"ClientForNFS-Infrastructure",
|
|
"NFS-Administration"
|
|
]
|
|
}
|
|
#>
|
|
|
|
# Modify the variables and run his code. It will import the current file and add your addition. From there you can create a pull request.
|
|
|
|
$NameofButton = ""
|
|
$commands = @(
|
|
|
|
)
|
|
|
|
$jsonfile = Get-Content ./config/feature.json | ConvertFrom-Json
|
|
|
|
# Remove if already exists
|
|
if($jsonfile.$NameofButton){
|
|
$jsonfile.psobject.Properties.remove($NameofButton)
|
|
}
|
|
|
|
Add-Member -InputObject $jsonfile -MemberType NoteProperty -Name $NameofButton -Value $commands
|
|
|
|
$jsonfile | ConvertTo-Json | Out-File ./config/feature.json
|
|
|
|
#===========================================================================
|
|
# preset.json
|
|
#===========================================================================
|
|
|
|
<#
|
|
preset.json
|
|
-----------------
|
|
This file holds all check boxes you wish to check when clicking a preset button in the tweaks section.
|
|
|
|
The structure of the json is as follows
|
|
|
|
{
|
|
"Name of Button": [
|
|
"Array of",
|
|
"checkboxes to check"
|
|
]
|
|
}
|
|
|
|
Example:
|
|
{
|
|
"laptop": [
|
|
"EssTweaksAH",
|
|
"EssTweaksDVR",
|
|
"EssTweaksHome",
|
|
"EssTweaksLoc",
|
|
"EssTweaksOO",
|
|
"EssTweaksRP",
|
|
"EssTweaksServices",
|
|
"EssTweaksStorage",
|
|
"EssTweaksTele",
|
|
"EssTweaksWifi",
|
|
"MiscTweaksLapPower",
|
|
"MiscTweaksLapNum"
|
|
],
|
|
"minimal": [
|
|
"EssTweaksHome",
|
|
"EssTweaksOO",
|
|
"EssTweaksRP",
|
|
"EssTweaksServices",
|
|
"EssTweaksTele"
|
|
]
|
|
}
|
|
#>
|
|
|
|
# Modify the variables and run his code. It will import the current file and add your addition. From there you can create a pull request.
|
|
|
|
$NameofButton = "WPF" + ""
|
|
$commands = @(
|
|
|
|
)
|
|
|
|
$jsonfile = Get-Content ./config/preset.json | ConvertFrom-Json
|
|
|
|
# Remove if already exists
|
|
if($jsonfile.$NameofButton){
|
|
$jsonfile.psobject.Properties.remove($NameofButton)
|
|
}
|
|
|
|
Add-Member -InputObject $jsonfile -MemberType NoteProperty -Name $NameofButton -Value $commands
|
|
|
|
$jsonfile | ConvertTo-Json | Out-File ./config/preset.json
|
|
|
|
#===========================================================================
|
|
# tweaks.json
|
|
#===========================================================================
|
|
|
|
<#
|
|
tweaks.json
|
|
-----------------
|
|
This file holds all the tweaks needed to make modifications to windows. This file is the most complicated so modify with care.
|
|
|
|
The structure of the json is as follows
|
|
|
|
{
|
|
"Name of button": {
|
|
"registry" : [
|
|
{
|
|
"Path": "Path in registry",
|
|
"Name": "Name of Registry key",
|
|
"Type": "Item type",
|
|
"Value": "Value to modify",
|
|
"OriginalValue": "value to reset"
|
|
}
|
|
],
|
|
"service" : [
|
|
{
|
|
"Name": "Name of service",
|
|
"StartupType": "Startup type to set",
|
|
"OriginalType": "Startup type to reset"
|
|
}
|
|
],
|
|
"ScheduledTask" : [
|
|
{
|
|
"Name": "Path to scheduled task",
|
|
"State": "State to set",
|
|
"OriginalState": "State to reset"
|
|
}
|
|
],
|
|
"appx": [
|
|
List of appx,
|
|
files to uninstall
|
|
],
|
|
"InvokeScript": [
|
|
"Script to make modifications not possible with the above types
|
|
Special care needs to be taken here as converting from json to a scriptblock
|
|
can cause weird issues. Please look at the example below to get an idea of how things should work"
|
|
],
|
|
"UndoScript": [
|
|
"Same as above however is meant to undo what you did above"
|
|
]
|
|
}
|
|
}
|
|
|
|
Example:
|
|
|
|
{
|
|
EssTweaksAH": {
|
|
"registry" : [
|
|
{
|
|
"Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\System",
|
|
"Name": "EnableActivityFeed",
|
|
"Type": "DWord",
|
|
"Value": "0",
|
|
"OriginalValue": "1"
|
|
},
|
|
{
|
|
"Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\System",
|
|
"Name": "PublishUserActivities",
|
|
"Type": "DWord",
|
|
"Value": "0",
|
|
"OriginalValue": "1"
|
|
}
|
|
]
|
|
},
|
|
"EssTweaksHome": {
|
|
"service" : [
|
|
{
|
|
"Name": "HomeGroupListener",
|
|
"StartupType": "Manual",
|
|
"OriginalType": "Automatic"
|
|
},
|
|
{
|
|
"Name": "HomeGroupProvider",
|
|
"StartupType": "Manual",
|
|
"OriginalType": "Automatic"
|
|
}
|
|
]
|
|
},
|
|
"EssTweaksTele": {
|
|
"ScheduledTask" : [
|
|
{
|
|
"Name": "Microsoft\\Windows\\Application Experience\\Microsoft Compatibility Appraiser",
|
|
"State": "Disabled",
|
|
"OriginalState": "Enabled"
|
|
},
|
|
{
|
|
"Name": "Microsoft\\Windows\\Application Experience\\ProgramDataUpdater",
|
|
"State": "Disabled",
|
|
"OriginalState": "Enabled"
|
|
}
|
|
]
|
|
},
|
|
"EssTweaksDeBloat": {
|
|
"appx": [
|
|
"Microsoft.Microsoft3DViewer",
|
|
"Microsoft.AppConnector"
|
|
]
|
|
},
|
|
"EssTweaksOO": {
|
|
"InvokeScript": [
|
|
"Import-Module BitsTransfer
|
|
Start-BitsTransfer -Source \"https://raw.githubusercontent.com/ChrisTitusTech/win10script/master/ooshutup10.cfg\" -Destination C:\\Windows\\Temp\\ooshutup10.cfg
|
|
Start-BitsTransfer -Source \"https://dl5.oo-software.com/files/ooshutup10/OOSU10.exe\" -Destination C:\\Windows\\Temp\\OOSU10.exe
|
|
C:\\Windows\\Temp\\OOSU10.exe C:\\Windows\\Temp\\ooshutup10.cfg /quiet"
|
|
]
|
|
}
|
|
}
|
|
|
|
#>
|
|
|
|
# Modify the variables and run his code. It will import the current file and add your addition. From there you can create a pull request.
|
|
# Make sure to uncomment the sections you which to add.
|
|
|
|
#$Registry = @(
|
|
# # To add more repeat this separated by a comma
|
|
# @{
|
|
# Path = ""
|
|
# Name = ""
|
|
# Type = ""
|
|
# Value = ""
|
|
# OriginalValue = ""
|
|
# }
|
|
#)
|
|
|
|
#$Service = @(
|
|
# # To add more repeat this separated by a comma
|
|
# @{
|
|
# Name = ""
|
|
# StartupType = ""
|
|
# OriginalType = ""
|
|
# }
|
|
#)
|
|
|
|
#$ScheduledTask = @(
|
|
# # To add more repeat this separated by a comma
|
|
# @{
|
|
# Name = ""
|
|
# State = ""
|
|
# OriginalState = ""
|
|
# }
|
|
#)
|
|
|
|
#$Appx = @(
|
|
# ""
|
|
#)
|
|
|
|
#$InvokeScript = @(
|
|
# ""
|
|
#)
|
|
|
|
#$UndoScript = @(
|
|
# ""
|
|
#)
|
|
|
|
$NameofButton = "WPF" + ""
|
|
|
|
$ButtonToAdd = New-Object psobject
|
|
$jsonfile = Get-Content ./config/tweaks.json | ConvertFrom-Json
|
|
|
|
# Remove if already exists
|
|
if($jsonfile.$NameofButton){
|
|
$jsonfile.psobject.Properties.remove($NameofButton)
|
|
}
|
|
|
|
if($Registry){Add-Member -InputObject $ButtonToAdd -MemberType NoteProperty -Name "registry" -Value $Registry}
|
|
if($Service){Add-Member -InputObject $ButtonToAdd -MemberType NoteProperty -Name "service" -Value $Service}
|
|
if($ScheduledTask){Add-Member -InputObject $ButtonToAdd -MemberType NoteProperty -Name "ScheduledTask" -Value $ScheduledTask}
|
|
if($Appx){Add-Member -InputObject $ButtonToAdd -MemberType NoteProperty -Name "Appx" -Value $Appx}
|
|
if($InvokeScript){Add-Member -InputObject $ButtonToAdd -MemberType NoteProperty -Name "InvokeScript" -Value $InvokeScript}
|
|
if($UndoScript){Add-Member -InputObject $ButtonToAdd -MemberType NoteProperty -Name "UndoScript" -Value $UndoScript}
|
|
|
|
Add-Member -InputObject $jsonfile -MemberType NoteProperty -Name $NameofButton -Value $ButtonToAdd
|
|
|
|
($jsonfile | ConvertTo-Json -Depth 5).replace('\r\n',"`r`n") | Out-File ./config/tweaks.json
|
|
|
|
#===========================================================================
|
|
# dns.json
|
|
#===========================================================================
|
|
|
|
<#
|
|
dns.json
|
|
-----------------
|
|
This file holds all the DNS entries.
|
|
|
|
The structure of the json is as follows
|
|
|
|
{
|
|
"DNS Provider": [
|
|
"Primary": "IP address",
|
|
"Secondary": "IP address"
|
|
]
|
|
}
|
|
|
|
Example:
|
|
{
|
|
"Cloudflare":{
|
|
"Primary": "1.1.1.1",
|
|
"Secondary": "1.0.0.1"
|
|
}
|
|
}
|
|
#>
|
|
|
|
# Modify the variables and run his code. It will import the current file and add your addition. From there you can create a pull request.
|
|
|
|
$NameofProvider = "" -replace " ","_"
|
|
$IPAddress = @{
|
|
"Primary" = "0.0.0.0"
|
|
"Secondary" = "0.0.0.0"
|
|
}
|
|
|
|
$ButtonToAdd = New-Object psobject
|
|
$jsonfile = Get-Content ./config/dns.json | ConvertFrom-Json
|
|
|
|
# Remove if already exists
|
|
if($jsonfile.$NameofProvider){
|
|
$jsonfile.psobject.Properties.remove($NameofProvider)
|
|
}
|
|
|
|
Add-Member -InputObject $jsonfile -MemberType NoteProperty -Name $NameofProvider -Value $IPAddress
|
|
|
|
($jsonfile | ConvertTo-Json -Depth 5).replace('\r\n',"`r`n") | Out-File ./config/dns.json |