diff --git a/Scripts/check-admin.ps1 b/Scripts/check-admin.ps1 new file mode 100644 index 00000000..15c5a8fb --- /dev/null +++ b/Scripts/check-admin.ps1 @@ -0,0 +1,33 @@ +<# +.SYNOPSIS + Check for admin rights +.DESCRIPTION + This PowerShell script checks if the user has administrator rights. +.EXAMPLE + PS> ./check-admin.ps1 + ✅ Yes +.LINK + https://github.com/fleschutz/PowerShell +.NOTES + Author: Markus Fleschutz | License: CC0 +#> + +try { + if ($IsLinux) { + # todo + } else { + $user = [Security.Principal.WindowsIdentity]::GetCurrent() + $principal = (New-Object Security.Principal.WindowsPrincipal $user) + if ($principal.IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)) { + "✅ Yes" + } elseif ($principal.IsInRole([Security.Principal.WindowsBuiltinRole]::Guest)) { + "⚠️ No, guest rights only" + } else { + "⚠️ No, normal user rights only" + } + } + exit 0 # success +} catch { + "⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])" + exit 1 +}