Simplified Admin Check and Added Code Comments (#1938)

- Simplified the admin check by filtering the "WindowsIdentity" class for owner value and comparing against admin value
- Removed the need for an if admin check by moving its commands under the if not admin check.
- Added code comments
This commit is contained in:
Hayden Plumley 2024-05-11 13:48:18 -07:00 committed by GitHub
parent 794d390a7f
commit eec184ee81
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -44,21 +44,16 @@ $sync.version = "#{replaceme}"
$sync.configs = @{}
$sync.ProcessRunning = $false
$currentPid = [System.Security.Principal.WindowsIdentity]::GetCurrent()
$principal = new-object System.Security.Principal.WindowsPrincipal($currentPid)
$adminRole=[System.Security.Principal.WindowsBuiltInRole]::Administrator
if ($principal.IsInRole($adminRole))
{
$Host.UI.RawUI.WindowTitle = $myInvocation.MyCommand.Definition + "(Admin)"
clear-host
}
else
# If script isn't running as admin, show error message and quit
If (([Security.Principal.WindowsIdentity]::GetCurrent()).Owner.Value -ne "S-1-5-32-544")
{
Write-Host "===========================================" -Foregroundcolor Red
Write-Host "-- Scripts must be run as Administrator ---" -Foregroundcolor Red
Write-Host "-- Right-Click Start -> Terminal(Admin) ---" -Foregroundcolor Red
Write-Host "===========================================" -Foregroundcolor Red
break
}
}
# Set PowerShell window title
$Host.UI.RawUI.WindowTitle = $myInvocation.MyCommand.Definition + "(Admin)"
clear-host