public/Test-UserIsAdministrator.ps1
$gzCurrentUserIsAdministrator = $null function Test-UserIsAdministrator() { [CmdletBinding()] Param( [Switch] $Force ) PROCESS { if($null -ne $gzCurrentUserIsAdministrator -and !($Force.ToBool())) { return $gzCurrentUserIsAdministrator } $platform = Get-OsPlatform switch($platform) { {$PSItem.StartsWith("Win")} { $gzCurrentUserIsAdministrator = Test-WinUserIsInRole -BuiltInRole "Administrator" } {$PSItem -eq "MacOSX" -or $PSItem -eq "Unix"} { $gzCurrentUserIsAdministrator = Test-UnixUserIsInRole -Group "Root" } Default { $plat = [Environment]::OsVersion.Platform Write-Warning "$plat Not Supported" $gzCurrentUserIsAdministrator = $false } } return $gzCurrentUserIsAdministrator } } |