Home > PowerShell > PowerShell: Script to get local loggedon user information

PowerShell: Script to get local loggedon user information

Querying the user lists who interactively logged on to a computer. I want to do this from very long time using powershell so that I can use it in my other powershell scripts. Earlier I tried to do it via WMI but I was not very successful. After struggling for some time, I finally made a code which works for most windows platforms from which you can query interactively logged on users information.

This script is a wrapper which depends on most famous psloggedon utility. It parses the output of the psloggedon util and prepares a object with domain and user information.

function Get-LoggedOnUsers {            

[cmdletbinding()]
param(            

[parameter(valuefrompipelinebypropertyname=$true)]
[string]$ComputerName = $env:computername            

)            

begin {}
process {            

[object[]]$sessions = Invoke-Expression "PsLoggedon.exe -x -l \$ComputerName 2> null" |
        Where-Object {$_ -match '^s{2,}((?w+)\(?S+))'} |
        Select-Object @{
            Name='Computer'
            Expression={$ComputerName}
        },
        @{
            Name='Domain'
            Expression={$matches.Domain}
        },
        @{
            Name='User'
            Expression={$Matches.User}
        }             

    IF ($Sessions.count -ge 1)
    {
        return $sessions
    }
    Else
    {
        'No user logins found'
    }             

}
end {}
}

 I found this code originally at Scripting Guys blog. I had to make few modifications to make it parse the output properly and exclude the psloggedon util logo information.

Categories: PowerShell Tags:
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>