Вы можете получить эту информацию из журнала событий:
Get-EventLog System -Source Microsoft-Windows-Winlogon
У входов в систему InstanceId 7001, у выходов из системы 7002. Учетной записью пользователя является SID в ReplacementStrings.
Вот еще несколько полезных кодов для вас.
$UserProperty = @{n="User";e={(New-Object System.Security.Principal.SecurityIdentifier $_.ReplacementStrings[1]).Translate([System.Security.Principal.NTAccount])}}
$TypeProperty = @{n="Action";e={if($_.EventID -eq 7001) {"Logon"} else {"Logoff"}}}
$TimeProeprty = @{n="Time";e={$_.TimeGenerated}}
Get-EventLog System -Source Microsoft-Windows-Winlogon | select $UserProperty,$TypeProperty,$TimeProeprty
Вы также можете получить эти события с удаленного компьютера, добавив параметр «-ComputerName» в Get-EventLog.