Function Get-vSphereLogins {
    <#
    .SYNOPSIS Retrieve information for all currently logged in vSphere Sessions (excluding current session)
    .NOTES  Author:  William Lam
    .NOTES  Site:    www.virtuallyghetto.com
    .REFERENCE Blog: http://www.virtuallyghetto.com/2016/11/an-update-on-how-to-retrieve-useful-information-from-a-vsphere-login.html 
    .EXAMPLE
      Get-vSphereLogins
    #>
    if($DefaultVIServers -eq $null) {
        Write-Host "Error: Please connect to your vSphere environment"
        exit
    }

    # Using the first connection
    $VCConnection = $DefaultVIServers[0]

    $sessionManager = Get-View ($VCConnection.ExtensionData.Content.SessionManager)

    # Store current session key
    $currentSessionKey = $sessionManager.CurrentSession.Key

    foreach ($session in $sessionManager.SessionList) {
        # Ignore vpxd-extension logins as well as the current session
        if($session.UserName -notmatch "vpxd-extension" -and $session.key -ne $currentSessionKey) {
            $session | Select Username, IpAddress, UserAgent, @{"Name"="APICount";Expression={$Session.CallCount}}, LoginTime
        }
    }
}
