diff --git a/scripts/start.ps1 b/scripts/start.ps1 index 9745e400..791427c7 100644 --- a/scripts/start.ps1 +++ b/scripts/start.ps1 @@ -17,3 +17,10 @@ $sync.PSScriptRoot = $PSScriptRoot $sync.version = "#{replaceme}" $sync.configs = @{} $sync.ProcessRunning = $false + + +if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) { + Write-Output "Winutil needs to be ran as Administrator. Attempting to relaunch." + Start-Process -Verb runas -FilePath powershell.exe -ArgumentList "iwr -useb https://christitus.com/win | iex" + break +} diff --git a/winutil.ps1 b/winutil.ps1 index 294f279e..f9c8794b 100644 --- a/winutil.ps1 +++ b/winutil.ps1 @@ -10,7 +10,7 @@ Author : Chris Titus @christitustech Runspace Author: @DeveloperDurp GitHub : https://github.com/ChrisTitusTech - Version : 23.05.27 + Version : 23.06.02 #> Start-Transcript $ENV:TEMP\Winutil.log -Append @@ -21,9 +21,16 @@ Add-Type -AssemblyName System.Windows.Forms # variable to sync between runspaces $sync = [Hashtable]::Synchronized(@{}) $sync.PSScriptRoot = $PSScriptRoot -$sync.version = "23.05.27" +$sync.version = "23.06.02" $sync.configs = @{} $sync.ProcessRunning = $false + + +if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) { + Write-Output "Winutil needs to be ran as Administrator. Attempting to relaunch." + Start-Process -Verb runas -FilePath powershell.exe -ArgumentList "iwr -useb https://christitus.com/win | iex" + break +} Function Get-WinUtilCheckBoxes { <#