mirror of
https://github.com/ChrisTitusTech/winutil.git
synced 2024-11-14 14:45:52 -06:00
1a5f4c4591
* Update Branch in script * Feature/tweaks (#320) * update tweaks * Update Branch in script Co-authored-by: DeveloperDurp <DeveloperDurp@users.noreply.github.com> * Update Branch in script * Feature/applications (#326) * Update Branch in script * Feature/pester (#321) * Update Branch in script * pester for configs * Update Branch in script * update describe * github action * test pipeline * test pipeline * test pipeline * test pipeline * test pipeline * test windows container * gui tests * Updated applications.json to stop failing test * test pipeline * test pipeline * test pipeline * add test for original values if tweak is configured * test pipeline * test pipeline * remove merge request * added test to ensure main script functions Co-authored-by: ChrisTitusTech <ChrisTitusTech@users.noreply.github.com> Co-authored-by: DeveloperDurp <DeveloperDurp@users.noreply.github.com> * Update Branch in script * update pipeline * Update Branch in script * update pipeline * update pipeline * update pipeline * testing psmodule * Update Branch in script * update applications to use json Co-authored-by: DeveloperDurp <DeveloperDurp@users.noreply.github.com> Co-authored-by: ChrisTitusTech <ChrisTitusTech@users.noreply.github.com> * Update Branch in script * Feature/update runspace (#327) * Update Branch in script * update runspace * fix wording * update logic Co-authored-by: DeveloperDurp <DeveloperDurp@users.noreply.github.com> * Update Branch in script * Feature/Change-dns (#334) * Added option for change dns * Update Branch in script Co-authored-by: padsalatushal <padsalatushal@users.noreply.github.com> * Update Branch in script * Update test from hotfixes (#349) * Feature/pester (#321) * Update Branch in script * pester for configs * Update Branch in script * update describe * github action * test pipeline * test pipeline * test pipeline * test pipeline * test pipeline * test windows container * gui tests * Updated applications.json to stop failing test * test pipeline * test pipeline * test pipeline * add test for original values if tweak is configured * test pipeline * test pipeline * remove merge request * added test to ensure main script functions Co-authored-by: ChrisTitusTech <ChrisTitusTech@users.noreply.github.com> Co-authored-by: DeveloperDurp <DeveloperDurp@users.noreply.github.com> * Update Branch in script * Hotfix/fixapplications (#329) * Update Branch in script * fix typo Co-authored-by: DeveloperDurp <DeveloperDurp@users.noreply.github.com> * spelling (#332) * Update Branch in script * Update Branch in script Co-authored-by: DeveloperDurp <developerdurp@durp.info> Co-authored-by: ChrisTitusTech <ChrisTitusTech@users.noreply.github.com> Co-authored-by: DeveloperDurp <DeveloperDurp@users.noreply.github.com> Co-authored-by: Archead <55419973+archead@users.noreply.github.com> * Update Branch in script * fix install spam * Add Toggle for System Dark Mode (#358) * Add Dark Mode System Toggles * Add Dark Mode System Buttons * Try to combine Dark Mode Toggles * Remove Dark Mode System Button test * Fix text i forgot to change between tests. * Add Disable and Enable Mouse Acceleration Tweaks (#362) Co-authored-by: Chris Titus <contact@christitus.com> * New Apps and winget install * Change mouse hover time * Add Ultimate Performance add/remove buttons (#367) * Add Dark Mode System Toggles * Add Dark Mode System Buttons * Try to combine Dark Mode Toggles * Remove Dark Mode System Button test * Fix text i forgot to change between tests. * Add Ultimate Performance * Add ultimate performance button * setting correct username for mainwindow for testing (revert before pull) * fix typo * Update MainWindow.xaml * add ult perf buttons * add remove button for ult perf plan * remove setactive command for powercfg due to incompatibility * Update winutil.ps1 * set back to christitus github for mainwin download * remove thing i added that isnt needed * Autologin fix - curl addition * remove powerrun * fix uneven buttons * fix gui uniformity * Update winutil.ps1 * Update Branch in script * Update runspace.ps1 * Update Branch in script Co-authored-by: ChrisTitusTech <ChrisTitusTech@users.noreply.github.com> Co-authored-by: DeveloperDurp <developerdurp@durp.info> Co-authored-by: DeveloperDurp <DeveloperDurp@users.noreply.github.com> Co-authored-by: Padsala Tushal <57517785+padsalatushal@users.noreply.github.com> Co-authored-by: padsalatushal <padsalatushal@users.noreply.github.com> Co-authored-by: Archead <55419973+archead@users.noreply.github.com> Co-authored-by: lavavex <27239435+lavavex@users.noreply.github.com> Co-authored-by: sidibu <55976675+sidibu@users.noreply.github.com>
335 lines
9.1 KiB
PowerShell
335 lines
9.1 KiB
PowerShell
#This file is meant to assist in building out the json files inside this folder.
|
|
|
|
<#
|
|
Applications.json
|
|
-----------------
|
|
This file holds all the winget commands to install the applications.
|
|
It also has the ablity to expact to other frameworks (IE Choco).
|
|
You can also add multiple winget commands by seperating them with ;
|
|
|
|
The structure of the json is as follows
|
|
|
|
{
|
|
"install": {
|
|
"Name of Button": {
|
|
"winget": "Winget command"
|
|
},
|
|
}
|
|
|
|
Example:
|
|
|
|
{
|
|
"install": {
|
|
"WPFInstalladobe": {
|
|
"winget": "Adobe.Acrobat.Reader.64-bit"
|
|
},
|
|
"WPFInstalladvancedip": {
|
|
"winget": "Famatech.AdvancedIPScanner"
|
|
}
|
|
}
|
|
}
|
|
|
|
#>
|
|
|
|
#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 = ""
|
|
|
|
$ButtonToAdd = New-Object psobject
|
|
$jsonfile = Get-Content ./config/applications.json | ConvertFrom-Json
|
|
|
|
#remove if already exists
|
|
if($jsonfile.install.$NameofButton){
|
|
$jsonfile.install.psobject.Properties.remove($NameofButton)
|
|
}
|
|
|
|
Add-Member -InputObject $ButtonToAdd -MemberType NoteProperty -Name "Winget" -Value $WingetCommand
|
|
Add-Member -InputObject $jsonfile.install -MemberType NoteProperty -Name $NameofButton -Value $ButtonToAdd
|
|
|
|
$jsonfile | ConvertTo-Json | Out-File ./config/applications.json
|
|
|
|
<#
|
|
feature.json
|
|
-----------------
|
|
This file holds all the windows commands to install specefic 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
|
|
-----------------
|
|
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 = ""
|
|
$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
|
|
-----------------
|
|
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.
|
|
|
|
$NameofButton = ""
|
|
|
|
#$Registry = @(
|
|
# #to add more repeat this seperated by a comma
|
|
# @{
|
|
# Path = ""
|
|
# Name = ""
|
|
# Type = ""
|
|
# Value = ""
|
|
# OriginalValue = ""
|
|
# }
|
|
#)
|
|
|
|
#$Service = @(
|
|
# #to add more repeat this seperated by a comma
|
|
# @{
|
|
# Name = ""
|
|
# StartupType = ""
|
|
# OriginalType = ""
|
|
# }
|
|
#)
|
|
|
|
#$ScheduledTask = @(
|
|
# #to add more repeat this seperated by a comma
|
|
# @{
|
|
# Name = ""
|
|
# State = ""
|
|
# OriginalState = ""
|
|
# }
|
|
#)
|
|
|
|
#$Appx = @(
|
|
# ""
|
|
#)
|
|
|
|
#$InvokeScript = @(
|
|
# ""
|
|
#)
|
|
|
|
#$UndoScript = @(
|
|
# ""
|
|
#)
|
|
|
|
$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
|