Functions/GenXdev.Windows/Get-ActiveUsers.ps1
################################################################################ <# .SYNOPSIS Gets a list of unique usernames for currently active processes. .DESCRIPTION Retrieves all processes with their associated usernames and returns a unique list of users who have active processes running on the system. .EXAMPLE Get-ActiveUsers .EXAMPLE gusers #> function Get-ActiveUsers { [CmdletBinding()] [Alias("gusers")] param() begin { Write-Verbose "Retrieving all processes with username information..." } process { # get all processes with their usernames $processes = Get-Process * -IncludeUserName # extract unique usernames from the processes $users = $processes | ForEach-Object UserName | Select-Object -Unique # output the unique usernames $users } end { Write-Verbose "Found $($users.Count) unique active users." } } ################################################################################ |