Trim Trailing Whitespace

This commit is contained in:
Carterpersall 2023-10-04 10:08:10 -05:00
parent 807b0fb307
commit 0ce32aa2c2
57 changed files with 236 additions and 236 deletions

View File

@ -23,13 +23,13 @@ Get-ChildItem .\functions -Recurse -File | ForEach-Object {
Get-ChildItem .\xaml | ForEach-Object {
$xaml = (Get-Content $psitem.FullName).replace("'","''")
Write-output "`$$($psitem.BaseName) = '$xaml'" | Out-File ./$scriptname -Append -Encoding ascii
}
Get-ChildItem .\config | Where-Object {$psitem.extension -eq ".json"} | ForEach-Object {
$json = (Get-Content $psitem.FullName).replace("'","''")
Write-output "`$sync.configs.$($psitem.BaseName) = '$json' `| convertfrom-json" | Out-File ./$scriptname -Append -Encoding ascii
}

View File

@ -1,4 +1,4 @@
{
{
"WPFInstall7zip": {
"winget": "7zip.7zip",
"choco": "7zip"
@ -546,7 +546,7 @@
"WPFInstalltidal": {
"Winget": "9NNCB5BS59PH",
"choco": "na"
},
},
"WPFInstallubisoft": {
"winget": "Ubisoft.Connect",
"choco": "ubisoft-connect"

View File

@ -40,7 +40,7 @@
"Microsoft-Windows-Subsystem-Linux"
],
"InvokeScript": [
]
},
"WPFFeaturenfs": {

View File

@ -85,7 +85,7 @@ Example:
"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.
@ -147,14 +147,14 @@ Example:
"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
@ -186,21 +186,21 @@ $jsonfile | ConvertTo-Json | Out-File ./config/preset.json
"Path": "Path in registry",
"Name": "Name of Registry key",
"Type": "Item type",
"Value": "Value to modify",
"Value": "Value to modify",
"OriginalValue": "value to reset"
}
],
"service" : [
{
"Name": "Name of service",
"StartupType": "Startup type to set",
"StartupType": "Startup type to set",
"OriginalType": "Startup type to reset"
}
],
"ScheduledTask" : [
{
"Name": "Path to scheduled task",
"State": "State to set",
"State": "State to set",
"OriginalState": "State to reset"
}
],
@ -211,10 +211,10 @@ $jsonfile | ConvertTo-Json | Out-File ./config/preset.json
"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"
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"
"Same as above however is meant to undo what you did above"
]
}
}
@ -228,14 +228,14 @@ Example:
"Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\System",
"Name": "EnableActivityFeed",
"Type": "DWord",
"Value": "0",
"Value": "0",
"OriginalValue": "1"
},
{
"Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\System",
"Name": "PublishUserActivities",
"Type": "DWord",
"Value": "0",
"Value": "0",
"OriginalValue": "1"
}
]
@ -244,12 +244,12 @@ Example:
"service" : [
{
"Name": "HomeGroupListener",
"StartupType": "Manual",
"StartupType": "Manual",
"OriginalType": "Automatic"
},
{
"Name": "HomeGroupProvider",
"StartupType": "Manual",
"StartupType": "Manual",
"OriginalType": "Automatic"
}
]
@ -258,12 +258,12 @@ Example:
"ScheduledTask" : [
{
"Name": "Microsoft\\Windows\\Application Experience\\Microsoft Compatibility Appraiser",
"State": "Disabled",
"State": "Disabled",
"OriginalState": "Enabled"
},
},
{
"Name": "Microsoft\\Windows\\Application Experience\\ProgramDataUpdater",
"State": "Disabled",
"State": "Disabled",
"OriginalState": "Enabled"
}
]
@ -279,7 +279,7 @@ Example:
"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"
C:\\Windows\\Temp\\OOSU10.exe C:\\Windows\\Temp\\ooshutup10.cfg /quiet"
]
}
}
@ -323,11 +323,11 @@ Example:
#)
#$InvokeScript = @(
# ""
# ""
#)
#$UndoScript = @(
# ""
# ""
#)
$NameofButton = "WPF" + ""
@ -375,7 +375,7 @@ Example:
"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.

View File

@ -1853,7 +1853,7 @@
$preferences.Preferences[28] = 0
Set-ItemProperty -Path \"HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\TaskManager\" -Name \"Preferences\" -Type Binary -Value $preferences.Preferences
}
Remove-Item -Path \"HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\MyComputer\\NameSpace\\{0DB7E03F-FC29-4DC6-9020-FF41B59E513A}\" -Recurse -ErrorAction SilentlyContinue
Remove-Item -Path \"HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\MyComputer\\NameSpace\\{0DB7E03F-FC29-4DC6-9020-FF41B59E513A}\" -Recurse -ErrorAction SilentlyContinue
# Group svchost.exe processes
$ram = (Get-CimInstance -ClassName Win32_PhysicalMemory | Measure-Object -Property Capacity -Sum).Sum / 1kb
@ -2089,26 +2089,26 @@
"
$TeamsPath = [System.IO.Path]::Combine($env:LOCALAPPDATA, 'Microsoft', 'Teams')
$TeamsUpdateExePath = [System.IO.Path]::Combine($TeamsPath, 'Update.exe')
Write-Host \"Stopping Teams process...\"
Stop-Process -Name \"*teams*\" -Force -ErrorAction SilentlyContinue
Write-Host \"Uninstalling Teams from AppData\\Microsoft\\Teams\"
if ([System.IO.File]::Exists($TeamsUpdateExePath)) {
# Uninstall app
$proc = Start-Process $TeamsUpdateExePath \"-uninstall -s\" -PassThru
$proc.WaitForExit()
}
Write-Host \"Removing Teams AppxPackage...\"
Get-AppxPackage \"*Teams*\" | Remove-AppxPackage -ErrorAction SilentlyContinue
Get-AppxPackage \"*Teams*\" -AllUsers | Remove-AppxPackage -AllUsers -ErrorAction SilentlyContinue
Write-Host \"Deleting Teams directory\"
if ([System.IO.Directory]::Exists($TeamsPath)) {
Remove-Item $TeamsPath -Force -Recurse -ErrorAction SilentlyContinue
}
Write-Host \"Deleting Teams uninstall registry key\"
# Uninstall from Uninstall registry key UninstallString
$us = (Get-ChildItem -Path HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall, HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall | Get-ItemProperty | Where-Object { $_.DisplayName -like '*Teams*'}).UninstallString
@ -2133,7 +2133,7 @@
"WPFEssTweaksStorage": {
"InvokeScript": [
"Remove-Item -Path \"HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\StorageSense\\Parameters\\StoragePolicy\" -Recurse -ErrorAction SilentlyContinue"
],
],
"UndoScript": [
"New-Item -Path \"HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\StorageSense\\Parameters\\StoragePolicy\" | Out-Null
"
@ -2163,7 +2163,7 @@
},
"WPFEssTweaksRemoveEdge": {
"InvokeScript": [
"
"
#:: Standalone script by AveYo Source: https://raw.githubusercontent.com/AveYo/fox/main/Edge_Removal.bat
curl.exe -s \"https://raw.githubusercontent.com/AveYo/fox/main/Edge_Removal.bat\" -o $ENV:temp\\edgeremoval.bat
@ -2181,7 +2181,7 @@
"WPFEssTweaksRemoveOnedrive": {
"InvokeScript": [
"
Write-Host \"Kill OneDrive process\"
taskkill.exe /F /IM \"OneDrive.exe\"
taskkill.exe /F /IM \"explorer.exe\"

View File

@ -32,18 +32,18 @@ Function Get-WinUtilCheckBoxes {
if ($uncheck -eq $true){
$CheckBox.value.ischecked = $false
}
}
}
}
if($Group -eq "WPFTweaks"){
$filter = Get-WinUtilVariables -Type Checkbox | Where-Object {$psitem -like "WPF*Tweaks*"}
$CheckBoxes = $sync.GetEnumerator() | Where-Object {$psitem.Key -in $filter}
Foreach ($CheckBox in $CheckBoxes){
if($CheckBox.value.ischecked -eq $true){
$Output.Add($Checkbox.Name)
if ($uncheck -eq $true){
$CheckBox.value.ischecked = $false
}
@ -57,7 +57,7 @@ Function Get-WinUtilCheckBoxes {
Foreach ($CheckBox in $CheckBoxes){
if($CheckBox.value.ischecked -eq $true){
$Output.Add($Checkbox.Name)
if ($uncheck -eq $true){
$CheckBox.value.ischecked = $false
}

View File

@ -1,9 +1,9 @@
function Get-WinUtilInstallerProcess {
<#
.DESCRIPTION
Meant to check for running processes and will return a boolean response
#>
param($Process)

View File

@ -1,14 +1,14 @@
function Get-WinUtilRegistry {
<#
.DESCRIPTION
This function will make all modifications to the registry
.EXAMPLE
Set-WinUtilRegistry -Name "PublishUserActivities" -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\System" -Type "DWord" -Value "0"
#>
#>
param (
$Name,
$Path,
@ -16,7 +16,7 @@ function Get-WinUtilRegistry {
$Value
)
Try{
Try{
$syscheckvalue = Get-ItemPropertyValue -Path $Path -Value $Value # Return Value
}

View File

@ -1,12 +1,12 @@
Function Get-WinUtilToggleStatus {
<#
.DESCRIPTION
Meant to pull the registry keys for a toggle switch and returns true or false
True should mean status is enabled
False should mean status is disabled
#>
Param($ToggleSwitch)
@ -15,7 +15,7 @@ Function Get-WinUtilToggleStatus {
$system = (Get-ItemProperty -path 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize').SystemUsesLightTheme
if($app -eq 0 -and $system -eq 0){
return $true
}
}
else{
return $false
}
@ -24,7 +24,7 @@ Function Get-WinUtilToggleStatus {
$bingsearch = (Get-ItemProperty -path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Search').BingSearchEnabled
if($bingsearch -eq 0){
return $false
}
}
else{
return $true
}

View File

@ -1,10 +1,10 @@
function Get-WinUtilVariables {
<#
.DESCRIPTION
placeholder
#>
param (
[Parameter()]
@ -12,7 +12,7 @@ function Get-WinUtilVariables {
[string]$Type
)
$keys = $sync.keys | Where-Object {$psitem -like "WPF*"}
$keys = $sync.keys | Where-Object {$psitem -like "WPF*"}
if($type){
$output = $keys | ForEach-Object {
@ -23,7 +23,7 @@ function Get-WinUtilVariables {
}
Catch{<#I am here so errors don't get outputted for a couple variables that don't have the .GetType() attribute#>}
}
return $output
return $output
}
return $keys
}

View File

@ -1,10 +1,10 @@
function Install-WinUtilChoco {
<#
.DESCRIPTION
Function is meant to ensure Choco is installed
Function is meant to ensure Choco is installed
#>
try{
@ -14,7 +14,7 @@ function Install-WinUtilChoco {
Write-Host "Chocolatey Already Installed"
return
}
Write-Host "Seems Chocolatey is not installed, installing now?"
#Let user decide if he wants to install Chocolatey
$confirmation = Read-Host "Are you Sure You Want To Proceed:(y/n)"

View File

@ -1,12 +1,12 @@
Function Install-WinUtilProgramWinget {
<#
.DESCRIPTION
This will install programs via Winget using a new powershell.exe instance to prevent the GUI from locking up.
Note the triple quotes are required any time you need a " in a normal script block.
#>
param(
@ -20,7 +20,7 @@ Function Install-WinUtilProgramWinget {
Write-Progress -Activity "$manage Applications" -Status "Starting" -PercentComplete 0
Foreach ($Program in $($ProgramsToInstall -split ",")){
Write-Progress -Activity "$manage Applications" -Status "$manage $Program $($x + 1) of $count" -PercentComplete $($x/$count*100)
if($manage -eq "Installing"){
Start-Process -FilePath winget -ArgumentList "install -e --accept-source-agreements --accept-package-agreements --silent $Program" -NoNewWindow -Wait
@ -28,7 +28,7 @@ Function Install-WinUtilProgramWinget {
if($manage -eq "Uninstalling"){
Start-Process -FilePath winget -ArgumentList "uninstall -e --purge --force --silent $Program" -NoNewWindow -Wait
}
$X++
}

View File

@ -1,19 +1,19 @@
function Get-LatestHash {
$shaUrl = ((Invoke-WebRequest $apiLatestUrl -UseBasicParsing | ConvertFrom-Json).assets | Where-Object { $_.name -match '^Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.txt$' }).browser_download_url
$shaFile = Join-Path -Path $tempFolder -ChildPath 'Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.txt'
$WebClient.DownloadFile($shaUrl, $shaFile)
Get-Content $shaFile
}
function Install-WinUtilWinget {
<#
.DESCRIPTION
Function is meant to ensure winget is installed
Function is meant to ensure winget is installed
#>
Try{
Write-Host "Checking if Winget is Installed..."
@ -39,7 +39,7 @@ function Install-WinUtilWinget {
Write-Host "Running Alternative Installer and Direct Installing"
Start-Process -Verb runas -FilePath powershell.exe -ArgumentList "irm https://raw.githubusercontent.com/ChrisTitusTech/winutil/main/winget.ps1 | iex"
Write-Host "Winget Installed"
}
Catch{

View File

@ -1,9 +1,9 @@
function Invoke-WinUtilBingSearch {
<#
.DESCRIPTION
Sets Bing Search on or off
#>
Param($Enabled)
Try{

View File

@ -46,19 +46,19 @@ Function Invoke-WinUtilCurrentSystem {
$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
$values += $False
}
}
}
@ -67,7 +67,7 @@ Function Invoke-WinUtilCurrentSystem {
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
@ -81,7 +81,7 @@ Function Invoke-WinUtilCurrentSystem {
Foreach ($tweaks in $serviceKeys){
Foreach($tweak in $tweaks){
$Service = Get-Service -Name $tweak.Name
if($Service){
$actualValue = $Service.StartType
$expectedValue = $tweak.StartupType

View File

@ -1,9 +1,9 @@
Function Invoke-WinUtilDarkMode {
<#
.DESCRIPTION
Sets Dark Mode on or off
#>
Param($DarkMoveEnabled)
Try{
@ -15,7 +15,7 @@ Function Invoke-WinUtilDarkMode {
Write-Host "Disabling Dark Mode"
$DarkMoveValue = 1
}
$Theme = "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize"
Set-ItemProperty -Path $Theme -Name AppsUseLightTheme -Value $DarkMoveValue
Set-ItemProperty -Path $Theme -Name SystemUsesLightTheme -Value $DarkMoveValue

View File

@ -1,9 +1,9 @@
function Invoke-WinUtilFeatureInstall {
<#
.DESCRIPTION
This function converts all the values from the tweaks.json and routes them to the appropriate function
#>
param(
@ -13,7 +13,7 @@ function Invoke-WinUtilFeatureInstall {
$CheckBox | ForEach-Object {
if($sync.configs.feature.$psitem.feature){
Foreach( $feature in $sync.configs.feature.$psitem.feature ){
Try{
Try{
Write-Host "Installing $feature"
Enable-WindowsOptionalFeature -Online -FeatureName $feature -All -NoRestart
}
@ -24,10 +24,10 @@ function Invoke-WinUtilFeatureInstall {
else{
Write-Warning "Unable to Install $feature due to unhandled exception"
Write-Warning $psitem.Exception.StackTrace
Write-Warning $psitem.Exception.StackTrace
}
}
}
}
}
if($sync.configs.feature.$psitem.InvokeScript){
Foreach( $script in $sync.configs.feature.$psitem.InvokeScript ){
@ -44,10 +44,10 @@ function Invoke-WinUtilFeatureInstall {
else{
Write-Warning "Unable to Install $feature due to unhandled exception"
Write-Warning $psitem.Exception.StackTrace
Write-Warning $psitem.Exception.StackTrace
}
}
}
}
}
}
}

View File

@ -1,6 +1,6 @@
function Invoke-WinUtilScript {
<#
.DESCRIPTION
This function will run a separate powershell script. Meant for things that can't be handled with the other functions
@ -8,7 +8,7 @@ function Invoke-WinUtilScript {
$Scriptblock = [scriptblock]::Create({"Write-output 'Hello World'"})
Invoke-WinUtilScript -ScriptBlock $scriptblock -Name "Hello World"
#>
param (
$Name,
@ -38,7 +38,7 @@ function Invoke-WinUtilScript {
Catch {
# Generic catch block to handle any other type of exception
Write-Warning "Unable to run script for $name due to unhandled exception"
Write-Warning $psitem.Exception.StackTrace
Write-Warning $psitem.Exception.StackTrace
}
}

View File

@ -1,9 +1,9 @@
function Invoke-WinUtilTweaks {
<#
.DESCRIPTION
This function converts all the values from the tweaks.json and routes them to the appropriate function
#>
param(
@ -18,7 +18,7 @@ function Invoke-WinUtilTweaks {
ScriptType = "UndoScript"
}
}
}
Else{
$Values = @{
Registry = "Value"

View File

@ -1,13 +1,13 @@
function Remove-WinUtilAPPX {
<#
.DESCRIPTION
This function will remove any of the provided APPX names
.EXAMPLE
Remove-WinUtilAPPX -Name "Microsoft.Microsoft3DViewer"
#>
param (
$Name
@ -24,11 +24,11 @@ function Remove-WinUtilAPPX {
}
Else{
Write-Warning "Unable to uninstall $name due to unhandled exception"
Write-Warning $psitem.Exception.StackTrace
Write-Warning $psitem.Exception.StackTrace
}
}
Catch{
Write-Warning "Unable to uninstall $name due to unhandled exception"
Write-Warning $psitem.Exception.StackTrace
Write-Warning $psitem.Exception.StackTrace
}
}

View File

@ -1,13 +1,13 @@
function Set-WinUtilDNS {
<#
.DESCRIPTION
This function will set the DNS of all interfaces that are in the "Up" state. It will lookup the values from the DNS.Json file
.EXAMPLE
Set-WinUtilDNS -DNSProvider "google"
#>
param($DNSProvider)
if($DNSProvider -eq "Default"){return}
@ -27,6 +27,6 @@ function Set-WinUtilDNS {
}
Catch{
Write-Warning "Unable to set DNS Provider due to an unhandled exception"
Write-Warning $psitem.Exception.StackTrace
Write-Warning $psitem.Exception.StackTrace
}
}

View File

@ -1,14 +1,14 @@
function Set-WinUtilRegistry {
<#
.DESCRIPTION
This function will make all modifications to the registry
.EXAMPLE
Set-WinUtilRegistry -Name "PublishUserActivities" -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\System" -Type "DWord" -Value "0"
#>
#>
param (
$Name,
$Path,
@ -16,7 +16,7 @@ function Set-WinUtilRegistry {
$Value
)
Try{
Try{
if(!(Test-Path 'HKU:\')){New-PSDrive -PSProvider Registry -Name HKU -Root HKEY_USERS}
If (!(Test-Path $Path)) {

View File

@ -1,10 +1,10 @@
function Set-WinUtilRestorePoint {
<#
.DESCRIPTION
This function will make a Restore Point
#>
#>
# Check if the user has administrative privileges
if (-Not ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) {
@ -24,7 +24,7 @@ function Set-WinUtilRestorePoint {
$exists = Get-ItemProperty -path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRestore" -name "SystemRestorePointCreationFrequency" -ErrorAction SilentlyContinue
if($null -eq $exists){
write-host 'Changing system to allow multiple restore points per day'
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRestore" -Name "SystemRestorePointCreationFrequency" -Value "0" -Type DWord -Force -ErrorAction Stop | Out-Null
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRestore" -Name "SystemRestorePointCreationFrequency" -Value "0" -Type DWord -Force -ErrorAction Stop | Out-Null
}
# Get all the restore points for the current day
@ -33,7 +33,7 @@ function Set-WinUtilRestorePoint {
# Check if there is already a restore point created today
if ($existingRestorePoints.Count -eq 0) {
$description = "System Restore Point created by WinUtil"
Checkpoint-Computer -Description $description -RestorePointType "MODIFY_SETTINGS"
Write-Host -ForegroundColor Green "System Restore Point Created Successfully"
}

View File

@ -1,13 +1,13 @@
function Set-WinUtilScheduledTask {
<#
.DESCRIPTION
This function will enable/disable the provided Scheduled Task
.EXAMPLE
Set-WinUtilScheduledTask -Name "Microsoft\Windows\Application Experience\Microsoft Compatibility Appraiser" -State "Disabled"
#>
param (
$Name,
@ -35,6 +35,6 @@ function Set-WinUtilScheduledTask {
}
Catch{
Write-Warning "Unable to run script for $name due to unhandled exception"
Write-Warning $psitem.Exception.StackTrace
Write-Warning $psitem.Exception.StackTrace
}
}

View File

@ -1,24 +1,24 @@
Function Set-WinUtilService {
<#
.DESCRIPTION
This function will change the startup type of services and start/stop them as needed
.EXAMPLE
Set-WinUtilService -Name "HomeGroupListener" -StartupType "Manual"
#>
#>
param (
$Name,
$StartupType
)
try {
Write-Host "Setting Service $Name to $StartupType"
# Check if the service exists
$service = Get-Service -Name $Name -ErrorAction Stop
# Service exists, proceed with changing properties
$service | Set-Service -StartupType $StartupType -ErrorAction Stop
}
@ -29,5 +29,5 @@ Function Set-WinUtilService {
Write-Warning "Unable to set $Name due to unhandled exception"
Write-Warning $_.Exception.Message
}
}

View File

@ -1,13 +1,13 @@
function Set-WinUtilUITheme {
<#
.DESCRIPTION
This function will set theme to the XAML file
.EXAMPLE
Set-WinUtilUITheme -inputXAML $inputXAML
#>
param
(
@ -41,7 +41,7 @@ function Set-WinUtilUITheme {
}
catch {
Write-Warning "Unable to apply theme"
Write-Warning $psitem.Exception.StackTrace
Write-Warning $psitem.Exception.StackTrace
}
return $inputXML;

View File

@ -1,9 +1,9 @@
function Test-WinUtilPackageManager {
<#
.DESCRIPTION
Checks for Winget or Choco depending on the parameter
#>
Param(

View File

@ -1,10 +1,10 @@
Function Update-WinUtilProgramWinget {
<#
.DESCRIPTION
This will update programs via Winget using a new powershell.exe instance to prevent the GUI from locking up.
#>
[ScriptBlock]$wingetinstall = {

View File

@ -1,15 +1,15 @@
function Invoke-WPFButton {
<#
.DESCRIPTION
Meant to make creating buttons easier. There is a section below in the gui that will assign this function to every button.
This way you can dictate what each button does from this function.
Input will be the name of the button that is clicked.
This way you can dictate what each button does from this function.
Input will be the name of the button that is clicked.
#>
Param ([string]$Button)
Param ([string]$Button)
#Use this to get the name of the button
#[System.Windows.MessageBox]::Show("$Button","Chris Titus Tech's Windows Utility","OK","Info")

View File

@ -1,9 +1,9 @@
function Invoke-WPFControlPanel {
<#
.DESCRIPTION
Simple Switch for legacy windows
#>
param($Panel)

View File

@ -1,9 +1,9 @@
function Invoke-WPFFeatureInstall {
<#
.DESCRIPTION
GUI Function to install Windows Features
#>
if($sync.ProcessRunning){
@ -26,12 +26,12 @@ function Invoke-WPFFeatureInstall {
Write-Host "--- Features are Installed ---"
Write-Host "--- A Reboot may be required ---"
Write-Host "==================================="
$ButtonType = [System.Windows.MessageBoxButton]::OK
$MessageboxTitle = "All features are now installed "
$Messageboxbody = ("Done")
$MessageIcon = [System.Windows.MessageBoxImage]::Information
[System.Windows.MessageBox]::Show($Messageboxbody, $MessageboxTitle, $ButtonType, $MessageIcon)
}
}

View File

@ -1,9 +1,9 @@
function Invoke-WPFFixesNetwork {
<#
.DESCRIPTION
PlaceHolder
#>
Write-Host "Resetting Network with netsh"

View File

@ -1,10 +1,10 @@
function Invoke-WPFFixesUpdate {
<#
.DESCRIPTION
PlaceHolder
#>
### Reset Windows Update Script - reregister dlls, services, and remove registry entries.

View File

@ -1,9 +1,9 @@
Function Invoke-WPFFormVariables {
<#
.DESCRIPTION
PlaceHolder
#>
#If ($global:ReadmeDisplay -ne $true) { Write-Host "If you need to reference this display again, run Get-FormVariables" -ForegroundColor Yellow; $global:ReadmeDisplay = $true }

View File

@ -31,9 +31,9 @@ function Invoke-WPFGetInstalled {
if($checkbox -eq "tweaks"){
Write-Host "Getting Installed Tweaks..."
}
$Checkboxes = Invoke-WinUtilCurrentSystem -CheckBox $checkbox
$sync.form.Dispatcher.invoke({
foreach($checkbox in $Checkboxes){
$sync.$checkbox.ischecked = $True

View File

@ -1,13 +1,13 @@
function Invoke-WPFImpex {
<#
.DESCRIPTION
This function handles importing and exporting of the checkboxes checked for the tweaks section
.EXAMPLE
Invoke-WPFImpex -type "export"
#>
param(
$type,
@ -18,7 +18,7 @@ function Invoke-WPFImpex {
$FileBrowser = New-Object System.Windows.Forms.SaveFileDialog
}
if ($type -eq "import"){
$FileBrowser = New-Object System.Windows.Forms.OpenFileDialog
$FileBrowser = New-Object System.Windows.Forms.OpenFileDialog
}
$FileBrowser.InitialDirectory = [Environment]::GetFolderPath('Desktop')
@ -28,7 +28,7 @@ function Invoke-WPFImpex {
if($FileBrowser.FileName -eq ""){
return
}
if ($type -eq "export"){
$jsonFile = Get-WinUtilCheckBoxes $checkbox -unCheck $false
$jsonFile | ConvertTo-Json | Out-File $FileBrowser.FileName -Force

View File

@ -1,9 +1,9 @@
function Invoke-WPFInstall {
<#
.DESCRIPTION
PlaceHolder
#>
if($sync.ProcessRunning){
@ -35,7 +35,7 @@ function Invoke-WPFInstall {
$MessageboxTitle = "Installs are Finished "
$Messageboxbody = ("Done")
$MessageIcon = [System.Windows.MessageBoxImage]::Information
[System.Windows.MessageBox]::Show($Messageboxbody, $MessageboxTitle, $ButtonType, $MessageIcon)
Write-Host "==========================================="

View File

@ -1,9 +1,9 @@
function Invoke-WPFInstallUpgrade {
<#
.DESCRIPTION
PlaceHolder
#>
if(!(Test-WinUtilPackageManager -winget)){
Write-Host "==========================================="

View File

@ -1,9 +1,9 @@
function Invoke-WPFPanelAutologin {
<#
.DESCRIPTION
PlaceHolder
#>
curl.exe -ss "https://live.sysinternals.com/Autologon.exe" -o $env:temp\autologin.exe # Official Microsoft recommendation https://learn.microsoft.com/en-us/sysinternals/downloads/autologon
cmd /c $env:temp\autologin.exe /accepteula

View File

@ -1,9 +1,9 @@
function Invoke-WPFPanelDISM {
<#
.DESCRIPTION
PlaceHolder
#>
Start-Process PowerShell -ArgumentList "Write-Host '(1/4) Chkdsk' -ForegroundColor Green; Chkdsk /scan;
Write-Host '`n(2/4) SFC - 1st scan' -ForegroundColor Green; sfc /scannow;

View File

@ -1,9 +1,9 @@
function Invoke-WPFRunspace {
<#
.DESCRIPTION
Simple function to make it easier to invoke a runspace from inside the script.
Simple function to make it easier to invoke a runspace from inside the script.
.EXAMPLE
@ -14,14 +14,14 @@ function Invoke-WPFRunspace {
}
Invoke-WPFRunspace @params
#>
[CmdletBinding()]
Param (
$ScriptBlock,
$ArgumentList
)
)
#Crate a PowerShell instance.
$script:powershell = [powershell]::Create()
@ -30,7 +30,7 @@ function Invoke-WPFRunspace {
$script:powershell.AddScript($ScriptBlock)
$script:powershell.AddArgument($ArgumentList)
$script:powershell.RunspacePool = $sync.runspace
#Run our RunspacePool.
$script:handle = $script:powershell.BeginInvoke()

View File

@ -9,7 +9,7 @@ function Invoke-WPFShortcut {
Switch ($ShortcutToAdd) {
"WinUtil" {
$SourceExe = "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"
$SourceExe = "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"
$IRM = 'irm https://christitus.com/win | iex'
$Powershell = '-ExecutionPolicy Bypass -Command "Start-Process powershell.exe -verb runas -ArgumentList'
$ArgumentsToSourceExe = "$powershell '$IRM'"
@ -28,6 +28,6 @@ function Invoke-WPFShortcut {
$Shortcut.TargetPath = $SourceExe
$Shortcut.Arguments = $ArgumentsToSourceExe
$Shortcut.Save()
Write-Host "Shortcut for $ShortcutToAdd has been saved to $($FileBrowser.FileName)"
}

View File

@ -1,10 +1,10 @@
function Invoke-WPFTab {
<#
.DESCRIPTION
Sole purpose of this function is to reduce duplicated code for switching between tabs.
Sole purpose of this function is to reduce duplicated code for switching between tabs.
#>
Param ($ClickedTab)
@ -13,7 +13,7 @@ function Invoke-WPFTab {
$x = [int]($ClickedTab -replace "WPFTab","" -replace "BT","") - 1
0..($Tabs.Count -1 ) | ForEach-Object {
if ($x -eq $psitem){
$sync.$TabNav.Items[$psitem].IsSelected = $true
}

View File

@ -1,15 +1,15 @@
function Invoke-WPFToggle {
<#
.DESCRIPTION
Meant to make creating toggle switches easier. There is a section below in the gui that will assign this function to every switch.
This way you can dictate what each button does from this function.
Input will be the name of the toggle that is checked.
This way you can dictate what each button does from this function.
Input will be the name of the toggle that is checked.
#>
Param ([string]$Button)
Param ([string]$Button)
#Use this to get the name of the button
#[System.Windows.MessageBox]::Show("$Button","Chris Titus Tech's Windows Utility","OK","Info")

View File

@ -1,9 +1,9 @@
Function Invoke-WPFUltimatePerformance {
<#
.DESCRIPTION
PlaceHolder
#>
param($State)
Try{
@ -31,7 +31,7 @@ Function Invoke-WPFUltimatePerformance {
}
else {
Write-Host "Power scheme '$powerSchemeName' already exists."
}
}
}
elseif($state -eq "Disabled"){
# Define the name of the power scheme you want to remove
@ -50,10 +50,10 @@ Function Invoke-WPFUltimatePerformance {
if($null -ne $guid){
Write-Host "Found power scheme '$powerSchemeName' with GUID $guid. Removing..."
# Remove the power scheme
powercfg /delete $guid
Write-Host "Power scheme removed successfully."
}
else {
@ -65,7 +65,7 @@ Function Invoke-WPFUltimatePerformance {
}
}
}
Catch{
Write-Warning $psitem.Exception.Message

View File

@ -1,9 +1,9 @@
function Invoke-WPFUnInstall {
<#
.DESCRIPTION
PlaceHolder
#>
if($sync.ProcessRunning){
@ -41,7 +41,7 @@ function Invoke-WPFUnInstall {
$MessageboxTitle = "Uninstalls are Finished "
$Messageboxbody = ("Done")
$MessageIcon = [System.Windows.MessageBoxImage]::Information
[System.Windows.MessageBox]::Show($Messageboxbody, $MessageboxTitle, $ButtonType, $MessageIcon)
Write-Host "==========================================="

View File

@ -1,9 +1,9 @@
function Invoke-WPFUpdatesdefault {
<#
.DESCRIPTION
PlaceHolder
#>
If (!(Test-Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU")) {
New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" -Force | Out-Null

View File

@ -1,9 +1,9 @@
function Invoke-WPFUpdatesdisable {
<#
.DESCRIPTION
PlaceHolder
#>
If (!(Test-Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU")) {
New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" -Force | Out-Null

View File

@ -1,9 +1,9 @@
function Invoke-WPFUpdatessecurity {
<#
.DESCRIPTION
PlaceHolder
#>
Write-Host "Disabling driver offering through Windows Update..."
If (!(Test-Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Device Metadata")) {

View File

@ -1,9 +1,9 @@
function Invoke-WPFtweaksbutton {
<#
.DESCRIPTION
PlaceHolder
#>
if($sync.ProcessRunning){

View File

@ -1,9 +1,9 @@
function Invoke-WPFundoall {
<#
.DESCRIPTION
PlaceHolder
#>
if($sync.ProcessRunning){
@ -18,8 +18,8 @@ function Invoke-WPFundoall {
$msg = "Please check the tweaks you wish to undo."
[System.Windows.MessageBox]::Show($msg, "Winutil", [System.Windows.MessageBoxButton]::OK, [System.Windows.MessageBoxImage]::Warning)
return
}
}
Invoke-WPFRunspace -ArgumentList $Tweaks -ScriptBlock {
param($Tweaks)

View File

@ -15,7 +15,7 @@
'PSShouldProcess',
'PSUseApprovedVerbs',
'PSUseDeclaredVarsMoreThanAssignments')
#>
#>
# Do not analyze the following rules. Use ExcludeRules when you have
# commented out the IncludeRules settings above and want to include all
# the default rules except for those you exclude below.

View File

@ -7,21 +7,21 @@
}
#endregion Load Variables needed for testing
#endregion Load Variables needed for testing
#===========================================================================
# Tests - Application Installs
#===========================================================================
Describe "Config Files" -ForEach @(
@{
@{
name = "applications"
config = $('{
"winget": "value",
"choco": "value"
}' | ConvertFrom-Json)
},
@{
@{
name = "tweaks"
undo = $true
}
@ -41,7 +41,7 @@ Describe "Config Files" -ForEach @(
$result.Add($application)
}
}
$result | Select-String "WPF*" | should -BeNullOrEmpty
}
}
@ -52,16 +52,16 @@ Describe "Config Files" -ForEach @(
foreach ($tweak in $tweaks){
$Originals = @(
@{
name = "registry"
@{
name = "registry"
value = "OriginalValue"
},
@{
name = "service"
@{
name = "service"
value = "OriginalType"
},
@{
name = "ScheduledTask"
},
@{
name = "ScheduledTask"
value = "OriginalState"
}
)

View File

@ -3,14 +3,14 @@
#===========================================================================
Describe "Functions"{
Get-ChildItem .\functions -Recurse -File | ForEach-Object {
context "$($psitem.BaseName)" {
BeforeEach -Scriptblock {
. $fullname
}
It "Imports with no errors" -TestCases @{
basename = $($psitem.BaseName)
fullname = $psitem.FullName

View File

@ -3,10 +3,10 @@
./Compile.ps1
$script = Get-Content .\winutil.ps1
$script[0..($script.count - 21)] | Out-File .\pester.ps1
$script[0..($script.count - 21)] | Out-File .\pester.ps1
#endregion Load Variables needed for testing
#endregion Load Variables needed for testing
BeforeAll {
. .\pester.ps1
@ -23,5 +23,5 @@ Describe "GUI" {
It "Imports with no errors" {
$sync.Form | should -Not -BeNullOrEmpty
}
}
}
}

View File

@ -15,7 +15,7 @@ $functions = Get-ChildItem function:\ | Where-Object {$_.name -like "*winutil*"
foreach ($function in $functions){
$functionDefinition = Get-Content function:\$($function.name)
$functionEntry = New-Object System.Management.Automation.Runspaces.SessionStateFunctionEntry -ArgumentList $($function.name), $functionDefinition
# And add it to the iss object
$initialSessionState.Commands.Add($functionEntry)
}
@ -33,7 +33,7 @@ $sync.runspace.Open()
WingetFailedInstall($Message) : base($Message) {}
}
class ChocoFailedInstall : Exception {
[string] $additionalData
@ -45,7 +45,7 @@ $sync.runspace.Open()
GenericException($Message) : base($Message) {}
}
#endregion exception classes
$inputXML = $inputXML -replace 'mc:Ignorable="d"', '' -replace "x:N", 'N' -replace '^<Win.*', '<Window'

View File

@ -8,7 +8,7 @@
Background="{MainBackgroundColor}"
WindowStartupLocation="CenterScreen"
Title="Chris Titus Tech's Windows Utility" Height="800" Width="1200">
<Window.Resources>
<Style TargetType="ComboBox">
<Setter Property="Foreground" Value="{ComboBoxForegroundColor}" />
@ -24,7 +24,7 @@
IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
ClickMode="Press">
<TextBlock Text="{TemplateBinding SelectionBoxItem}"
Foreground="{TemplateBinding Foreground}"
Foreground="{TemplateBinding Foreground}"
Background="{TemplateBinding Background}"
/>
</ToggleButton>
@ -132,24 +132,24 @@
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Style>
<Style x:Key="ToggleSwitchStyle" TargetType="CheckBox">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="CheckBox">
<StackPanel>
<Grid>
<Border Width="45"
<Border Width="45"
Height="20"
Background="#555555"
CornerRadius="10"
Background="#555555"
CornerRadius="10"
Margin="5,0"
/>
<Border Name="WPFToggleSwitchButton"
Width="25"
Width="25"
Height="25"
Background="Black"
CornerRadius="12.5"
Background="Black"
CornerRadius="12.5"
HorizontalAlignment="Left"
/>
<ContentPresenter Name="WPFToggleSwitchContent"
@ -216,13 +216,13 @@
</Grid.ColumnDefinitions>
<DockPanel Background="{MainBackgroundColor}" SnapsToDevicePixels="True" Grid.Row="0" Width="1100">
<Image Height="50" Width="50" Name="WPFIcon" SnapsToDevicePixels="True" Source="https://christitus.com/images/logo-full.png" Margin="0,10,0,10"/>
<Button Content="Install" HorizontalAlignment="Left" Height="40" Width="100"
<Button Content="Install" HorizontalAlignment="Left" Height="40" Width="100"
Background="{ButtonInstallBackgroundColor}" Foreground="{ButtonInstallForegroundColor}" FontWeight="Bold" Name="WPFTab1BT"/>
<Button Content="Tweaks" HorizontalAlignment="Left" Height="40" Width="100"
<Button Content="Tweaks" HorizontalAlignment="Left" Height="40" Width="100"
Background="{ButtonTweaksBackgroundColor}" Foreground="{ButtonInstallForegroundColor}" FontWeight="Bold" Name="WPFTab2BT"/>
<Button Content="Config" HorizontalAlignment="Left" Height="40" Width="100"
<Button Content="Config" HorizontalAlignment="Left" Height="40" Width="100"
Background="{ButtonConfigBackgroundColor}" Foreground="{ButtonInstallForegroundColor}" FontWeight="Bold" Name="WPFTab3BT"/>
<Button Content="Updates" HorizontalAlignment="Left" Height="40" Width="100"
<Button Content="Updates" HorizontalAlignment="Left" Height="40" Width="100"
Background="{ButtonUpdatesBackgroundColor}" Foreground="{ButtonInstallForegroundColor}" FontWeight="Bold" Name="WPFTab4BT"/>
</DockPanel>
<TabControl Grid.Row="1" Padding="-1" Name="WPFTabNav" Background="#222222">
@ -303,7 +303,7 @@
<CheckBox Name="WPFInstallvisualstudio" Content="Visual Studio 2022" Margin="5,0"/>
<CheckBox Name="WPFInstallvscode" Content="VS Code" Margin="5,0"/>
<CheckBox Name="WPFInstallvscodium" Content="VS Codium" Margin="5,0"/>
<Label Content="Document" FontSize="16" Margin="5,0"/>
<CheckBox Name="WPFInstalladobe" Content="Adobe Reader DC" Margin="5,0"/>
<CheckBox Name="WPFInstallopenoffice" Content="Apache OpenOffice" Margin="5,0"/>
@ -517,17 +517,17 @@
<CheckBox Name="WPFMiscTweaksEnableipsix" Content="Enable IPv6" Margin="5,0" ToolTip="Enables IPv6."/>
<Label Content="DNS" />
<ComboBox Name="WPFchangedns" Height = "20" Width = "160" HorizontalAlignment = "Left" Margin="5,5">
<ComboBoxItem IsSelected="True" Content = "Default"/>
<ComboBoxItem Content = "DHCP"/>
<ComboBoxItem Content = "Google"/>
<ComboBoxItem Content = "Cloudflare"/>
<ComboBoxItem Content = "Cloudflare_Malware"/>
<ComboBoxItem Content = "Cloudflare_Malware_Adult"/>
<ComboBoxItem Content = "Level3"/>
<ComboBoxItem Content = "Open_DNS"/>
<ComboBox Name="WPFchangedns" Height = "20" Width = "160" HorizontalAlignment = "Left" Margin="5,5">
<ComboBoxItem IsSelected="True" Content = "Default"/>
<ComboBoxItem Content = "DHCP"/>
<ComboBoxItem Content = "Google"/>
<ComboBoxItem Content = "Cloudflare"/>
<ComboBoxItem Content = "Cloudflare_Malware"/>
<ComboBoxItem Content = "Cloudflare_Malware_Adult"/>
<ComboBoxItem Content = "Level3"/>
<ComboBoxItem Content = "Open_DNS"/>
<ComboBoxItem Content = "Quad9"/>
</ComboBox>
</ComboBox>
<Button Name="WPFtweaksbutton" Content="Run Tweaks" HorizontalAlignment = "Left" Width="160"/>
<Button Name="WPFundoall" Content="Undo Selected Tweaks" HorizontalAlignment = "Left" Width="160"/>
</StackPanel>