PowerShell/scripts/check-admin.ps1

34 lines
992 B
PowerShell
Raw Normal View History

2024-10-01 13:37:53 +02:00
<#
2023-10-09 13:59:21 +02:00
.SYNOPSIS
Check for admin rights
.DESCRIPTION
This PowerShell script checks if the user has administrator rights.
.EXAMPLE
PS> ./check-admin.ps1
2024-06-25 15:31:07 +02:00
Yes, Markus has admin rights.
2023-10-09 13:59:21 +02:00
.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)) {
2024-06-25 15:31:07 +02:00
"✅ Yes, $USERNAME has admin rights."
2023-10-09 13:59:21 +02:00
} elseif ($principal.IsInRole([Security.Principal.WindowsBuiltinRole]::Guest)) {
2024-06-25 15:31:07 +02:00
"⚠️ No, $USERNAME, has guest rights only."
2023-10-09 13:59:21 +02:00
} else {
2024-06-25 15:31:07 +02:00
"⚠️ No, $USERNAME has normal user rights only."
2023-10-09 13:59:21 +02:00
}
}
2024-06-25 15:31:07 +02:00
exit 0 # success
2023-10-09 13:59:21 +02:00
} catch {
2024-06-25 15:31:07 +02:00
"⚠️ Error: $($Error[0]) (in script line $($_.InvocationInfo.ScriptLineNumber))"
exit 1
2023-10-09 13:59:21 +02:00
}