Functions/Test-IsAdmin.ps1

function Test-IsAdmin {
<#
.SYNOPSIS
    Determines if you are running elevated (as Administrator)
.DESCRIPTION
    Determines if you are running elevated (as Administrator)
.EXAMPLE
    Test-IsAdmin
 
    Would return the following if the prompt was elevated.
    $True
.EXAMPLE
    Test-IsAdmin -Verbose
 
    Would return the following if the prompt was elevated.
    VERBOSE: You have Administrator rights.
    True
.NOTES
    #source https://blogs.technet.microsoft.com/heyscriptingguy/2015/07/29/use-function-to-determine-elevation-of-powershell-console/
    # inspired by above, made some minor modifications like proving more output, making it an advanced function.
#>


    #region Parameter
    [CmdletBinding(ConfirmImpact = 'None')]
    [OutputType('bool')]
    Param()
    #endregion Parameter

    begin {
        Write-Verbose -Message "Starting [$($MyInvocation.Mycommand)]"
    }

    process {
        if ( -not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] 'Administrator')) {
            Write-Verbose -Message "You do not have Administrator rights to run this script!`nPlease re-run this script as an Administrator!"
            Write-Output -InputObject $False
        } else {
            Write-Verbose -Message 'You have Administrator rights.'
            Write-Output -InputObject $True
        }
    }

    end {
        Write-Verbose -Message "Ending [$($MyInvocation.Mycommand)]"
    }
}