mirror of
https://github.com/ChrisTitusTech/winutil.git
synced 2025-05-24 00:07:24 -05:00

* 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 0ce32aa2c2fbf860138856375bdea05e119c36f4. * 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>
100 lines
3.5 KiB
PowerShell
100 lines
3.5 KiB
PowerShell
Function Invoke-WinUtilCurrentSystem {
|
|
|
|
<#
|
|
|
|
.SYNOPSIS
|
|
Checks to see what tweaks have already been applied and what programs are installed, and checks the according boxes
|
|
|
|
.EXAMPLE
|
|
Get-WinUtilCheckBoxes "WPFInstall"
|
|
|
|
#>
|
|
|
|
param(
|
|
$CheckBox
|
|
)
|
|
|
|
if ($checkbox -eq "winget"){
|
|
|
|
$originalEncoding = [Console]::OutputEncoding
|
|
[Console]::OutputEncoding = [System.Text.UTF8Encoding]::new()
|
|
$Sync.InstalledPrograms = winget list -s winget | Select-Object -skip 3 | ConvertFrom-String -PropertyNames "Name", "Id", "Version", "Available" -Delimiter '\s{2,}'
|
|
[Console]::OutputEncoding = $originalEncoding
|
|
|
|
$filter = Get-WinUtilVariables -Type Checkbox | Where-Object {$psitem -like "WPFInstall*"}
|
|
$sync.GetEnumerator() | Where-Object {$psitem.Key -in $filter} | ForEach-Object {
|
|
$dependencies = @($sync.configs.applications.$($psitem.Key).winget -split ";")
|
|
|
|
if ($dependencies[-1] -in $sync.InstalledPrograms.Id) {
|
|
Write-Output $psitem.name
|
|
}
|
|
}
|
|
}
|
|
|
|
if($CheckBox -eq "tweaks"){
|
|
|
|
if(!(Test-Path 'HKU:\')){New-PSDrive -PSProvider Registry -Name HKU -Root HKEY_USERS}
|
|
$ScheduledTasks = Get-ScheduledTask
|
|
|
|
$sync.configs.tweaks | Get-Member -MemberType NoteProperty | ForEach-Object {
|
|
|
|
$Config = $psitem.Name
|
|
#WPFEssTweaksTele
|
|
$registryKeys = $sync.configs.tweaks.$Config.registry
|
|
$scheduledtaskKeys = $sync.configs.tweaks.$Config.scheduledtask
|
|
$serviceKeys = $sync.configs.tweaks.$Config.service
|
|
|
|
if($registryKeys -or $scheduledtaskKeys -or $serviceKeys){
|
|
$Values = @()
|
|
|
|
|
|
Foreach ($tweaks in $registryKeys){
|
|
Foreach($tweak in $tweaks){
|
|
|
|
if(test-path $tweak.Path){
|
|
$actualValue = Get-ItemProperty -Name $tweak.Name -Path $tweak.Path -ErrorAction SilentlyContinue | Select-Object -ExpandProperty $($tweak.Name)
|
|
$expectedValue = $tweak.Value
|
|
if ($expectedValue -notlike $actualValue){
|
|
$values += $False
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Foreach ($tweaks in $scheduledtaskKeys){
|
|
Foreach($tweak in $tweaks){
|
|
$task = $ScheduledTasks | Where-Object {$($psitem.TaskPath + $psitem.TaskName) -like "\$($tweak.name)"}
|
|
|
|
if($task){
|
|
$actualValue = $task.State
|
|
$expectedValue = $tweak.State
|
|
if ($expectedValue -ne $actualValue){
|
|
$values += $False
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Foreach ($tweaks in $serviceKeys){
|
|
Foreach($tweak in $tweaks){
|
|
$Service = Get-Service -Name $tweak.Name
|
|
|
|
if($Service){
|
|
$actualValue = $Service.StartType
|
|
$expectedValue = $tweak.StartupType
|
|
if ($expectedValue -ne $actualValue){
|
|
$values += $False
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if($values -notcontains $false){
|
|
Write-Output $Config
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|