Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion config/applications.json
Original file line number Diff line number Diff line change
Expand Up @@ -555,7 +555,7 @@
"ffmpeg": {
"category": "Utilities",
"choco": "na",
"content": "eibol.FFmpegBatchAVConverter",
"content": "FFmpeg Batch AV Converter",
"description": "FFmpeg Batch AV Converter is a universal audio and video encoder, that allows to use the full potential of ffmpeg command line with a few mouse clicks in a convenient GUI with drag and drop, progress information.",
"link": "https://ffmpeg-batch.sourceforge.io/",
"winget": "eibol.FFmpegBatchAVConverter"
Expand Down
35 changes: 20 additions & 15 deletions config/tweaks.json
Original file line number Diff line number Diff line change
Expand Up @@ -665,7 +665,7 @@
},
{
"Name": "TermService",
"StartupType": "Automatic",
"StartupType": "Manual",
"OriginalType": "Manual"
},
{
Expand Down Expand Up @@ -725,7 +725,7 @@
},
{
"Name": "VaultSvc",
"StartupType": "Automatic",
"StartupType": "Manual",
"OriginalType": "Manual"
},
{
Expand Down Expand Up @@ -1632,7 +1632,7 @@
{
"Path": "HKLM:\\SYSTEM\\CurrentControlSet\\Control\\TimeZoneInformation",
"Name": "RealTimeIsUniversal",
"Type": "QWord",
"Type": "DWord",
"Value": "1",
"OriginalValue": "0"
}
Expand All @@ -1655,12 +1655,16 @@

# Some of OneDrive files use explorer, and OneDrive uses FileCoAuth
Write-Host \"Removing leftover OneDrive Files...\"
Stop-Process -Name FileCoAuth,Explorer
Remove-Item \"$Env:LocalAppData\\Microsoft\\OneDrive\" -Recurse -Force
Remove-Item \"C:\\ProgramData\\Microsoft OneDrive\" -Recurse -Force
Stop-Process -Name FileCoAuth -ErrorAction SilentlyContinue
Remove-Item \"$Env:LocalAppData\\Microsoft\\OneDrive\" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item \"C:\\ProgramData\\Microsoft OneDrive\" -Recurse -Force -ErrorAction SilentlyContinue

# Restart Explorer
Start-Process explorer.exe

# Grant back permission to accses OneDrive folder
icacls $Env:OneDrive /grant \"Administrators:(D,DC)\"
# Reset and grant full control permissions to OneDrive folder
icacls $Env:OneDrive /reset
icacls $Env:OneDrive /grant \"Administrators:(F)\"
"
],
"UndoScript": [
Expand All @@ -1676,7 +1680,7 @@
"Description": "Removes the Home from Explorer and sets This PC as default",
"category": "z__Advanced Tweaks - CAUTION",
"panel": "1",
"Order": "a029_",
"Order": "a029a_",
"InvokeScript": [
"
Remove-Item \"HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Desktop\\NameSpace\\{f874310e-b6b7-47dc-bc84-b9e6b38f5903}\"
Expand All @@ -1696,7 +1700,7 @@
"Description": "Removes the Gallery from Explorer and sets This PC as default",
"category": "z__Advanced Tweaks - CAUTION",
"panel": "1",
"Order": "a029_",
"Order": "a030_",
"InvokeScript": [
"
Remove-Item \"HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Desktop\\NameSpace\\{e88865ea-0e1c-4e20-9aa6-edcd0212c87c}\"
Expand Down Expand Up @@ -2043,11 +2047,12 @@
Get-AppxPackage -AllUsers *Copilot* | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers Microsoft.MicrosoftOfficeHub | Remove-AppxPackage -AllUsers

$Appx = (Get-AppxPackage MicrosoftWindows.Client.CoreAI).PackageFullName
$Sid = (Get-LocalUser $Env:UserName).Sid.Value

New-Item \"HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Appx\\AppxAllUserStore\\EndOfLife\\$Sid\\$Appx\" -Force
Remove-AppxPackage $Appx
$Appx = (Get-AppxPackage *MicrosoftWindows.Client.CoreAI*).PackageFullName
if ($Appx) {
$Sid = (Get-LocalUser $Env:UserName).Sid.Value
New-Item \"HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Appx\\AppxAllUserStore\\EndOfLife\\$Sid\\$Appx\" -Force
Remove-AppxPackage $Appx
}
"
],
"UndoScript": [
Expand Down
2 changes: 1 addition & 1 deletion functions/private/Get-WinUtilToggleStatus.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Function Get-WinUtilToggleStatus {
} else {
Write-Debug "$($regentry.Name) is false (state: $regstate, value: $($regentry.Value), original: $($regentry.OriginalValue))"
}
if (!$regstate) {
if ($null -eq $regstate) {
switch ($regentry.DefaultState) {
"true" {
$regstate = $regentry.Value
Expand Down
80 changes: 55 additions & 25 deletions functions/private/Invoke-WinUtilCurrentSystem.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -41,47 +41,73 @@ Function Invoke-WinUtilCurrentSystem {
}
}

if($CheckBox -eq "tweaks") {
if ($CheckBox -eq "tweaks") {

if(!(Test-Path 'HKU:\')) {$null = (New-PSDrive -PSProvider Registry -Name HKU -Root HKEY_USERS)}
if (!(Test-Path 'HKU:\')) {$null = (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) {
$entry = $sync.configs.tweaks.$Config
$registryKeys = $entry.registry
$scheduledtaskKeys = $entry.scheduledtask
$serviceKeys = $entry.service
$appxKeys = $entry.appx
$invokeScript = $entry.InvokeScript
$entryType = $entry.Type

if ($registryKeys -or $scheduledtaskKeys -or $serviceKeys) {
$Values = @()

if ($entryType -eq "Toggle") {
if (-not (Get-WinUtilToggleStatus $Config)) {
$values += $False
}
} else {
$registryMatchCount = 0
$registryTotal = 0

Foreach ($tweaks in $registryKeys) {
Foreach($tweak in $tweaks) {
Foreach ($tweaks in $registryKeys) {
Foreach ($tweak in $tweaks) {
$registryTotal++
$regstate = $null

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 -eq "<RemoveEntry>") {
if ($null -ne $actualValue) {
$values += $False
}
} elseif ($expectedValue -notlike $actualValue) {
$values += $False
if (Test-Path $tweak.Path) {
$regstate = Get-ItemProperty -Name $tweak.Name -Path $tweak.Path -ErrorAction SilentlyContinue | Select-Object -ExpandProperty $($tweak.Name)
}

if ($null -eq $regstate) {
switch ($tweak.DefaultState) {
"true" {
$regstate = $tweak.Value
}
"false" {
$regstate = $tweak.OriginalValue
}
default {
$regstate = $tweak.OriginalValue
}
}
}

if ($regstate -eq $tweak.Value) {
$registryMatchCount++
}
} else {
$values += $False
}
}

if ($registryTotal -gt 0 -and $registryMatchCount -ne $registryTotal) {
$values += $False
}
}

Foreach ($tweaks in $scheduledtaskKeys) {
Foreach($tweak in $tweaks) {
Foreach ($tweak in $tweaks) {
$task = $ScheduledTasks | Where-Object {$($psitem.TaskPath + $psitem.TaskName) -like "\$($tweak.name)"}

if($task) {
if ($task) {
$actualValue = $task.State
$expectedValue = $tweak.State
if ($expectedValue -ne $actualValue) {
Expand All @@ -92,10 +118,10 @@ Function Invoke-WinUtilCurrentSystem {
}

Foreach ($tweaks in $serviceKeys) {
Foreach($tweak in $tweaks) {
Foreach ($tweak in $tweaks) {
$Service = Get-Service -Name $tweak.Name

if($Service) {
if ($Service) {
$actualValue = $Service.StartType
$expectedValue = $tweak.StartupType
if ($expectedValue -ne $actualValue) {
Expand All @@ -105,9 +131,13 @@ Function Invoke-WinUtilCurrentSystem {
}
}

if($values -notcontains $false) {
if ($values -notcontains $false) {
Write-Output $Config
}
} else {
if ($invokeScript -or $appxKeys) {
Write-Debug "Skipping $Config in Get Installed: no detectable registry, scheduled task, or service state."
}
}
}
}
Expand Down
Loading