Group processes by user with WMI
Get-CimInstance -ClassName Win32_Account | ForEach-Object {
$AccountName = $_.Name
$AssociatedProcesses = Get-CimAssociatedInstance -InputObject $_ -Association Win32_LoggedOnUser | Get-CimAssociatedInstance -Association Win32_SessionProcess
# don't list users that don't have associated processes
if ($AssociatedProcesses) {
[PSCustomObject] @{ Account = $AccountName; Processes = $AssociatedProcesses }
}
}Last updated