Bugfixes before December (#465)

* Update Branch in script

* Pester Updates (#394)

* Update Branch in script

* Update Branch in script

* remove redundant test pipeline

* update unit tests

* remove tests for features not yet implemented

* test

* update tests

* test pipeline

* test pipeline

* test pipeline

* test pipeline

* test pipeline

* test pipeline

* update tests

* update pipeline

Co-authored-by: DeveloperDurp <DeveloperDurp@users.noreply.github.com>

* Update Branch in script

* Move preset buttons to function (#396)

* Update Branch in script

* update set-presets

* Update Branch in script

Co-authored-by: DeveloperDurp <DeveloperDurp@users.noreply.github.com>
Co-authored-by: Chris Titus <contact@christitus.com>

* Update Branch in script

* Require Admin and attempt relaunch (#395)

* Update Branch in script

* migrate admin check from runspace.ps1

* changed relaunch to use $BranchToUse

Co-authored-by: DeveloperDurp <DeveloperDurp@users.noreply.github.com>
Co-authored-by: Chris Titus <contact@christitus.com>

* Update Branch in script

* Choco prep (#429)

* Update Branch in script

* update application file

* Update Branch in script

* update helper script and fix RevoUnInstaller

Co-authored-by: DeveloperDurp <DeveloperDurp@users.noreply.github.com>
Co-authored-by: Chris Titus <contact@christitus.com>

* Update Branch in script

* Feature/simplelogging (#431)

* Update Branch in script

* added transcript for simple logging

* Update Branch in script

* Update winutil.ps1

* Update Branch in script

* Update runspace.ps1

* Update Branch in script

Co-authored-by: DeveloperDurp <DeveloperDurp@users.noreply.github.com>
Co-authored-by: Chris Titus <contact@christitus.com>
Co-authored-by: ChrisTitusTech <ChrisTitusTech@users.noreply.github.com>

* Update Branch in script

* Replaced Dark Theme Enable and Disable buttons with a toggle switch (#445)

* Replaced Dark Theme Enable and Disable button with a toggle switch

* Changed toggle switch background colour

Co-authored-by: Chris Titus <contact@christitus.com>

* Replace WMI calls (#450)

Co-authored-by: Chris Titus <contact@christitus.com>

* Fix Chocolatey installation detection (#452)

* Fix error

* Actually fix it this time

* Add comments

* Do it faster

Co-authored-by: Chris Titus <contact@christitus.com>

* 420/removeadmin (#462)

* Update Branch in script

* Remove Administrator Check

Co-authored-by: DeveloperDurp <DeveloperDurp@users.noreply.github.com>
Co-authored-by: Chris Titus <contact@christitus.com>

* Update Branch in script

* 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: Josh Ackland <joshackland@pm.me>
Co-authored-by: Carter <60557606+Carterpersall@users.noreply.github.com>
This commit is contained in:
Chris Titus 2022-11-29 17:54:18 -06:00 committed by GitHub
parent 0951bf5bcd
commit e2086e5ef7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 763 additions and 647 deletions

View File

@ -2,30 +2,11 @@ name: Update Branch
on:
push:
branches:
- main
- test
jobs:
test:
runs-on: windows-latest
steps:
- name: Check out repository code
uses: actions/checkout@v3
with:
ref: ${{ github.head_ref }}
- name: pester_tests
id: pester_tests
uses: zyborg/pester-tests-report@v1
with:
include_paths: pester
report_name: Winutil_Tests
report_title: Winutil_Tests
github_token: ${{ secrets.GITHUB_TOKEN }}
tests_fail_step: true
- name: dump test results
shell: pwsh
run: |
Write-Host 'Total Tests Executed...: ${{ steps.pester_tests.outputs.total_count }}'
Write-Host 'Total Tests PASSED.....: ${{ steps.pester_tests.outputs.passed_count }}'
Write-Host 'Total Tests FAILED.....: ${{ steps.pester_tests.outputs.failed_count }}'
build:
runs-on: ubuntu-latest
steps:

View File

@ -1,6 +1,7 @@
name: Pester
name: Unit Tests
on: [push]
on:
push:
jobs:
test:
@ -16,6 +17,8 @@ jobs:
with:
include_paths: pester
github_token: ${{ secrets.GITHUB_TOKEN }}
tests_fail_step: true
skip_check_run: true
- name: dump test results
shell: pwsh
run: |

3
.gitignore vendored
View File

@ -10,3 +10,6 @@ winutil.pdb
.vs/
*.psd*
pester.ps1
Microsoft.UI.Xaml*
winget.msixbundle
license1.xml

View File

@ -8,6 +8,78 @@
Background="#777777"
WindowStartupLocation="CenterScreen"
Title="Chris Titus Tech's Windows Utility" Height="800" Width="1200">
<Window.Resources>
<Style x:Key="ToggleSwitchStyle" TargetType="CheckBox">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="CheckBox">
<StackPanel>
<Grid>
<Border Width="45"
Height="20"
Background="#555555"
CornerRadius="10"
Margin="5,0"
/>
<Border Name="ToggleSwitchButton"
Width="25"
Height="25"
Background="Black"
CornerRadius="12.5"
HorizontalAlignment="Left"
/>
<ContentPresenter Name="ToggleSwitchContent"
Margin="10,0,0,0"
Content="{TemplateBinding Content}"
VerticalAlignment="Center"
/>
</Grid>
</StackPanel>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="false">
<Trigger.ExitActions>
<RemoveStoryboard BeginStoryboardName="ToggleSwitchLeft" />
<BeginStoryboard x:Name="ToggleSwitchRight">
<Storyboard>
<ThicknessAnimation Storyboard.TargetProperty="Margin"
Storyboard.TargetName="ToggleSwitchButton"
Duration="0:0:0:0"
From="0,0,0,0"
To="28,0,0,0">
</ThicknessAnimation>
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>
<Setter TargetName="ToggleSwitchButton"
Property="Background"
Value="#fff9f4f4"
/>
</Trigger>
<Trigger Property="IsChecked" Value="true">
<Trigger.ExitActions>
<RemoveStoryboard BeginStoryboardName="ToggleSwitchRight" />
<BeginStoryboard x:Name="ToggleSwitchLeft">
<Storyboard>
<ThicknessAnimation Storyboard.TargetProperty="Margin"
Storyboard.TargetName="ToggleSwitchButton"
Duration="0:0:0:0"
From="28,0,0,0"
To="0,0,0,0">
</ThicknessAnimation>
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>
<Setter TargetName="ToggleSwitchButton"
Property="Background"
Value="#ff060600"
/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<Border Name="dummy" Grid.Column="0" Grid.Row="0">
<Viewbox Stretch="Uniform" VerticalAlignment="Top">
<Grid Background="#777777" ShowGridLines="False" Name="MainGrid">
@ -232,8 +304,11 @@
<CheckBox Name="EssTweaksDVR" Content="Disable GameDVR" Margin="5,0" ToolTip="GameDVR is a Windows App that is a dependancy for some Store Games. I've never met someone that likes it, but it's there for the XBOX crowd."/>
<CheckBox Name="EssTweaksServices" Content="Set Services to Manual" Margin="5,0" ToolTip="Turns a bunch of system services to manual that don't need to be running all the time. This is pretty harmless as if the service is needed, it will simply start on demand."/>
<Label Content="Dark Theme" />
<Button Name="EnableDarkMode" Background="AliceBlue" Content="Enable" HorizontalAlignment = "Left" Margin="5,0" Padding="20,5" Width="150"/>
<Button Name="DisableDarkMode" Background="AliceBlue" Content="Disable" HorizontalAlignment = "Left" Margin="5,0" Padding="20,5" Width="150"/>
<StackPanel Orientation="Horizontal">
<Label Content="Off" />
<CheckBox Name="ToggleDarkMode" Style="{StaticResource ToggleSwitchStyle}" Margin="2.5,0"/>
<Label Content="On" />
</StackPanel>
<Label Content="Performance Plans" />
<Button Name="AddUltPerf" Background="AliceBlue" Content="Add Ultimate Performance Profile" HorizontalAlignment = "Left" Margin="5,0" Padding="20,5" Width="300"/>
<Button Name="RemoveUltPerf" Background="AliceBlue" Content="Remove Ultimate Performance Profile" HorizontalAlignment = "Left" Margin="5,0,0,5" Padding="20,5" Width="300"/>

View File

@ -1,382 +1,506 @@
{
"Install": {
"WPFInstalladobe": {
"winget": "Adobe.Acrobat.Reader.64-bit"
"winget": "Adobe.Acrobat.Reader.64-bit",
"choco": "adobereader"
},
"WPFInstalladvancedip": {
"winget": "Famatech.AdvancedIPScanner"
"winget": "Famatech.AdvancedIPScanner",
"choco": "advanced-ip-scanner"
},
"WPFInstallanydesk": {
"winget": "AnyDeskSoftwareGmbH.AnyDesk"
"winget": "AnyDeskSoftwareGmbH.AnyDesk",
"choco": "anydesk"
},
"WPFInstallatom": {
"winget": "GitHub.Atom"
"winget": "GitHub.Atom",
"choco": "atom"
},
"WPFInstallaudacity": {
"winget": "Audacity.Audacity"
"winget": "Audacity.Audacity",
"choco": "audacity"
},
"WPFInstallautohotkey": {
"winget": "Lexikos.AutoHotkey"
"winget": "Lexikos.AutoHotkey",
"choco": "autohotkey"
},
"WPFInstallbitwarden": {
"winget": "Bitwarden.Bitwarden"
"winget": "Bitwarden.Bitwarden",
"choco": "bitwarden"
},
"WPFInstallblender": {
"winget": "BlenderFoundation.Blender"
"winget": "BlenderFoundation.Blender",
"choco": "blender"
},
"WPFInstallbrave": {
"winget": "Brave.Brave"
"winget": "Brave.Brave",
"choco": "brave"
},
"WPFInstallchrome": {
"winget": "Google.Chrome"
"winget": "Google.Chrome",
"choco": "googlechrome"
},
"WPFInstallchromium": {
"winget": "eloston.ungoogled-chromium"
"winget": "eloston.ungoogled-chromium",
"choco": "chromium"
},
"WPFInstallcpuz": {
"winget": "CPUID.CPU-Z"
"winget": "CPUID.CPU-Z",
"choco": "cpu-z"
},
"WPFInstalldiscord": {
"winget": "Discord.Discord"
"winget": "Discord.Discord",
"choco": "discord"
},
"WPFInstalleartrumpet": {
"winget": "File-New-Project.EarTrumpet"
"winget": "File-New-Project.EarTrumpet",
"choco": "eartrumpet"
},
"WPFInstallepicgames": {
"winget": "EpicGames.EpicGamesLauncher"
"winget": "EpicGames.EpicGamesLauncher",
"choco": "epicgameslauncher"
},
"WPFInstallesearch": {
"winget": "voidtools.Everything"
"winget": "voidtools.Everything",
"choco": "everything"
},
"WPFInstalletcher": {
"winget": "Balena.Etcher"
"winget": "Balena.Etcher",
"choco": "etcher"
},
"WPFInstallfirefox": {
"winget": "Mozilla.Firefox"
"winget": "Mozilla.Firefox",
"choco": "firefox"
},
"WPFInstallflameshot": {
"winget": "Flameshot.Flameshot"
"winget": "Flameshot.Flameshot",
"choco": "na"
},
"WPFInstallfoobar": {
"winget": "PeterPawlowski.foobar2000"
"winget": "PeterPawlowski.foobar2000",
"choco": "foobar2000"
},
"WPFInstallgimp": {
"winget": "GIMP.GIMP"
"winget": "GIMP.GIMP",
"choco": "gimp"
},
"WPFInstallgithubdesktop": {
"winget": "Git.Git;GitHub.GitHubDesktop"
"winget": "Git.Git;GitHub.GitHubDesktop",
"choco": "git;github-desktop"
},
"WPFInstallgog": {
"winget": "GOG.Galaxy"
"winget": "GOG.Galaxy",
"choco": "goggalaxy"
},
"WPFInstallgpuz": {
"winget": "TechPowerUp.GPU-Z"
"winget": "TechPowerUp.GPU-Z",
"choco": "gpu-z"
},
"WPFInstallgreenshot": {
"winget": "Greenshot.Greenshot"
"winget": "Greenshot.Greenshot",
"choco": "greenshot"
},
"WPFInstallhandbrake": {
"winget": "HandBrake.HandBrake"
"winget": "HandBrake.HandBrake",
"choco": "handbrake"
},
"WPFInstallhexchat": {
"winget": "HexChat.HexChat"
"winget": "HexChat.HexChat",
"choco": "hexchat"
},
"WPFInstallhwinfo": {
"winget": "REALiX.HWiNFO"
"winget": "REALiX.HWiNFO",
"choco": "hwinfo"
},
"WPFInstallimageglass": {
"winget": "DuongDieuPhap.ImageGlass"
"winget": "DuongDieuPhap.ImageGlass",
"choco": "imageglass"
},
"WPFInstallinkscape": {
"winget": "Inkscape.Inkscape"
"winget": "Inkscape.Inkscape",
"choco": "inkscape"
},
"WPFInstalljava16": {
"winget": "AdoptOpenJDK.OpenJDK.16"
"winget": "AdoptOpenJDK.OpenJDK.16",
"choco": "temurin16jre"
},
"WPFInstalljava18": {
"winget": "EclipseAdoptium.Temurin.18.JRE"
"winget": "EclipseAdoptium.Temurin.18.JRE",
"choco": "temurin18jre"
},
"WPFInstalljava8": {
"winget": "EclipseAdoptium.Temurin.8.JRE"
"winget": "EclipseAdoptium.Temurin.8.JRE",
"choco": "temurin8jre"
},
"WPFInstalljava19": {
"winget": "EclipseAdoptium.Temurin.19.JRE"
"winget": "EclipseAdoptium.Temurin.19.JRE",
"choco": "temurin19jre"
},
"WPFInstalljava17": {
"winget": "EclipseAdoptium.Temurin.17.JRE"
"winget": "EclipseAdoptium.Temurin.17.JRE",
"choco": "temurin17jre"
},
"WPFInstalljava11": {
"winget": "EclipseAdoptium.Temurin.11.JRE"
"winget": "EclipseAdoptium.Temurin.11.JRE",
"choco": "javaruntime"
},
"WPFInstalljetbrains": {
"winget": "JetBrains.Toolbox"
"winget": "JetBrains.Toolbox",
"choco": "jetbrainstoolbox"
},
"WPFInstallkeepass": {
"winget": "KeePassXCTeam.KeePassXC"
"winget": "KeePassXCTeam.KeePassXC",
"choco": "keepassxc"
},
"WPFInstalllibrewolf": {
"winget": "LibreWolf.LibreWolf"
"winget": "LibreWolf.LibreWolf",
"choco": "librewolf"
},
"WPFInstallmalwarebytes": {
"winget": "Malwarebytes.Malwarebytes"
"winget": "Malwarebytes.Malwarebytes",
"choco": "malwarebytes"
},
"WPFInstallmatrix": {
"winget": "Element.Element"
"winget": "Element.Element",
"choco": "element-desktop"
},
"WPFInstallmpc": {
"winget": "clsid2.mpc-hc"
"winget": "clsid2.mpc-hc",
"choco": "mpc-hc"
},
"WPFInstallmremoteng": {
"winget": "mRemoteNG.mRemoteNG"
"winget": "mRemoteNG.mRemoteNG",
"choco": "mremoteng"
},
"WPFInstallnodejs": {
"winget": "OpenJS.NodeJS"
"winget": "OpenJS.NodeJS",
"choco": "nodejs"
},
"WPFInstallnodejslts": {
"winget": "OpenJS.NodeJS.LTS"
"winget": "OpenJS.NodeJS.LTS",
"choco": "nodejs-lts"
},
"WPFInstallnotepadplus": {
"winget": "Notepad++.Notepad++"
"winget": "Notepad++.Notepad++",
"choco": "notepadplusplus"
},
"WPFInstallnvclean": {
"winget": "TechPowerUp.NVCleanstall"
"winget": "TechPowerUp.NVCleanstall",
"choco": "na"
},
"WPFInstallobs": {
"winget": "OBSProject.OBSStudio"
"winget": "OBSProject.OBSStudio",
"choco": "obs-studio"
},
"WPFInstallobsidian": {
"winget": "Obsidian.Obsidian"
"winget": "Obsidian.Obsidian",
"choco": "obsidian"
},
"WPFInstallpowertoys": {
"winget": "Microsoft.PowerToys"
"winget": "Microsoft.PowerToys",
"choco": "powertoys"
},
"WPFInstallputty": {
"winget": "PuTTY.PuTTY"
"winget": "PuTTY.PuTTY",
"choco": "putty"
},
"WPFInstallpython3": {
"winget": "Python.Python.3"
"winget": "Python.Python.3",
"choco": "python"
},
"WPFInstallrevo": {
"winget": "RevoUnWPFInstaller.RevoUnWPFInstaller"
"winget": "RevoUnInstaller.RevoUnInstaller",
"choco": "revo-uninstaller"
},
"WPFInstallrufus": {
"winget": "Rufus.Rufus"
"winget": "Rufus.Rufus",
"choco": "rufus"
},
"WPFInstallsevenzip": {
"winget": "7zip.7zip"
"winget": "7zip.7zip",
"choco": "7zip"
},
"WPFInstallsharex": {
"winget": "ShareX.ShareX"
"winget": "ShareX.ShareX",
"choco": "sharex"
},
"WPFInstallsignal": {
"winget": "OpenWhisperSystems.Signal"
"winget": "OpenWhisperSystems.Signal",
"choco": "signal"
},
"WPFInstallskype": {
"winget": "Microsoft.Skype"
"winget": "Microsoft.Skype",
"choco": "skype"
},
"WPFInstallslack": {
"winget": "SlackTechnologies.Slack"
"winget": "SlackTechnologies.Slack",
"choco": "slack"
},
"WPFInstallsteam": {
"winget": "Valve.Steam"
"winget": "Valve.Steam",
"choco": "steam-client"
},
"WPFInstallsublime": {
"winget": "SublimeHQ.SublimeText.4"
"winget": "SublimeHQ.SublimeText.4",
"choco": "sublimetext4"
},
"WPFInstallsumatra": {
"winget": "SumatraPDF.SumatraPDF"
"winget": "SumatraPDF.SumatraPDF",
"choco": "sumatrapdf"
},
"WPFInstallteams": {
"winget": "Microsoft.Teams"
"winget": "Microsoft.Teams",
"choco": "microsoft-teams"
},
"WPFInstallteamviewer": {
"winget": "TeamViewer.TeamViewer"
"winget": "TeamViewer.TeamViewer",
"choco": "teamviewer9"
},
"WPFInstallterminal": {
"winget": "Microsoft.WindowsTerminal"
"winget": "Microsoft.WindowsTerminal",
"choco": "microsoft-windows-terminal"
},
"WPFInstalltreesize": {
"winget": "JAMSoftware.TreeSize.Free"
"winget": "JAMSoftware.TreeSize.Free",
"choco": "treesizefree"
},
"WPFInstallttaskbar": {
"winget": "TranslucentTB.TranslucentTB"
"winget": "TranslucentTB.TranslucentTB",
"choco": "translucenttb"
},
"WPFInstallvisualstudio": {
"winget": "Microsoft.VisualStudio.2022.Community"
"winget": "Microsoft.VisualStudio.2022.Community",
"choco": "visualstudio2022community"
},
"WPFInstallvivaldi": {
"winget": "VivaldiTechnologies.Vivaldi"
"winget": "VivaldiTechnologies.Vivaldi",
"choco": "vivaldi"
},
"WPFInstallvlc": {
"winget": "VideoLAN.VLC"
"winget": "VideoLAN.VLC",
"choco": "vlc"
},
"WPFInstallvoicemeeter": {
"winget": "VB-Audio.Voicemeeter"
"winget": "VB-Audio.Voicemeeter",
"choco": "voicemeeter"
},
"WPFInstallvscode": {
"winget": "Git.Git;Microsoft.VisualStudioCode"
"winget": "Git.Git;Microsoft.VisualStudioCode",
"choco": "vscode"
},
"WPFInstallvscodium": {
"winget": "Git.Git;VSCodium.VSCodium"
"winget": "Git.Git;VSCodium.VSCodium",
"choco": "vscodium"
},
"WPFInstallwindirstat": {
"winget": "WinDirStat.WinDirStat"
"winget": "WinDirStat.WinDirStat",
"choco": "windirstat"
},
"WPFInstallscp": {
"winget": "WinSCP.WinSCP"
"winget": "WinSCP.WinSCP",
"choco": "winscp"
},
"WPFInstallwireshark": {
"winget": "WiresharkFoundation.Wireshark"
"winget": "WiresharkFoundation.Wireshark",
"choco": "wireshark"
},
"WPFInstallzoom": {
"winget": "Zoom.Zoom"
"winget": "Zoom.Zoom",
"choco": "zoom"
},
"WPFInstalllibreoffice": {
"winget": "TheDocumentFoundation.LibreOffice"
"winget": "TheDocumentFoundation.LibreOffice",
"choco": "libreoffice-fresh"
},
"WPFInstallshell": {
"winget": "Nilesoft.Shell"
"winget": "Nilesoft.Shell",
"choco": "na"
},
"WPFInstallklite": {
"winget": "CodecGuide.K-LiteCodecPack.Standard"
"winget": "CodecGuide.K-LiteCodecPack.Standard",
"choco": "k-litecodecpack-standard"
},
"WPFInstallsandboxie": {
"winget": "Sandboxie.Plus"
"winget": "Sandboxie.Plus",
"choco": "sandboxie"
},
"WPFInstallprocesslasso": {
"winget": "BitSum.ProcessLasso"
"winget": "BitSum.ProcessLasso",
"choco": "plasso"
},
"WPFInstallwinmerge": {
"winget": "WinMerge.WinMerge"
"winget": "WinMerge.WinMerge",
"choco": "winmerge"
},
"WPFInstalldotnet3": {
"winget": "Microsoft.DotNet.DesktopRuntime.3_1"
"winget": "Microsoft.DotNet.DesktopRuntime.3_1",
"choco": "dotnetcore3-desktop-runtime"
},
"WPFInstalldotnet5": {
"winget": "Microsoft.DotNet.DesktopRuntime.5"
"winget": "Microsoft.DotNet.DesktopRuntime.5",
"choco": "dotnet-5.0-runtime"
},
"WPFInstalldotnet6": {
"winget": "Microsoft.DotNet.DesktopRuntime.6"
"winget": "Microsoft.DotNet.DesktopRuntime.6",
"choco": "dotnet-6.0-runtime"
},
"WPFInstallvc2015_64": {
"winget": "Microsoft.VC++2015-2022Redist-x64"
"winget": "Microsoft.VC++2015-2022Redist-x64",
"choco": "na"
},
"WPFInstallvc2015_32": {
"winget": "Microsoft.VC++2015-2022Redist-x86"
"winget": "Microsoft.VC++2015-2022Redist-x86",
"choco": "na"
},
"WPFInstallfoxpdf": {
"winget": "Foxit.PhantomPDF"
"winget": "Foxit.PhantomPDF",
"choco": "na"
},
"WPFInstallonlyoffice": {
"winget": "ONLYOFFICE.DesktopEditors"
"winget": "ONLYOFFICE.DesktopEditors",
"choco": "onlyoffice"
},
"WPFInstallflux": {
"winget": "flux.flux"
"winget": "flux.flux",
"choco": "flux"
},
"WPFInstallitunes": {
"winget": "Apple.iTunes"
"winget": "Apple.iTunes",
"choco": "itunes"
},
"WPFInstallcider": {
"winget": "CiderCollective.Cider"
"winget": "CiderCollective.Cider",
"choco": "cider"
},
"WPFInstalljoplin": {
"winget": "Joplin.Joplin"
"winget": "Joplin.Joplin",
"choco": "joplin"
},
"WPFInstallopenoffice": {
"winget": "Apache.OpenOffice"
"winget": "Apache.OpenOffice",
"choco": "openoffice"
},
"WPFInstallrustdesk": {
"winget": "RustDesk.RustDesk"
"winget": "RustDesk.RustDesk",
"choco": "rustdesk.portable"
},
"WPFInstalljami": {
"winget": "SFLinux.Jami"
"winget": "SFLinux.Jami",
"choco": "jami"
},
"WPFInstalljdownloader": {
"winget": "AppWork.JDownloader"
"winget": "AppWork.JDownloader",
"choco": "jdownloader"
},
"WPFInstallsimplewall": {
"Winget": "Henry++.simplewall"
"Winget": "Henry++.simplewall",
"choco": "simplewall"
},
"WPFInstallrustlang": {
"Winget": "Rustlang.Rust.MSVC"
"Winget": "Rustlang.Rust.MSVC",
"choco": "rust"
},
"WPFInstallalacritty": {
"Winget": "Alacritty.Alacritty"
"Winget": "Alacritty.Alacritty",
"choco": "alacritty"
},
"WPFInstallkdenlive": {
"Winget": "KDE.Kdenlive"
"Winget": "KDE.Kdenlive",
"choco": "kdenlive"
},
"WPFInstallglaryutilities": {
"Winget": "Glarysoft.GlaryUtilities"
"Winget": "Glarysoft.GlaryUtilities",
"choco": "glaryutilities-free"
},
"WPFInstalltwinkletray": {
"Winget": "xanderfrangos.twinkletray"
"Winget": "xanderfrangos.twinkletray",
"choco": "na"
},
"WPFInstallidm": {
"Winget": "Tonec.InternetDownloadManager"
"Winget": "Tonec.InternetDownloadManager",
"choco": "internet-download-manager"
},
"WPFInstallviber": {
"Winget": "Viber.Viber"
"Winget": "Viber.Viber",
"choco": "viber"
},
"WPFInstallgit": {
"Winget": "Git.Git"
"Winget": "Git.Git",
"choco": "git"
},
"WPFInstallwiztree": {
"Winget": "AntibodySoftware.WizTree"
"Winget": "AntibodySoftware.WizTree",
"choco": "wiztree\\"
},
"WPFInstalltor": {
"Winget": "TorProject.TorBrowser"
"Winget": "TorProject.TorBrowser",
"choco": "tor-browser"
},
"WPFInstallkrita": {
"winget": "KDE.Krita"
"winget": "KDE.Krita",
"choco": "krita"
},
"WPFInstallnglide": {
"winget": "ZeusSoftware.nGlide"
"winget": "ZeusSoftware.nGlide",
"choco": "na"
},
"WPFInstallkodi": {
"winget": "XBMCFoundation.Kodi"
"winget": "XBMCFoundation.Kodi",
"choco": "kodi"
},
"WPFInstalltelegram": {
"winget": "Telegram.TelegramDesktop"
"winget": "Telegram.TelegramDesktop",
"choco": "telegram"
},
"WPFInstallunity": {
"winget": "UnityTechnologies.UnityHub"
"winget": "UnityTechnologies.UnityHub",
"choco": "unityhub"
},
"WPFInstallqbittorrent": {
"winget": "qBittorrent.qBittorrent"
"winget": "qBittorrent.qBittorrent",
"choco": "qbittorrent"
},
"WPFInstallorigin": {
"winget": "ElectronicArts.EADesktop"
"winget": "ElectronicArts.EADesktop",
"choco": "origin"
},
"WPFInstallopenshell": {
"winget": "Open-Shell.Open-Shell-Menu"
"winget": "Open-Shell.Open-Shell-Menu",
"choco": "open-shell"
},
"WPFInstallbluestacks": {
"winget": "BlueStack.BlueStacks"
"winget": "BlueStack.BlueStacks",
"choco": "na"
},
"WPFInstallstrawberry": {
"winget": "StrawberryMusicPlayer.Strawberry"
"winget": "StrawberryMusicPlayer.Strawberry",
"choco": "strawberrymusicplayer"
},
"WPFInstallsqlstudio": {
"winget": "Microsoft.SQLServerManagementStudio"
"winget": "Microsoft.SQLServerManagementStudio",
"choco": "sql-server-management-studio"
},
"WPFInstallwaterfox": {
"winget": "Waterfox.Waterfox"
"winget": "Waterfox.Waterfox",
"choco": "waterfox"
},
"WPFInstallpowershell": {
"winget": "Microsoft.PowerShell"
"winget": "Microsoft.PowerShell",
"choco": "powershell-core"
},
"WPFInstallprocessmonitor": {
"winget": "Microsoft.Sysinternals.ProcessMonitor"
"winget": "Microsoft.Sysinternals.ProcessMonitor",
"choco": "procexp"
},
"WPFInstallonedrive": {
"winget": "Microsoft.OneDrive"
"winget": "Microsoft.OneDrive",
"choco": "onedrive"
},
"WPFInstalledge": {
"winget": "Microsoft.Edge"
"winget": "Microsoft.Edge",
"choco": "microsoft-edge"
},
"WPFInstallnuget": {
"winget": "Microsoft.NuGet"
}
"winget": "Microsoft.NuGet",
"choco": "nuget.commandline"
}
}

View File

@ -3,9 +3,9 @@
<#
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 ;
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
@ -13,6 +13,7 @@
"install": {
"Name of Button": {
"winget": "Winget command"
"choco": "Chocolatey command"
},
}
@ -22,9 +23,11 @@ Example:
"install": {
"WPFInstalladobe": {
"winget": "Adobe.Acrobat.Reader.64-bit"
"choco": "adobereader"
},
"WPFInstalladvancedip": {
"winget": "Famatech.AdvancedIPScanner"
"choco": "advanced-ip-scanner"
}
}
}
@ -36,6 +39,7 @@ Example:
$NameofButton = "WPF" + ""
$WingetCommand = ""
$ChocoCommand = ""
$ButtonToAdd = New-Object psobject
$jsonfile = Get-Content ./config/applications.json | ConvertFrom-Json
@ -46,6 +50,7 @@ if($jsonfile.install.$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
@ -138,7 +143,7 @@ Example:
#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 = ""
$NameofButton = "WPF" + ""
$commands = @(
)

View File

@ -1,38 +1,38 @@
{
"desktop": [
"EssTweaksAH",
"EssTweaksDVR",
"EssTweaksHiber",
"EssTweaksHome",
"EssTweaksLoc",
"EssTweaksOO",
"EssTweaksRP",
"EssTweaksServices",
"EssTweaksStorage",
"EssTweaksTele",
"EssTweaksWifi",
"MiscTweaksPower",
"MiscTweaksNum"
"WPFEssTweaksAH",
"WPFEssTweaksDVR",
"WPFEssTweaksHiber",
"WPFEssTweaksHome",
"WPFEssTweaksLoc",
"WPFEssTweaksOO",
"WPFEssTweaksRP",
"WPFEssTweaksServices",
"WPFEssTweaksStorage",
"WPFEssTweaksTele",
"WPFEssTweaksWifi",
"WPFMiscTweaksPower",
"WPFMiscTweaksNum"
],
"laptop": [
"EssTweaksAH",
"EssTweaksDVR",
"EssTweaksHome",
"EssTweaksLoc",
"EssTweaksOO",
"EssTweaksRP",
"EssTweaksServices",
"EssTweaksStorage",
"EssTweaksTele",
"EssTweaksWifi",
"MiscTweaksLapPower",
"MiscTweaksLapNum"
"WPFEssTweaksAH",
"WPFEssTweaksDVR",
"WPFEssTweaksHome",
"WPFEssTweaksLoc",
"WPFEssTweaksOO",
"WPFEssTweaksRP",
"WPFEssTweaksServices",
"WPFEssTweaksStorage",
"WPFEssTweaksTele",
"WPFEssTweaksWifi",
"WPFMiscTweaksLapPower",
"WPFMiscTweaksLapNum"
],
"minimal": [
"EssTweaksHome",
"EssTweaksOO",
"EssTweaksRP",
"EssTweaksServices",
"EssTweaksTele"
"WPFEssTweaksHome",
"WPFEssTweaksOO",
"WPFEssTweaksRP",
"WPFEssTweaksServices",
"WPFEssTweaksTele"
]
}

View File

@ -17,10 +17,7 @@
$global:configs = @{}
(
"applications",
"tweaks",
"preset",
"feature"
"applications"
) | ForEach-Object {
$global:configs["$PSItem"] = Get-Content .\config\$PSItem.json | ConvertFrom-Json
}
@ -34,98 +31,53 @@
$global:Form = [Windows.Markup.XamlReader]::Load( $global:reader )
$global:xaml.SelectNodes("//*[@Name]") | ForEach-Object { Set-Variable -Name "Global:WPF$($_.Name)" -Value $global:Form.FindName($_.Name) -Scope global }
#Variables to compare GUI to config files
$Global:GUIFeatureCount = ( $global:configs.feature.psobject.members | Where-Object {$psitem.MemberType -eq "NoteProperty"}).count
$Global:GUIApplicationCount = ($global:configs.applications.install.psobject.members | Where-Object {$psitem.MemberType -eq "NoteProperty"}).count
$Global:GUITweaksCount = ($global:configs.tweaks.psobject.members | Where-Object {$psitem.MemberType -eq "NoteProperty"}).count
#dotsource original script to pull in all variables and ensure no errors
$script = Get-Content .\winutil.ps1
$output = $script[0..($script.count - 3)] | Out-File .\pester.ps1
$output = $script[0..($script.count - 4)] | Out-File .\pester.ps1
#endregion Load Variables needed for testing
#===========================================================================
# Tests - Config Files
# Tests - Application Installs
#===========================================================================
Describe "Config Files" {
Describe "Application Installs" {
Context "Application installs" {
It "Imports with no errors" {
$global:configs.Applications | should -Not -BeNullOrEmpty
}
It "Json should be in correct format" {
$winget = $global:configs.applications.install.psobject.members | Where-Object {$psitem.MemberType -eq "NoteProperty"} | Select-Object Name,Value
$winget.name | should -BeLike "*Install*"
$winget.winget | should -Not -BeNullOrEmpty
}
Context "Winget Install" {
$global:configs.applications.install | Get-Member -MemberType NoteProperty | ForEach-Object {
$TestCase = @{ name = $psitem.name }
It "$($psitem.name) should include Winget Install" -TestCases $TestCase{
param($name)
$null -eq $global:configs.applications.install.$name.winget | should -Befalse -because "$name Did not include a Winget Install"
}
}
}
Context "GUI Applications Checkbox" {
(get-variable | Where-Object {$psitem.name -like "*install*" -and $psitem.value.GetType().name -eq "CheckBox"}).name -replace 'Global:','' | ForEach-Object {
$TestCase = @{ name = $psitem }
It "$($psitem) should include application.json " -TestCases $TestCase{
param($name)
$null -eq $global:configs.applications.install.$name | should -Befalse -because "$name Does not have entry in applications.json"
}
}
}
}
Context "Preset" {
#===========================================================================
# Tests - Tweak Presets
#===========================================================================
Describe "Tweak Presets" {
Context "Json Import" {
It "Imports with no errors" {
$global:configs.preset | should -Not -BeNullOrEmpty
}
It "Json should be in correct format" {
$preset = $global:configs.preset.psobject.members | Where-Object {$psitem.MemberType -eq "NoteProperty"} | Select-Object Name,Value
$preset.name | should -Not -BeNullOrEmpty
$preset.Value | should -BeLike "*Tweaks*"
}
}
Context "feature" {
It "Imports with no errors" {
$global:configs.feature | should -Not -BeNullOrEmpty
}
It "Json should be in correct format" {
$feature = $global:configs.feature.psobject.members | Where-Object {$psitem.MemberType -eq "NoteProperty"} | Select-Object Name,Value
$feature.name | should -BeLike "*Feature*"
$feature.Value | should -Not -BeNullOrEmpty
}
}
Context "tweaks" {
It "Imports with no errors" {
$global:configs.tweaks | should -Not -BeNullOrEmpty
}
It "Json should be in correct format" {
$tweaks = $global:configs.tweaks.psobject.members | Where-Object {$psitem.MemberType -eq "NoteProperty"} | Select-Object Name,Value
$tweaks.name | should -BeLike "*Tweaks*"
$tweaks.Value.registry | should -Not -BeNullOrEmpty
$tweaks.Value.Service | should -Not -BeNullOrEmpty
$tweaks.Value.ScheduledTask | should -Not -BeNullOrEmpty
$tweaks.Value.Appx | should -Not -BeNullOrEmpty
$tweaks.Value.InvokeScript | should -Not -BeNullOrEmpty
}
It "Original Values should be set" {
$tweaks = $global:configs.tweaks.psobject.members | Where-Object {$psitem.MemberType -eq "NoteProperty"} | Select-Object Name,Value
Foreach($tweak in $tweaks){
if($tweak.value.registry){
$values = $tweak.value | Select-Object -ExpandProperty registry
Foreach ($value in $values){
$value.OriginalValue | should -Not -BeNullOrEmpty
}
}
if($tweak.value.Service){
$values = $tweak.value | Select-Object -ExpandProperty Service
Foreach ($value in $values){
$value.OriginalType | should -Not -BeNullOrEmpty
}
}
if($tweak.value.ScheduledTask){
$values = $tweak.value | Select-Object -ExpandProperty ScheduledTask
Foreach ($value in $values){
$value.OriginalState | should -Not -BeNullOrEmpty
}
}
}
}
}
}
@ -150,26 +102,17 @@ Describe "GUI" {
It "Title should match XML" {
$global:Form.title | should -Be $global:XAML.window.Title
}
It "Features should be $Global:GUIFeatureCount" {
(get-variable | Where-Object {$psitem.name -like "*feature*" -and $psitem.value.GetType().name -eq "CheckBox"}).count | should -Be $Global:GUIFeatureCount
}
It "Applications should be $Global:GUIApplicationCount" {
(get-variable | Where-Object {$psitem.name -like "*install*" -and $psitem.value.GetType().name -eq "CheckBox"}).count | should -Be $Global:GUIApplicationCount
}
It "Tweaks should be $Global:GUITweaksCount" {
(get-variable | Where-Object {$psitem.name -like "*tweaks*" -and $psitem.value.GetType().name -eq "CheckBox"}).count | should -Be $Global:GUITweaksCount
}
}
}
#===========================================================================
# Tests - GUI
# Tests - GUI Functions
#===========================================================================
Describe "GUI Functions" {
BeforeEach -Scriptblock {. ./pester.ps1}
It "GUI should load with no errors" {
. .\pester.ps1
$WPFTab1BT | should -Not -BeNullOrEmpty
$WPFundoall | should -Not -BeNullOrEmpty
$WPFPanelDISM | should -Not -BeNullOrEmpty
@ -190,6 +133,7 @@ Describe "GUI Functions" {
$WPFinstall | should -Not -BeNullOrEmpty
}
Context "Get-CheckBoxes" {
It "Get-CheckBoxes Install should return data" {
. .\pester.ps1
@ -215,4 +159,15 @@ Describe "GUI Functions" {
$Output | Should -Be $($OutputResult | Select-Object -Unique | Sort-Object) -Because "Output doesn't match"
$TestCheckBoxes | ForEach-Object {(Get-Variable $PSItem).value.ischecked | should -be $false}
}
Context "Set-Presets" {
$global:configs.preset | Get-Member -MemberType NoteProperty | ForEach-Object {
$TestCase = @{ name = $psitem.name }
It "preset $($psitem.name) should modify the correct values" -TestCases $TestCase {
param($name)
Set-Presets $name
get-variable $global:configs.preset.$name | Select-Object -ExpandProperty value | Select-Object -ExpandProperty ischecked | Where-Object {$psitem -eq $false} | should -BeNullOrEmpty
}
}
}
}

View File

@ -1,5 +1,5 @@
#for CI/CD
$BranchToUse = 'hotfix/applications'
$BranchToUse = 'test'
<#
.NOTES

View File

@ -1,24 +1,26 @@
#for CI/CD
$BranchToUse = 'hotfix/applications'
$BranchToUse = 'test'
<#
.NOTES
Author : Chris Titus @christitustech
GitHub : https://github.com/ChrisTitusTech
Version 0.0.1
#>
Start-Transcript $ENV:TEMP\Winutil.log -Append
# $inputXML = Get-Content "MainWindow.xaml" #uncomment for development
$inputXML = (new-object Net.WebClient).DownloadString("https://raw.githubusercontent.com/ChrisTitusTech/winutil/$BranchToUse/MainWindow.xaml") #uncomment for Production
# Choco install
$testchoco = powershell choco -v
if(-not($testchoco)){
# Check if chocolatey is installed and get its version
if ((Get-Command -Name choco -ErrorAction Ignore) -and ($chocoVersion = (Get-Item "$env:ChocolateyInstall\choco.exe" -ErrorAction Ignore).VersionInfo.ProductVersion)) {
Write-Output "Chocolatey Version $chocoVersion is already installed"
}else {
Write-Output "Seems Chocolatey is not installed, installing now"
Set-ExecutionPolicy Bypass -Scope Process -Force; Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
powershell choco feature enable -n allowGlobalConfirmation
}
else{
Write-Output "Chocolatey Version $testchoco is already installed"
}
#Load config files to hashtable
$configs = @{}
@ -130,6 +132,30 @@ Function Get-CheckBoxes {
Write-Output $($Output | Select-Object -Unique)
}
function Set-Presets {
<#
.DESCRIPTION
Meant to make settings presets easier in the tweaks tab. Will pull the data from config/preset.json
#>
param($preset)
$CheckBoxesToCheck = $configs.preset.$preset
#Uncheck all
get-variable | Where-Object {$_.name -like "*tweaks*"} | ForEach-Object {
if ($psitem.value.gettype().name -eq "CheckBox"){
$CheckBox = Get-Variable $psitem.Name
if ($CheckBoxesToCheck -contains $CheckBox.name){
$checkbox.value.ischecked = $true
}
else{$checkbox.value.ischecked = $false}
}
}
}
#===========================================================================
# Global Variables
#===========================================================================
@ -196,7 +222,7 @@ $WPFinstall.Add_Click({
# Switching to winget-install from PSGallery from asheroto
# Source: https://github.com/asheroto/winget-installer
Start-Process powershell.exe -Verb RunAs -ArgumentList "-command irm https://raw.githubusercontent.com/ChrisTitusTech/winutil/main/winget.ps1 | iex | Out-Host" -WindowStyle Normal
Start-Process powershell.exe -Verb RunAs -ArgumentList "-command irm https://raw.githubusercontent.com/ChrisTitusTech/winutil/$BranchToUse/winget.ps1 | iex | Out-Host" -WindowStyle Normal
}
elseif (((Get-ComputerInfo).WindowsVersion) -lt "1809") {
@ -225,7 +251,7 @@ $WPFinstall.Add_Click({
$wingetResult = New-Object System.Collections.Generic.List[System.Object]
foreach ( $node in $wingetinstall ) {
try {
Start-Process powershell.exe -Verb RunAs -ArgumentList "-command winget install -e --accept-source-agreements --accept-package-agreements --silent $node | Out-Host" -WindowStyle Normal
Start-Process powershell.exe -Verb RunAs -ArgumentList "-command Start-Transcript $ENV:TEMP\winget-$node.log -Append; winget install -e --accept-source-agreements --accept-package-agreements --silent $node | Out-Host" -WindowStyle Normal
$wingetResult.Add("$node`n")
Start-Sleep -s 6
Wait-Process winget -Timeout 90 -ErrorAction SilentlyContinue
@ -281,84 +307,15 @@ $WPFInstallUpgrade.Add_Click({
# Tab 2 - Tweak Buttons
#===========================================================================
$WPFdesktop.Add_Click({
$WPFEssTweaksAH.IsChecked = $true
$WPFEssTweaksDeleteTempFiles.IsChecked = $true
$WPFEssTweaksDeBloat.IsChecked = $false
$WPFEssTweaksRemoveCortana.IsChecked = $false
$WPFEssTweaksRemoveEdge.IsChecked = $false
$WPFEssTweaksDiskCleanup.IsChecked = $false
$WPFEssTweaksDVR.IsChecked = $true
$WPFEssTweaksHiber.IsChecked = $true
$WPFEssTweaksHome.IsChecked = $true
$WPFEssTweaksLoc.IsChecked = $true
$WPFEssTweaksOO.IsChecked = $true
$WPFEssTweaksRP.IsChecked = $true
$WPFEssTweaksServices.IsChecked = $true
$WPFEssTweaksStorage.IsChecked = $true
$WPFEssTweaksTele.IsChecked = $true
$WPFEssTweaksWifi.IsChecked = $true
$WPFMiscTweaksDisableUAC.IsChecked = $false
$WPFMiscTweaksDisableNotifications.IsChecked = $false
$WPFMiscTweaksRightClickMenu.IsChecked = $false
$WPFMiscTweaksPower.IsChecked = $true
$WPFMiscTweaksNum.IsChecked = $true
$WPFMiscTweaksLapPower.IsChecked = $false
$WPFMiscTweaksLapNum.IsChecked = $false
Set-Presets "Desktop"
})
$WPFlaptop.Add_Click({
$WPFEssTweaksAH.IsChecked = $true
$WPFEssTweaksDeleteTempFiles.IsChecked = $true
$WPFEssTweaksDeBloat.IsChecked = $false
$WPFEssTweaksRemoveCortana.IsChecked = $false
$WPFEssTweaksRemoveEdge.IsChecked = $false
$WPFEssTweaksDiskCleanup.IsChecked = $false
$WPFEssTweaksDVR.IsChecked = $true
$WPFEssTweaksHiber.IsChecked = $false
$WPFEssTweaksHome.IsChecked = $true
$WPFEssTweaksLoc.IsChecked = $true
$WPFEssTweaksOO.IsChecked = $true
$WPFEssTweaksRP.IsChecked = $true
$WPFEssTweaksServices.IsChecked = $true
$WPFEssTweaksStorage.IsChecked = $true
$WPFEssTweaksTele.IsChecked = $true
$WPFEssTweaksWifi.IsChecked = $true
$WPFMiscTweaksDisableUAC.IsChecked = $false
$WPFMiscTweaksDisableNotifications.IsChecked = $false
$WPFMiscTweaksRightClickMenu.IsChecked = $false
$WPFMiscTweaksLapPower.IsChecked = $true
$WPFMiscTweaksLapNum.IsChecked = $true
$WPFMiscTweaksPower.IsChecked = $false
$WPFMiscTweaksNum.IsChecked = $false
Set-Presets "laptop"
})
$WPFminimal.Add_Click({
$WPFEssTweaksAH.IsChecked = $false
$WPFEssTweaksDeleteTempFiles.IsChecked = $false
$WPFEssTweaksDeBloat.IsChecked = $false
$WPFEssTweaksRemoveCortana.IsChecked = $false
$WPFEssTweaksRemoveEdge.IsChecked = $false
$WPFEssTweaksDiskCleanup.IsChecked = $false
$WPFEssTweaksDVR.IsChecked = $false
$WPFEssTweaksHiber.IsChecked = $false
$WPFEssTweaksHome.IsChecked = $true
$WPFEssTweaksLoc.IsChecked = $false
$WPFEssTweaksOO.IsChecked = $true
$WPFEssTweaksRP.IsChecked = $true
$WPFEssTweaksServices.IsChecked = $true
$WPFEssTweaksStorage.IsChecked = $false
$WPFEssTweaksTele.IsChecked = $true
$WPFEssTweaksWifi.IsChecked = $false
$WPFMiscTweaksDisableUAC.IsChecked = $false
$WPFMiscTweaksDisableNotifications.IsChecked = $false
$WPFMiscTweaksRightClickMenu.IsChecked = $false
$WPFMiscTweaksPower.IsChecked = $false
$WPFMiscTweaksNum.IsChecked = $false
$WPFMiscTweaksLapPower.IsChecked = $false
$WPFMiscTweaksLapNum.IsChecked = $false
Set-Presets "minimal"
})
$WPFtweaksbutton.Add_Click({
@ -465,32 +422,32 @@ $WPFtweaksbutton.Add_Click({
$DC = "8.8.8.8"
$Internet = "8.8.4.4"
$dns = "$DC", "$Internet"
$Interface = Get-WmiObject Win32_NetworkAdapterConfiguration
$Interface.SetDNSServerSearchOrder($dns) | Out-Null
$Interfaces = [System.Management.ManagementClass]::new("Win32_NetworkAdapterConfiguration").GetInstances()
$Interfaces.SetDNSServerSearchOrder($dns) | Out-Null
}
If ( $WPFchangedns.text -eq 'Cloud Flare' ) {
Write-Host "Setting DNS to Cloud Flare for all connections..."
$DC = "1.1.1.1"
$Internet = "1.0.0.1"
$dns = "$DC", "$Internet"
$Interface = Get-WmiObject Win32_NetworkAdapterConfiguration
$Interface.SetDNSServerSearchOrder($dns) | Out-Null
$Interfaces = [System.Management.ManagementClass]::new("Win32_NetworkAdapterConfiguration").GetInstances()
$Interfaces.SetDNSServerSearchOrder($dns) | Out-Null
}
If ( $WPFchangedns.text -eq 'Level3' ) {
Write-Host "Setting DNS to Level3 for all connections..."
$DC = "4.2.2.2"
$Internet = "4.2.2.1"
$dns = "$DC", "$Internet"
$Interface = Get-WmiObject Win32_NetworkAdapterConfiguration
$Interface.SetDNSServerSearchOrder($dns) | Out-Null
$Interfaces = [System.Management.ManagementClass]::new("Win32_NetworkAdapterConfiguration").GetInstances()
$Interfaces.SetDNSServerSearchOrder($dns) | Out-Null
}
If ( $WPFchangedns.text -eq 'Open DNS' ) {
Write-Host "Setting DNS to Open DNS for all connections..."
$DC = "208.67.222.222"
$Internet = "208.67.220.220"
$dns = "$DC", "$Internet"
$Interface = Get-WmiObject Win32_NetworkAdapterConfiguration
$Interface.SetDNSServerSearchOrder($dns) | Out-Null
$Interfaces = [System.Management.ManagementClass]::new("Win32_NetworkAdapterConfiguration").GetInstances()
$Interfaces.SetDNSServerSearchOrder($dns) | Out-Null
}
If ( $WPFEssTweaksOO.IsChecked -eq $true ) {
If (!(Test-Path .\ooshutup10.cfg)) {
@ -738,7 +695,7 @@ $WPFtweaksbutton.Add_Click({
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile\Tasks\Games" -Name "Scheduling Category" -Type String -Value "High"
# Group svchost.exe processes
$ram = (Get-CimInstance -ClassName Win32_PhysicalMemory | Measure-Object -Property Capacity -Sum).Sum / 1kb
$ram = (Get-CimInstance -ClassName "Win32_PhysicalMemory" | Measure-Object -Property Capacity -Sum).Sum / 1kb
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control" -Name "SvcHostSplitThresholdInKB" -Type DWord -Value $ram -Force
Write-Host "Disable News and Interests"
@ -767,8 +724,9 @@ $WPFtweaksbutton.Add_Click({
Write-Host "Stopping and disabling Diagnostics Tracking Service..."
Stop-Service "DiagTrack"
Set-Service "DiagTrack" -StartupType Disabled
Write-Host "Doing Security checks for Administrator Account and Group Policy"
if (($(Get-WMIObject -class Win32_ComputerSystem | Select-Object username).username).IndexOf('Administrator') -eq -1) {
if (([System.Security.Principal.WindowsIdentity]::GetCurrent().Name).IndexOf('Administrator') -eq -1) {
net user administrator /active:no
}
@ -1067,23 +1025,34 @@ $WPFRemoveUltPerf.Add_Click({
}
)
$WPFEnableDarkMode.Add_Click({
Write-Host "Enabling Dark Mode"
function Get-AppsUseLightTheme{
return (Get-ItemProperty -path 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize').AppsUseLightTheme
}
function Get-SystemUsesLightTheme{
return (Get-ItemProperty -path 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize').SystemUsesLightTheme
}
$WPFToggleDarkMode.IsChecked = $(If ($(Get-AppsUseLightTheme) -eq 0 -And $(Get-SystemUsesLightTheme) -eq 0) {$true} Else {$false})
$WPFToggleDarkMode.Add_Click({
$EnableDarkMode = $WPFToggleDarkMode.IsChecked
$DarkMoveValue = $(If ( $EnableDarkMode ) {0} Else {1})
Write-Host $(If ( $EnableDarkMode ) {"Enabling Dark Mode"} Else {"Disabling Dark Mode"})
$Theme = "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize"
Set-ItemProperty $Theme AppsUseLightTheme -Value 0
Set-ItemProperty $Theme SystemUsesLightTheme -Value 0
Write-Host "Enabled"
If ($DarkMoveValue -ne $(Get-AppsUseLightTheme))
{
Set-ItemProperty $Theme AppsUseLightTheme -Value $DarkMoveValue
}
If ($DarkMoveValue -ne $(Get-SystemUsesLightTheme))
{
Set-ItemProperty $Theme SystemUsesLightTheme -Value $DarkMoveValue
}
Write-Host $(If ( $EnableDarkMode ) {"Enabled"} Else {"Disabled"})
}
)
$WPFDisableDarkMode.Add_Click({
Write-Host "Disabling Dark Mode"
$Theme = "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize"
Set-ItemProperty $Theme AppsUseLightTheme -Value 1
Set-ItemProperty $Theme SystemUsesLightTheme -Value 1
Write-Host "Disabled"
}
)
#===========================================================================
# Undo All
#===========================================================================
@ -1440,7 +1409,7 @@ $WPFFixesUpdate.Add_Click({
Get-BitsTransfer | Remove-BitsTransfer
Write-Host "10) Attempting to install the Windows Update Agent..."
If (!((wmic OS get OSArchitecture | Out-String).IndexOf("64") -eq -1)) {
If ([System.Environment]::Is64BitOperatingSystem) {
wusa Windows8-RT-KB2937636-x64 /quiet
}
else {
@ -1538,3 +1507,4 @@ $WPFUpdatessecurity.Add_Click({
#===========================================================================
Get-FormVariables
$Form.ShowDialog() | out-null
Stop-Transcript