PowerShell/docs/check-admin.md

71 lines
1.6 KiB
Markdown
Raw Normal View History

2023-10-19 08:12:00 +02:00
*check-admin.ps1*
================
This PowerShell script checks if the user has administrator rights.
Parameters
----------
```powershell
PS> ./check-admin.ps1 [<CommonParameters>]
[<CommonParameters>]
This script supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction,
WarningVariable, OutBuffer, PipelineVariable, and OutVariable.
```
Example
-------
```powershell
PS> ./check-admin.ps1
✅ Yes
```
Notes
-----
Author: Markus Fleschutz | License: CC0
Related Links
-------------
https://github.com/fleschutz/PowerShell
Script Content
--------------
```powershell
<#
.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
}
```
2024-01-25 13:31:10 +01:00
*(generated by convert-ps2md.ps1 using the comment-based help of check-admin.ps1 as of 01/25/2024 13:28:32)*