mirror of
https://github.com/ChrisTitusTech/winutil.git
synced 2024-11-14 14:45:52 -06:00
a1c7501b98
* Fix of the unit tests (#468) * fix pester tests * fix function (#467) * Cherry pick and fix helper script * remove admin check and disable * Trim Trailing Whitespace (#472) Co-authored-by: Chris Titus <contact@christitus.com> * Better .gitignore (#473) * add progress and add wait to start-process (#475) * Fixed Cloudflare Naming (#504) * Update winutil.ps1 * Update MainWindow.xaml * Update check for Chocolatey (#520) * Update winutil.ps1 * Update check for Chocolatey Let user decide if he wants to install Chocolatey * Update winutil.ps1 (#525) Migrate to Switch-Tab function * Update winutil.ps1 (#531) Changes to "DiagTrack" service. * add responsive winget installs (#540) * add responsive winget installs * Update winutil.ps1 fix typo * remove no longer used paramater * add golang, an installation option in development list (#542) * Updated winget functions (#543) * update functions * Update winutil.ps1 forgot triple quotes * Update winutil.ps1 fixed vscode using wrong double quotes * Functions and error handling (#552) * move winget install to function and exception * updated winget upgrade to new install process * add logging to update * choco to function and write-output to ensure logs * update error handling * revert write-host and add invoke-runspace * Added runspace to load configs in background * fix unit tests * update pester tests * update pester * update pester * update pester * updated tweaks config to use WPF variable name * Fix data type of MouseHoverTime (#568) Setting Computer\HKEY_CURRENT_USER\Control Panel\Mouse\MouseHoverTime needs to be REG_SZ instead of REG_DWORD. With the wrong type the Taskbar and the Start Menu become hard to use because everything pops up instantly, probably because it's then treated as a 0 ms delay. * fix restore launch to quick access & OOSU10 download (#565) * Fix grammar (#577) * Update MainWindow.xaml * Update MainWindow-runspace.xaml * fix enable numlock after startup (#580) * Update README.md (#616) Added DNS provider into readme * Fix O&O ShutUp10 disabling app notifications and hide search box (#630) * Add files via upload Added ooshutup10_winutil_settings and fix the issue where OOSU10 disable app notifications and hide search box in windows. * Update winutil.ps1 Change ooshut10.cfg to ooshutup10_winutil_settings.cfg and fix the issues in https://github.com/ChrisTitusTech/winutil/issues/629 Now when apply the tweaks by O&O ShutUp10, will keep search box and notifications will not be disabled. * Update winutil.ps1 * Update winutil.ps1 --------- Co-authored-by: Chris Titus <contact@christitus.com> * Create ooshutup10_winutil_settings.cfg * Feature/tweakstofunctions (#576) * add functions for services * Move WPFEssTweaksDVR to function * Add invoke script and moved temp files * WPFEssTweaksHiber and formatting * WPFEssTweaksHiber * WPFEssTweaksHome and service * WPFEssTweaksLoc * TPMCheck * WPFEssTweaksDiskCleanup * Add error handling for invoke script * grammer * UAC and tweaks * WPFMiscTweaksDisableNotifications * WPFMiscTweaksRightClickMenu * Added DNS configuration + Reset to DHCP * WPFEssTweaksOO * WPFEssTweaksRP * WPFEssTweaksServices * WPFEssTweaksStorage * WPFEssTweaksTele * WPFEssTweaksWifi * WPFMiscTweaksLapPower * WPFMiscTweaksLapNum * WPFMiscTweaksPower * WPFMiscTweaksNum * WPFMiscTweaksExt * WPFMiscTweaksUTC * WPFMiscTweaksDisplay * Mouse Acceleration * WPFEssTweaksRemoveCortana * WPFEssTweaksDeBloat * set teaks to get checkboxes and loop * remove isdev * add help documentation * Add Quad 9 for #532 and #416 * remove isdev * Update tweaks.json Remove-ItemProperty is no longer needed as this was a bug from a bad commit 4 months ago. --------- Co-authored-by: Chris Titus <contact@christitus.com> * Tweak bingsearch (#620) * add functions for services * Move WPFEssTweaksDVR to function * Add invoke script and moved temp files * WPFEssTweaksHiber and formatting * WPFEssTweaksHiber * WPFEssTweaksHome and service * WPFEssTweaksLoc * TPMCheck * WPFEssTweaksDiskCleanup * Add error handling for invoke script * grammer * UAC and tweaks * WPFMiscTweaksDisableNotifications * WPFMiscTweaksRightClickMenu * Added DNS configuration + Reset to DHCP * WPFEssTweaksOO * WPFEssTweaksRP * WPFEssTweaksServices * WPFEssTweaksStorage * WPFEssTweaksTele * WPFEssTweaksWifi * WPFMiscTweaksLapPower * WPFMiscTweaksLapNum * WPFMiscTweaksPower * WPFMiscTweaksNum * WPFMiscTweaksExt * WPFMiscTweaksUTC * WPFMiscTweaksDisplay * Mouse Acceleration * WPFEssTweaksRemoveCortana * WPFEssTweaksDeBloat * set teaks to get checkboxes and loop * remove isdev * add help documentation * Add Quad 9 for #532 and #416 * remove isdev * Update helper script and add tweak * update changes * Refactor/runspaces (#626) * modify runspace.ps1 to compile * update compiler to include warning * unit test * implement invoke-button and naming standard * naming standard * fix winutil tests * update functions * add version number * fix codeowners * fix import * undo tweaks now pull from config * pester test * Compile Winutil * python and oo cfg -fix python 3 to 3.11 -fix o&o shutup cfg -enable dev mode for testing * Force install missing winget Fix method for winget install on any system. * Deluge Addition * Feature/impex (#619) * add functions for services * Move WPFEssTweaksDVR to function * Add invoke script and moved temp files * WPFEssTweaksHiber and formatting * WPFEssTweaksHiber * WPFEssTweaksHome and service * WPFEssTweaksLoc * TPMCheck * WPFEssTweaksDiskCleanup * Add error handling for invoke script * grammer * UAC and tweaks * WPFMiscTweaksDisableNotifications * WPFMiscTweaksRightClickMenu * Added DNS configuration + Reset to DHCP * WPFEssTweaksOO * WPFEssTweaksRP * WPFEssTweaksServices * WPFEssTweaksStorage * WPFEssTweaksTele * WPFEssTweaksWifi * WPFMiscTweaksLapPower * WPFMiscTweaksLapNum * WPFMiscTweaksPower * WPFMiscTweaksNum * WPFMiscTweaksExt * WPFMiscTweaksUTC * WPFMiscTweaksDisplay * Mouse Acceleration * WPFEssTweaksRemoveCortana * WPFEssTweaksDeBloat * set teaks to get checkboxes and loop * remove isdev * add help documentation * Add Quad 9 for #532 and #416 * remove isdev * Working Import and Export * Add null check * Remove IsDev * sync with test * redo impex * Irm runspace fix (#635) * Update runspace.ps1 * Update start.ps1 * compiled for testing * Compile Winutil * Compile Winutil * test * disable runspace build * test * change compile to ascii * change compile to winutil * Compile Winutil * Delete MainWindow.xaml * Update release.yaml runspace merge job * remove update branch --------- Co-authored-by: DeveloperDurp <developerdurp@durp.info> Co-authored-by: Carter <60557606+Carterpersall@users.noreply.github.com> Co-authored-by: Jacobtread <33708767+jacobtread@users.noreply.github.com> Co-authored-by: jstok84 <jstok84@gmail.com> Co-authored-by: WolfBungalow <irtwit@gmail.com> Co-authored-by: Ankit Yadav <52023083+4nkitd@users.noreply.github.com> Co-authored-by: Starfiresg1 <Starfiresg1@users.noreply.github.com> Co-authored-by: Adrián Insaurralde Avalos <36372335+adrianinsaval@users.noreply.github.com> Co-authored-by: Hyperio <96462198+hyperio546@users.noreply.github.com> Co-authored-by: dennyamarojr <36896116+dennyamarojr@users.noreply.github.com> Co-authored-by: ChrisTitusTech <ChrisTitusTech@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 seperating 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 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
|
|
#===========================================================================
|
|
|
|
<#
|
|
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 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 = @(
|
|
# ""
|
|
#)
|
|
|
|
$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 entrees.
|
|
|
|
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 |