Public/Common/Test-Administrator.ps1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
function Test-Administrator { [CmdletBinding()] param () begin {} process { switch -regex ($global:OS) { 'Windows' { $currentPrincipal = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent()) $Return = $currentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) Return $Return } 'Linux|macOS' { $UID = & id -u if ($UID -eq 0) { Return $true } else { Return $false } } Default { throw "Cannot test administrator on $global:OS" } } } end {} } |